From 4222441ccd71fee689c659a3264cef99b1809548 Mon Sep 17 00:00:00 2001 From: Kimo Knowles Date: Fri, 23 Jun 2023 16:16:49 +0200 Subject: [PATCH 01/10] Port dominoes-live from klipse to SCI --- .gitignore | 1 + docs/clojurescript.md | 2 +- docs/dominoes-live.md | 116 +- docs/src/re_frame/docs.cljs | 98 + docs/src/sci/configs/re_frame/re_frame.cljs | 21 + docs/src/sci/configs/reagent/reagent.cljs | 148 ++ docs/theme/main.html | 8 +- package-lock.json | 2349 ++++++++++++------- package.json | 8 +- project.clj | 13 +- 10 files changed, 1856 insertions(+), 908 deletions(-) create mode 100644 docs/src/re_frame/docs.cljs create mode 100644 docs/src/sci/configs/re_frame/re_frame.cljs create mode 100644 docs/src/sci/configs/reagent/reagent.cljs diff --git a/.gitignore b/.gitignore index 4542c4a1e..47fea4a80 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ compiled/ misc/ /examples/todomvc/resources/public/js/ /examples/simple/resources/public/js/ +/docs/js .floo .flooignore node_modules/ diff --git a/docs/clojurescript.md b/docs/clojurescript.md index f6ab17115..99a000870 100644 --- a/docs/clojurescript.md +++ b/docs/clojurescript.md @@ -276,7 +276,7 @@ More: Evaluate these experiments yourself (any surprises?): - - `#!clj (inc (dec 1))` + -
(inc (dec 1))
- `#!clj (odd? (inc (dec 1)))` - `#!clj (= (inc (dec 1)) 1)` diff --git a/docs/dominoes-live.md b/docs/dominoes-live.md index fbc2f1ac2..bba0294ad 100644 --- a/docs/dominoes-live.md +++ b/docs/dominoes-live.md @@ -1,8 +1,3 @@ ---- -klipse: true ---- - - Forget overviews from 60,000 feet or 30,000 feet. Now we're at 0 feet. We're writing code for a real app - live, in this document. @@ -21,10 +16,10 @@ We'll look at all 70 lines. !!! Info "" Below, you should see the app running live.
Try changing the display colour to `magenta`, `#f00` or `#02a6f2`. - +
- The live application should start here in 60 seconds ... + The live application should start here ...

Doesn't work? Maybe try disabling your adblocker for this site. @@ -33,21 +28,17 @@ We'll look at all 70 lines.
!!! Info "" - When you change the live code on this page, the app will change. But that means - we'll be loading a ClojureScript compiler into the browser, so be patient.
- This live coding is powered by [Klipse](https://github.com/viebel/klipse). + When you change the live code on this page, the app will change. + This live coding is powered by [SCI](https://github.com/borkdude/sci). ## The Namespace Within our single namespace (of 70 lines), we'll need access to both `reagent` and `re-frame`. So, at the top we need this: - -(ns simple.core - (:require [reagent.core :as reagent] - [reagent.dom :as rdom] - [re-frame.core :as rf])) - +
(require '[reagent.core :as reagent]
+         '[reagent.dom :as rdom]
+         '[re-frame.core :as rf])
!!! Note "Live Code Fragment" Above, you'll see two vertically stacked boxes. The top one contains the live code. You can edit that code, if you want. @@ -97,12 +88,10 @@ To send an event, call `dispatch` with the event vector as the argument. ``` For our simple app, we do this ... - -(defn dispatch-timer-event ;; <-- defining a function +
(defn dispatch-timer-event        ;; <-- defining a function
   []                              ;; <-- no args
   (let [now (js/Date.)]           ;; <-- obtain the current time
-    (rf/dispatch [:timer now])))  ;; <-- dispatch an event
-
+    (rf/dispatch [:timer now])))  ;; <-- dispatch an event
Notes: @@ -110,9 +99,7 @@ Notes: - current time is obtained with `(js/Date.)` which is like `new Date()` in javascript - uses `rf/dispatch` - the re-frame API is aliased as `rf` in the namespace declaration above - -(defonce do-timer (js/setInterval dispatch-timer-event 1000)) - +
(defonce do-timer (js/setInterval dispatch-timer-event 1000))
Notes: @@ -201,12 +188,10 @@ the application, which means they return a modified version of `db`. ### :timer - -(rf/reg-event-db +
(rf/reg-event-db                 
   :timer
   (fn [db [_ new-time]]          ;; notice how we destructure the event vector
-    (assoc db :time new-time)))  ;; compute and return the new application state
-
+    (assoc db :time new-time)))  ;; compute and return the new application state
Notes: @@ -230,14 +215,12 @@ This event handler is slightly unusual because it ignores both of its arguments. There's nothing in the `event` vector which it needs. Nor is the existing value in `db`. It just wants to plonk a completely new value into `app-db` - -(rf/reg-event-db ;; sets up initial application state +
(rf/reg-event-db              ;; sets up initial application state
   :initialize
   (fn [ _ _ ]                 ;; arguments not important, so use _
     {:time (js/Date.)         ;; returned value put into app-db 
      :time-color "orange"}))  ;; so the app state will be a map with two keys
-nil
-
+nil
For comparison, here's how we could have written this if we **did** care about the existing value in `db`: @@ -255,13 +238,11 @@ For comparison, here's how we could have written this if we **did** care about t When the user enters a new colour value (into the input field) the view will `(dispatch [:time-color-change new-colour])` (more on this below). - -(rf/reg-event-db +
(rf/reg-event-db
   :time-color-change            
   (fn [db [_ new-color-value]]
     (assoc db :time-color new-color-value)))   ;; compute and return the new application state
-nil
-
+nil
Notes: @@ -329,19 +310,15 @@ Along this reactive chain of dependencies, re-frame will ensure the necessary calls are made, at the right time. Here's the code for defining our 2 subscription handlers: - -(rf/reg-sub +
(rf/reg-sub
   :time
   (fn [db _]     ;; db is current app state. 2nd unused param is query vector
-    (:time db))) ;; return a query computation over the application state
-
+    (:time db))) ;; return a query computation over the application state
- -(rf/reg-sub +
(rf/reg-sub
   :time-color
   (fn [db _]
-    (:time-color db)))
-
+    (:time-color db)))
Both of these queries are trivial. They are known as "accessor", or layer 2, subscriptions. More on that soon. @@ -382,35 +359,30 @@ which would return a `ratom` holding the customer state (a value which might cha ## The View Functions This view function renders the clock: - -(defn clock +
(defn clock
   []
   (let [colour @(rf/subscribe [:time-color])
-        time   (-> @(rf/subscribe [:time])
+        time   (some-> @(rf/subscribe [:time])
                     .toTimeString
                     (clojure.string/split " ")
                     first)]
-  [:div.example-clock {:style {:color colour}} time]))
-
+  [:div.example-clock {:style {:color colour}} time]))
As you can see, it uses `subscribe` twice to obtain two pieces of data from `app-db`. If either value changes, reagent will automatically re-run this view function, computing new hiccup, which means new DOM. -Using the power of `klipse`, we can render just the `clock` component: - -[clock] - +Using the power of `sci`, we can render just the `clock` component: + +
(rdom/render [clock] (js/document.getElementById "clock"))
+
When an event handler changes a value in `app-db`, `clock` will rerender. Try it. Uncomment the following `dispatch` to change the colour. - -(comment (rf/dispatch [:time-color-change "green"])) - +
(comment (rf/dispatch  [:time-color-change "green"]))
And this view function renders the input field: - -(defn color-input +
(defn color-input
   []
   (let [gettext (fn [e] (-> e .-target .-value))
         emit    (fn [e] (rf/dispatch [:time-color-change (gettext e)]))]
@@ -419,8 +391,7 @@ And this view function renders the input field:
       [:input {:type "text"
                :style {:border "1px solid #CCC" }
                :value @(rf/subscribe [:time-color])        ;; subscribe
-               :on-change emit}]]))              ;; <---
-
+               :on-change emit}]]))              ;; <---
Notice how it does BOTH a `subscribe` to obtain the current value AND a `dispatch` to say when it has changed (look for `emit`). @@ -431,20 +402,17 @@ The user's interaction with the UI is usually a large source of events. Notice also how we use `@` in front of `subscribe` to obtain the value out of the subscription. It is almost as if the subscription is an atom holding a value (which can change over time). We can render the `color-input` as any other reagent component: - -[color-input] - +
(rdom/render [color-input] (js/document.getElementById "color-input"))
+
And then there's a parent `view` to arrange the others. It contains no subscriptions or dispatching of its own: - -(defn ui +
(defn ui
   []
   [:div
    [:h1 "The time is now:"]
    [clock]
-   [color-input]])
-
+   [color-input]])
!!! Note "" `view` functions form a hierarchy, often with @@ -468,16 +436,14 @@ It has two tasks: `view` - in our case, `ui` - onto an existing DOM element (with id `app`). - -(defn mount-ui +
(defn mount-ui
   []
   (rdom/render [ui]                 ;; mount the application's ui
                   (js/document.getElementById "dominoes-live-app")))
 (defn run
   []
   (rf/dispatch-sync [:initialize])     ;; puts a value into application state
-  (mount-ui))
-
+  (mount-ui))
When it comes to establishing initial application state, you'll notice the use of `dispatch-sync`, rather than `dispatch`. This is a simplifying cheat @@ -487,9 +453,7 @@ structure exists in `app-db` before any subscriptions or event handlers run. After `run` is called, the app passively waits for `events`. Nothing happens without an `event`. - -(run) - +
(run)
The run function renders the app in the DOM element whose id is `dominoes-live-app`: this DOM element is located at the top of the page. This is the element we used to show how the app looks at the top of this page @@ -497,9 +461,9 @@ This is the element we used to show how the app looks at the top of this page To save you the trouble of scrolling up to the top of the page, I decided to render the whole app as a reagent element, just here: - -[ui] - +
(rdom/render [ui]
+             (js/document.getElementById "dominoes-live-app-2"))
+
## T-Shirt Unlocked diff --git a/docs/src/re_frame/docs.cljs b/docs/src/re_frame/docs.cljs new file mode 100644 index 000000000..a73b3a971 --- /dev/null +++ b/docs/src/re_frame/docs.cljs @@ -0,0 +1,98 @@ +(ns re-frame.docs + (:require + ["@codemirror/state" :as cs] + ["@codemirror/view" :as cv] + ["@nextjournal/lang-clojure" :as lc] + ["codemirror" :as cm] + [clojure.string :as str] + [clojure.pprint :as pp] + [promesa.core :as p] + [reagent.dom :as rdom] + [re-frame.core] + [re-frame.db] + [sci.core :as sci] + [sci.configs.reagent.reagent :as sci.reagent] + [sci.configs.re-frame.re-frame :as sci.re-frame] + [sci.ctx-store :as ctx-store])) + +;; https://github.com/borkdude/cljs-showcase/tree/main + +(def rdns (sci/create-ns 'reagent.dom nil)) + +(def reagent-dom-namespace + {'render (sci/copy-var rdom/render rdns)}) + +(defn cm-string [cm-instance] + (-> cm-instance .-state .-doc .toString)) + +(let [ctx (sci/init {:namespaces {'re-frame.core sci.re-frame/re-frame-namespace + 're-frame.db sci.re-frame/re-frame-db-namespace + 'reagent.core sci.reagent/reagent-namespace + 'reagent.dom reagent-dom-namespace} + :classes {'js js/globalThis + :allow :all + 'Math js/Math} + :ns-aliases {'clojure.pprint 'cljs.pprint}})] + (ctx-store/reset-ctx! ctx)) + +(defn eval-codemirror [cm-instance] + (try + (let [code-str (cm-string cm-instance) + v (sci/eval-string* (ctx-store/get-ctx) code-str)] + (if (instance? js/Promise v) + (-> v + (.then + (fn [v] + [:success-promise v])) + (.catch + (fn [err] + [:error-promise err]))) + [:success v])) + (catch :default err + [:error err]))) + +(defonce init-instances + (let [elts (js/document.querySelectorAll ".cljs-showcase")] + (doseq [^js elt elts] + (let [_ (js/console.log (.. elt -dataset)) + no-editable? (.. elt -dataset -cljsShowcaseNoEditable) + no-eval? (.. elt -dataset -cljsShowcaseNoEval) + eval? (not no-eval?) + doc (.-innerText elt) + _ (set! (.-innerText elt) "") + cm-ref (atom nil) + res (js/document.createElement "pre") + eval-me (fn [] + (when eval? + (p/let [[op v] (eval-codemirror @cm-ref)] + (binding [*print-length* 20] + (case op + (:success :success-promise) + (set! (.-innerText res) + (str (when (= :success-promise op) + "Promise resolved to:\n") + (with-out-str (pp/pprint v)))) + (:error :error-promise) + (set! (.-innerText res) + (str/join "\n" (cons (.-message v) + (sci/format-stacktrace (sci/stacktrace v)))))))))) + ext (.of cv/keymap + (clj->js [{:key "Mod-Enter" + :run eval-me}])) + state (cs/EditorState.create #js {:doc doc + :extensions #js [cm/basicSetup, (lc/clojure), (.highest cs/Prec ext), + (cs/EditorState.readOnly.of no-editable?)]}) + cm (cm/EditorView. #js {:state state :parent elt})] + (when eval? + (let [btn (js/document.createElement "button") + _ (set! (.-style btn) "float: right") + _ (set! btn -innerText "Eval") + _ (.addEventListener elt "click" eval-me)] + (.appendChild elt btn))) + (.appendChild elt res) + (reset! cm-ref cm) + (when eval? (eval-me)))))) + +(sci/alter-var-root sci/print-fn (constantly *print-fn*)) +(sci/alter-var-root sci/print-err-fn (constantly *print-err-fn*)) +(sci/enable-unrestricted-access!) diff --git a/docs/src/sci/configs/re_frame/re_frame.cljs b/docs/src/sci/configs/re_frame/re_frame.cljs new file mode 100644 index 000000000..5746126a0 --- /dev/null +++ b/docs/src/sci/configs/re_frame/re_frame.cljs @@ -0,0 +1,21 @@ +(ns sci.configs.re-frame.re-frame + (:require + [re-frame.core] + [re-frame.db] + [sci.core :as sci])) + +(def rfns (sci/create-ns 're-frame.core nil)) +(def rfdbns (sci/create-ns 're-frame.db nil)) + +(def re-frame-namespace + (sci/copy-ns re-frame.core rfns)) + +(def re-frame-db-namespace + (sci/copy-ns re-frame.db rfdbns)) + +(def namespaces + {'re-frame.core re-frame-namespace + 're-frame.db re-frame-db-namespace}) + +(def config + {:namespaces namespaces}) diff --git a/docs/src/sci/configs/reagent/reagent.cljs b/docs/src/sci/configs/reagent/reagent.cljs new file mode 100644 index 000000000..35c1315a6 --- /dev/null +++ b/docs/src/sci/configs/reagent/reagent.cljs @@ -0,0 +1,148 @@ +(ns sci.configs.reagent.reagent + (:require + [reagent.core :as r] + [reagent.debug :as d :refer-macros [dev?]] + [reagent.ratom :as ratom] + [sci.core :as sci])) + +;; The with-let macro from reagent.core. The only change is that the +;; interop/unchecked-aget+set were replaced by aget and aset. +(defn ^:macro with-let [_ _ bindings & body] + (assert (vector? bindings) + (str "with-let bindings must be a vector, not " + (pr-str bindings))) + (let [v (gensym "with-let") + k (keyword v) + init (gensym "init") + ;; V is a reaction, which holds a JS array. + ;; If the array is empty, initialize values and store to the + ;; array, using binding index % 2 to access the array. + ;; After init, the bindings are just bound to the values in the array. + bs (into [init `(zero? (alength ~v))] + (map-indexed (fn [i x] + (if (even? i) + x + (let [j (quot i 2)] + ;; Issue 525 + ;; If binding value is not yet set, + ;; try setting it again. This should + ;; also throw errors for each render + ;; and prevent the body being called + ;; if bindings throw errors. + `(if (or ~init + (not (.hasOwnProperty ~v ~j))) + (aset ~v ~j ~x) + (aget ~v ~j))))) + bindings)) + [forms destroy] (let [fin (last body)] + (if (and (seq? fin) + (= 'finally (first fin))) + [(butlast body) `(fn [] ~@(rest fin))] + [body nil])) + add-destroy (when destroy + (list + `(let [destroy# ~destroy] + (if (reagent.ratom/reactive?) + (when (nil? (reagent.ratom/-destroy ~v)) + (reagent.ratom/-destroy! ~v destroy#)) + (destroy#))))) + asserting (dev?) #_(if *assert* true false) + res (gensym "res")] + `(let [~v (reagent.ratom/with-let-values ~k)] + ~(when asserting + `(when-some [c# (reagent.ratom/-ratom-context)] + (when (== (reagent.ratom/-generation ~v) (reagent.ratom/-ratom-generation c#)) + (d/error "Warning: The same with-let is being used more " + "than once in the same reactive context.")) + (reagent.ratom/-set-ratom-generation! ~v c#))) + (let ~(into bs [res `(do ~@forms)]) + ~@add-destroy + ~res)))) + +(def rns (sci/create-ns 'reagent.core nil)) + +(def reagent-namespace + {'atom (sci/copy-var r/atom rns) + 'create-element (sci/copy-var r/create-element rns) + 'as-element (sci/copy-var r/as-element rns) + 'with-let (sci/copy-var with-let rns) + 'class-names (sci/copy-var r/class-names rns) + 'cursor (sci/copy-var r/cursor rns) + 'create-class (sci/copy-var r/create-class rns) + 'create-compiler (sci/copy-var r/create-compiler rns) + 'reactify-component (sci/copy-var r/reactify-component rns) + 'track (sci/copy-var r/track rns) + 'track! (sci/copy-var r/track! rns) + 'dispose! (sci/copy-var r/dispose! rns)}) + +(def rtmns (sci/create-ns 'reagent.ratom nil)) + +(defn -ratom-context + "Read-only access to the ratom context." + [] + ratom/*ratom-context*) + +(defn -generation + [x] + (.-generation x)) + +(defn -ratom-generation + [x] + (.-ratomGeneration x)) + +(defn -set-ratom-generation! + [v c] + (set! (.-generation v) (.-ratomGeneration c))) + +(defn -destroy! + [v destroy] + (set! (.-destroy v) destroy)) + +(defn -destroy + [v] + (.-destroy v)) + +(def reagent-ratom-namespace + {'with-let-values (sci/copy-var ratom/with-let-values rtmns) + 'reactive? (sci/copy-var ratom/reactive? rtmns) + '-ratom-context (sci/copy-var -ratom-context rtmns) + '-generation (sci/copy-var -generation rtmns) + '-ratom-generation (sci/copy-var -ratom-generation rtmns) + '-set-ratom-generation! (sci/copy-var -set-ratom-generation! rtmns) + '-destroy! (sci/copy-var -destroy! rtmns) + '-destroy (sci/copy-var -destroy rtmns) + 'atom (sci/copy-var reagent.ratom/atom + rns) + 'make-reaction (sci/copy-var reagent.ratom/make-reaction + rns) + 'make-track (sci/copy-var reagent.ratom/make-track + rns) + 'track! (sci/copy-var reagent.ratom/track! rns)}) + +(def rdbgns (sci/create-ns 'reagent.debug nil)) + +(defn -tracking? [] + reagent.debug/tracking) + +(defn ^:macro error + "Print with console.error." + [_ _ & forms] + (when *assert* + `(when (some? js/console) + (.error (if (reagent.debug/-tracking?) + reagent.debug/track-console + js/console) + (str ~@forms))))) + +(def reagent-debug-namespace + {'error (sci/copy-var error rdbgns) + '-tracking? (sci/copy-var -tracking? rdbgns) + 'track-console (sci/copy-var d/track-console rdbgns)}) + +(def namespaces + {'reagent.core reagent-namespace + 'reagent.ratom reagent-ratom-namespace + 'reagent.debug reagent-debug-namespace}) + +(def config + {:namespaces namespaces}) diff --git a/docs/theme/main.html b/docs/theme/main.html index 63df6e917..5bc8f2335 100644 --- a/docs/theme/main.html +++ b/docs/theme/main.html @@ -25,11 +25,5 @@ not likely to change between upstream releases. --> {% block footer %} {% include "partials/footer.html" %} - {% if page and page.meta and page.meta.klipse %} - - - - - - {% endif %} + {% endblock %} diff --git a/package-lock.json b/package-lock.json index 94c4f3312..27daad0bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,210 +1,388 @@ { "name": "re-frame", + "lockfileVersion": 3, "requires": true, - "lockfileVersion": 1, - "dependencies": { - "@types/component-emitter": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", - "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==", + "packages": { + "": { + "name": "re-frame", + "dependencies": { + "@nextjournal/lang-clojure": "^1.0.0", + "codemirror": "^6.0.1", + "react": "17.0.1", + "react-dom": "17.0.1" + }, + "devDependencies": { + "karma": "6.4.1", + "karma-chrome-launcher": "3.1.1", + "karma-cljs-test": "0.1.0", + "karma-junit-reporter": "2.0.1", + "karma-phantomjs-launcher": "1.0.4", + "shadow-cljs": "2.20.7" + } + }, + "node_modules/@codemirror/autocomplete": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.8.0.tgz", + "integrity": "sha512-nTimZYnTYaZ5skAt+zlk8BD41GvjpWgtDni2K+BritA7Ed9A0aJWwo1ohTvwUEfHfhIVtcFSLEddVPkegw8C/Q==", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.6.0", + "@lezer/common": "^1.0.0" + }, + "peerDependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@codemirror/commands": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.2.4.tgz", + "integrity": "sha512-42lmDqVH0ttfilLShReLXsDfASKLXzfyC36bzwcqzox9PlHulMcsUOfHXNo2X2aFMVNUoQ7j+d4q5bnfseYoOA==", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.2.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@codemirror/language": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.8.0.tgz", + "integrity": "sha512-r1paAyWOZkfY0RaYEZj3Kul+MiQTEbDvYqf8gPGaRvNneHXCmfSaAVFjwRUPlgxS8yflMxw2CTu6uCMp8R8A2g==", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.0.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0", + "style-mod": "^4.0.0" + } + }, + "node_modules/@codemirror/lint": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.2.2.tgz", + "integrity": "sha512-kHGuynBHjqinp1Bx25D2hgH8a6Fh1m9rSmZFzBVTqPIXDIcZ6j3VI67DY8USGYpGrjrJys9R52eLxtfERGNozg==", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "crelt": "^1.0.5" + } + }, + "node_modules/@codemirror/search": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.0.tgz", + "integrity": "sha512-64/M40YeJPToKvGO6p3fijo2vwUEj4nACEAXElCaYQ50HrXSvRaK+NHEhSh73WFBGdvIdhrV+lL9PdJy2RfCYA==", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "crelt": "^1.0.5" + } + }, + "node_modules/@codemirror/state": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.2.1.tgz", + "integrity": "sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw==" + }, + "node_modules/@codemirror/view": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.13.2.tgz", + "integrity": "sha512-XA/jUuu1H+eTja49654QkrQwx2CuDMdjciHcdqyasfTVo4HRlvj87rD/Qmm4HfnhwX8234FQSSA8HxEzxihX/Q==", + "dependencies": { + "@codemirror/state": "^6.1.4", + "style-mod": "^4.0.0", + "w3c-keyname": "^2.2.4" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@lezer/common": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.3.tgz", + "integrity": "sha512-JH4wAXCgUOcCGNekQPLhVeUtIqjH0yPBs7vvUdSjyQama9618IOKFJwkv2kcqdhF0my8hQEgCTEJU0GIgnahvA==" + }, + "node_modules/@lezer/highlight": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.1.6.tgz", + "integrity": "sha512-cmSJYa2us+r3SePpRCjN5ymCqCPv+zyXmDl0ciWtVaNiORT/MxM7ZgOMQZADD0o51qOaOg24qc/zBViOIwAjJg==", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@lezer/lr": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.7.tgz", + "integrity": "sha512-ssHKb3p0MxhJXT2i7UBmgAY1BIM3Uq/D772Qutu3EVmxWIyNMU12nQ0rL3Fhu+MiFtiTzyTmd3xGwEf3ON5PSA==", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@nextjournal/lang-clojure": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@nextjournal/lang-clojure/-/lang-clojure-1.0.0.tgz", + "integrity": "sha512-gOCV71XrYD0DhwGoPMWZmZ0r92/lIHsqQu9QWdpZYYBwiChNwMO4sbVMP7eTuAqffFB2BTtCSC+1skSH9d3bNg==", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@nextjournal/lezer-clojure": "1.0.0" + } + }, + "node_modules/@nextjournal/lezer-clojure": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@nextjournal/lezer-clojure/-/lezer-clojure-1.0.0.tgz", + "integrity": "sha512-VZyuGu4zw5mkTOwQBTaGVNWmsOZAPw5ZRxu1/Knk/Xfs7EDBIogwIs5UXTYkuECX5ZQB8eOB+wKA2pc7VyqaZQ==", + "dependencies": { + "@lezer/lr": "^1.0.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", "dev": true }, - "@types/cookie": { + "node_modules/@types/cookie": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", "dev": true }, - "@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", - "dev": true + "node_modules/@types/cors": { + "version": "2.8.13", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", + "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } }, - "@types/node": { - "version": "16.11.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz", - "integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==", + "node_modules/@types/node": { + "version": "20.3.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.1.tgz", + "integrity": "sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==", "dev": true }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, - "ajv": { + "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "requires": { + "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "ansi-regex": { + "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "ansi-styles": { + "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { + "dependencies": { "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "anymatch": { + "node_modules/anymatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, - "requires": { + "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "asn1": { + "node_modules/asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, - "requires": { + "dependencies": { "safer-buffer": "~2.1.0" } }, - "asn1.js": { + "node_modules/asn1.js": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0", "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } } }, - "assert": { + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/assert": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, - "requires": { + "dependencies": { "object-assign": "^4.1.1", "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } } }, - "assert-plus": { + "node_modules/assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", "dev": true }, - "asynckit": { + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, - "aws-sign2": { + "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "aws4": { + "node_modules/aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, - "balanced-match": { + "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "base64-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz", - "integrity": "sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA==", - "dev": true - }, - "base64-js": { + "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "base64id": { + "node_modules/base64id": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true + "dev": true, + "engines": { + "node": "^4.5.0 || >= 5.9" + } }, - "bcrypt-pbkdf": { + "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, - "requires": { + "dependencies": { "tweetnacl": "^0.14.3" } }, - "binary-extensions": { + "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "bn.js": { + "node_modules/bn.js": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", "dev": true }, - "body-parser": { + "node_modules/body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "dev": true, - "requires": { + "dependencies": { "bytes": "3.1.0", "content-type": "~1.0.4", "debug": "2.6.9", @@ -215,39 +393,45 @@ "qs": "6.7.0", "raw-body": "2.4.0", "type-is": "~1.6.17" + }, + "engines": { + "node": ">= 0.8" } }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "requires": { + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "braces": { + "node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "requires": { + "dependencies": { "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "brorand": { + "node_modules/brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, - "browserify-aes": { + "node_modules/browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, - "requires": { + "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", "create-hash": "^1.1.0", @@ -256,45 +440,45 @@ "safe-buffer": "^5.0.1" } }, - "browserify-cipher": { + "node_modules/browserify-cipher": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, - "requires": { + "dependencies": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", "evp_bytestokey": "^1.0.0" } }, - "browserify-des": { + "node_modules/browserify-des": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, - "requires": { + "dependencies": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", "inherits": "^2.0.1", "safe-buffer": "^5.1.2" } }, - "browserify-rsa": { + "node_modules/browserify-rsa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, - "requires": { + "dependencies": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" } }, - "browserify-sign": { + "node_modules/browserify-sign": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, - "requires": { + "dependencies": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", "create-hash": "^1.2.0", @@ -304,256 +488,303 @@ "parse-asn1": "^5.1.5", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" - }, + } + }, + "node_modules/browserify-sign/node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, "dependencies": { - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/browserify-sign/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true + { + "type": "consulting", + "url": "https://feross.org/support" } - } + ] }, - "browserify-zlib": { + "node_modules/browserify-zlib": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, - "requires": { + "dependencies": { "pako": "~1.0.5" } }, - "buffer": { + "node_modules/buffer": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, - "requires": { + "dependencies": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", "isarray": "^1.0.0" } }, - "buffer-crc32": { + "node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "buffer-from": { + "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "buffer-xor": { + "node_modules/buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", "dev": true }, - "builtin-status-codes": { + "node_modules/builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, - "bytes": { + "node_modules/bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "caseless": { + "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, - "chokidar": { + "node_modules/chokidar": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "dev": true, - "requires": { + "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "cipher-base": { + "node_modules/cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, - "cliui": { + "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, - "requires": { + "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, - "color-convert": { + "node_modules/codemirror": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz", + "integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/commands": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/search": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" + } + }, + "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { + "dependencies": { "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "color-name": { + "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true - }, - "combined-stream": { + "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, - "requires": { + "dependencies": { "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "concat-stream": { + "node_modules/concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, - "requires": { + "engines": [ + "node >= 0.8" + ], + "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" } }, - "connect": { + "node_modules/connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, - "requires": { + "dependencies": { "debug": "2.6.9", "finalhandler": "1.1.2", "parseurl": "~1.3.3", "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" } }, - "console-browserify": { + "node_modules/console-browserify": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, - "constants-browserify": { + "node_modules/constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", "dev": true }, - "content-type": { + "node_modules/content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "dev": true + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "core-util-is": { + "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, - "cors": { + "node_modules/cors": { "version": "2.8.5", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, - "requires": { + "dependencies": { "object-assign": "^4", "vary": "^1" + }, + "engines": { + "node": ">= 0.10" } }, - "create-ecdh": { + "node_modules/create-ecdh": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } } }, - "create-hash": { + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/create-hash": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, - "requires": { + "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", "md5.js": "^1.3.4", @@ -561,12 +792,12 @@ "sha.js": "^2.4.0" } }, - "create-hmac": { + "node_modules/create-hmac": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, - "requires": { + "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", "inherits": "^2.0.1", @@ -575,12 +806,17 @@ "sha.js": "^2.4.8" } }, - "crypto-browserify": { + "node_modules/crelt": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", + "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==" + }, + "node_modules/crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, - "requires": { + "dependencies": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", "create-ecdh": "^4.0.0", @@ -592,125 +828,142 @@ "public-encrypt": "^4.0.0", "randombytes": "^2.0.0", "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" } }, - "custom-event": { + "node_modules/custom-event": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", "dev": true }, - "dashdash": { + "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, - "requires": { + "dependencies": { "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" } }, - "date-format": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", - "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==", - "dev": true + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "dev": true, + "engines": { + "node": ">=4.0" + } }, - "debug": { + "node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "requires": { + "dependencies": { "ms": "2.0.0" } }, - "delayed-stream": { + "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4.0" + } }, - "depd": { + "node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "des.js": { + "node_modules/des.js": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, - "di": { + "node_modules/di": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", "dev": true }, - "diffie-hellman": { + "node_modules/diffie-hellman": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } } }, - "dom-serialize": { + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/dom-serialize": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", "dev": true, - "requires": { + "dependencies": { "custom-event": "~1.0.0", "ent": "~2.2.0", "extend": "^3.0.0", "void-elements": "^2.0.0" } }, - "domain-browser": { + "node_modules/domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } }, - "ecc-jsbn": { + "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, - "requires": { + "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, - "ee-first": { + "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, - "elliptic": { + "node_modules/elliptic": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", "hash.js": "^1.0.0", @@ -718,40 +971,41 @@ "inherits": "^2.0.4", "minimalistic-assert": "^1.0.1", "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - } } }, - "emoji-regex": { + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/elliptic/node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "encodeurl": { + "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "engine.io": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.0.0.tgz", - "integrity": "sha512-Ui7yl3JajEIaACg8MOUwWvuuwU7jepZqX3BKs1ho7NQRuP4LhN4XIykXhp8bEy+x/DhA0LBZZXYSCkZDqrwMMg==", + "node_modules/engine.io": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.0.tgz", + "integrity": "sha512-UlfoK1iD62Hkedw2TmuHdhDsZCGaAyp+LZ/AvnImjYBeWagA3qIEETum90d6shMeFZiDuGT66zVCdx1wKYKGGg==", "dev": true, - "requires": { + "dependencies": { "@types/cookie": "^0.4.1", "@types/cors": "^2.8.12", "@types/node": ">=10.0.0", @@ -760,142 +1014,166 @@ "cookie": "~0.4.1", "cors": "~2.8.5", "debug": "~4.3.1", - "engine.io-parser": "~5.0.0", - "ws": "~8.2.3" + "engine.io-parser": "~5.1.0", + "ws": "~8.11.0" }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "engines": { + "node": ">=10.0.0" } }, - "engine.io-parser": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.1.tgz", - "integrity": "sha512-j4p3WwJrG2k92VISM0op7wiq60vO92MlF3CRGxhKHy9ywG1/Dkc72g0dXeDQ+//hrcDn8gqQzoEkdO9FN0d9AA==", + "node_modules/engine.io-parser": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.1.0.tgz", + "integrity": "sha512-enySgNiK5tyZFynt3z7iqBR+Bto9EVVVvDFuTT0ioHCGbzirZVGDGiQjZzEp8hWl6hd5FSVytJGuScX1C1C35w==", "dev": true, - "requires": { - "base64-arraybuffer": "~1.0.1" + "engines": { + "node": ">=10.0.0" } }, - "ent": { + "node_modules/engine.io/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/ent": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", "dev": true }, - "es6-promise": { + "node_modules/es6-promise": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", "dev": true }, - "escalade": { + "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "escape-html": { + "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "dev": true }, - "eventemitter3": { + "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true }, - "events": { + "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.8.x" + } }, - "evp_bytestokey": { + "node_modules/evp_bytestokey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, - "requires": { + "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" } }, - "extend": { + "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, - "extract-zip": { + "node_modules/extract-zip": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", "dev": true, - "requires": { + "dependencies": { "concat-stream": "^1.6.2", "debug": "^2.6.9", "mkdirp": "^0.5.4", "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" } }, - "extsprintf": { + "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "dev": true, + "engines": [ + "node >=0.6.0" + ] }, - "fast-deep-equal": { + "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "fast-json-stable-stringify": { + "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, - "fd-slicer": { + "node_modules/fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "dev": true, - "requires": { + "dependencies": { "pend": "~1.2.0" } }, - "fill-range": { + "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "requires": { + "dependencies": { "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "finalhandler": { + "node_modules/finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, - "requires": { + "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -903,392 +1181,519 @@ "parseurl": "~1.3.3", "statuses": "~1.5.0", "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, - "follow-redirects": { + "node_modules/follow-redirects": { "version": "1.14.5", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz", "integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==", - "dev": true + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } }, - "forever-agent": { + "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "form-data": { + "node_modules/form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, - "requires": { + "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" } }, - "fs-extra": { + "node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, - "requires": { + "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fsevents": { + "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, - "optional": true + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } }, - "get-caller-file": { + "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } }, - "getpass": { + "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, - "requires": { + "dependencies": { "assert-plus": "^1.0.0" } }, - "glob": { + "node_modules/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, - "requires": { + "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "glob-parent": { + "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "requires": { + "dependencies": { "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "graceful-fs": { + "node_modules/graceful-fs": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", "dev": true }, - "har-schema": { + "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "har-validator": { + "node_modules/har-validator": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", "dev": true, - "requires": { + "dependencies": { "ajv": "^6.12.3", "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "hash-base": { + "node_modules/hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, "dependencies": { - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash-base/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true + { + "type": "consulting", + "url": "https://feross.org/support" } - } + ] }, - "hash.js": { + "node_modules/hash.js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" } }, - "hasha": { + "node_modules/hasha": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", "dev": true, - "requires": { + "dependencies": { "is-stream": "^1.0.1", "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "hmac-drbg": { + "node_modules/hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, - "requires": { + "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", "minimalistic-crypto-utils": "^1.0.1" } }, - "http-errors": { + "node_modules/http-errors": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", "dev": true, - "requires": { + "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" } }, - "http-proxy": { + "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, - "requires": { + "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "http-signature": { + "node_modules/http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, - "requires": { + "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" } }, - "https-browserify": { + "node_modules/https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, - "iconv-lite": { + "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, - "requires": { + "dependencies": { "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" } }, - "ieee754": { + "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "inflight": { + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, - "requires": { + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, - "is-binary-path": { + "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "requires": { + "dependencies": { "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "is-extglob": { + "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "is-fullwidth-code-point": { + "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "is-glob": { + "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "requires": { + "dependencies": { "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-number": { + "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.12.0" + } }, - "is-stream": { + "node_modules/is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "is-typedarray": { + "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, - "isarray": { + "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, - "isbinaryfile": { + "node_modules/isbinaryfile": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", - "dev": true + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } }, - "isexe": { + "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "isstream": { + "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, - "js-tokens": { + "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "jsbn": { + "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, - "json-schema": { + "node_modules/json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, - "json-schema-traverse": { + "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "json-stringify-safe": { + "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, - "jsonfile": { + "node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, - "requires": { + "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "jsprim": { + "node_modules/jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, - "requires": { + "engines": [ + "node >=0.6.0" + ], + "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", "json-schema": "0.2.3", "verror": "1.10.0" } }, - "karma": { - "version": "6.3.7", - "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.7.tgz", - "integrity": "sha512-EEkswZhOx3EFt1ELlVECeOXHONbHSGw6fkbeMxvCSkLD77X38Kb1d/Oup2Re9ep/tSoa1He3YIBf3Hp+9EsKtg==", + "node_modules/karma": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz", + "integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==", "dev": true, - "requires": { + "dependencies": { + "@colors/colors": "1.5.0", "body-parser": "^1.19.0", "braces": "^3.0.2", "chokidar": "^3.5.1", - "colors": "^1.4.0", "connect": "^3.7.0", "di": "^0.0.1", "dom-serialize": "^2.2.1", @@ -1297,223 +1702,277 @@ "http-proxy": "^1.18.1", "isbinaryfile": "^4.0.8", "lodash": "^4.17.21", - "log4js": "^6.3.0", + "log4js": "^6.4.1", "mime": "^2.5.2", "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", "qjobs": "^1.2.0", "range-parser": "^1.2.1", "rimraf": "^3.0.2", - "socket.io": "^4.2.0", + "socket.io": "^4.4.1", "source-map": "^0.6.1", "tmp": "^0.2.1", "ua-parser-js": "^0.7.30", "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" } }, - "karma-chrome-launcher": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", - "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", + "node_modules/karma-chrome-launcher": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz", + "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==", "dev": true, - "requires": { + "dependencies": { "which": "^1.2.1" } }, - "karma-cljs-test": { + "node_modules/karma-cljs-test": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/karma-cljs-test/-/karma-cljs-test-0.1.0.tgz", "integrity": "sha1-y4YF7w4R+ab20o9Wul298m84mSM=", "dev": true }, - "karma-junit-reporter": { + "node_modules/karma-junit-reporter": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-2.0.1.tgz", "integrity": "sha512-VtcGfE0JE4OE1wn0LK8xxDKaTP7slN8DO3I+4xg6gAi1IoAHAXOJ1V9G/y45Xg6sxdxPOR3THCFtDlAfBo9Afw==", "dev": true, - "requires": { + "dependencies": { "path-is-absolute": "^1.0.0", "xmlbuilder": "12.0.0" + }, + "engines": { + "node": ">= 8" + }, + "peerDependencies": { + "karma": ">=0.9" } }, - "karma-phantomjs-launcher": { + "node_modules/karma-phantomjs-launcher": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz", "integrity": "sha1-0jyjSAG9qYY60xjju0vUBisTrNI=", + "deprecated": "PhantomJS development have stopped, use puppeteer or similar", "dev": true, - "requires": { + "dependencies": { "lodash": "^4.0.1", "phantomjs-prebuilt": "^2.1.7" + }, + "peerDependencies": { + "karma": ">=0.9" } }, - "kew": { + "node_modules/kew": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", "dev": true }, - "klaw": { + "node_modules/klaw": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "dev": true, - "requires": { + "optionalDependencies": { "graceful-fs": "^4.1.9" } }, - "lodash": { + "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "log4js": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz", - "integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==", + "node_modules/log4js": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", "dev": true, - "requires": { - "date-format": "^3.0.0", - "debug": "^4.1.1", - "flatted": "^2.0.1", - "rfdc": "^1.1.4", - "streamroller": "^2.2.4" + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/log4js/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "loose-envify": { + "node_modules/log4js/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { + "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" } }, - "md5.js": { + "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, - "requires": { + "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", "safe-buffer": "^5.1.2" } }, - "media-typer": { + "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "miller-rabin": { + "node_modules/miller-rabin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.0.0", "brorand": "^1.0.1" }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } + "bin": { + "miller-rabin": "bin/miller-rabin" } }, - "mime": { + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/mime": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } }, - "mime-db": { - "version": "1.50.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", - "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==", - "dev": true + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "mime-types": { - "version": "2.1.33", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", - "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "requires": { - "mime-db": "1.50.0" + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "minimalistic-assert": { + "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, - "minimalistic-crypto-utils": { + "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", "dev": true }, - "minimatch": { + "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, - "requires": { + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "minimist": { + "node_modules/minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "mkdirp": { + "node_modules/mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, - "requires": { + "dependencies": { "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "ms": { + "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "node-libs-browser": { + "node_modules/node-libs-browser": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, - "requires": { + "dependencies": { "assert": "^1.1.1", "browserify-zlib": "^0.2.0", "buffer": "^4.3.0", @@ -1537,69 +1996,79 @@ "url": "^0.11.0", "util": "^0.11.0", "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } } }, - "normalize-path": { + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "oauth-sign": { + "node_modules/oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "object-assign": { + "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } }, - "on-finished": { + "node_modules/on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, - "requires": { + "dependencies": { "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, - "requires": { + "dependencies": { "wrappy": "1" } }, - "os-browserify": { + "node_modules/os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, - "pako": { + "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, - "parse-asn1": { + "node_modules/parse-asn1": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, - "requires": { + "dependencies": { "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", "evp_bytestokey": "^1.0.0", @@ -1607,55 +2076,66 @@ "safe-buffer": "^5.1.1" } }, - "parseurl": { + "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "path-browserify": { + "node_modules/path-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "pbkdf2": { + "node_modules/pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, - "requires": { + "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", "ripemd160": "^2.0.1", "safe-buffer": "^5.0.1", "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" } }, - "pend": { + "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", "dev": true }, - "performance-now": { + "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, - "phantomjs-prebuilt": { + "node_modules/phantomjs-prebuilt": { "version": "2.1.16", "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", + "deprecated": "this package is now deprecated", "dev": true, - "requires": { + "hasInstallScript": true, + "dependencies": { "es6-promise": "^4.0.3", "extract-zip": "^1.6.5", "fs-extra": "^1.0.0", @@ -1666,188 +2146,233 @@ "request-progress": "^2.0.1", "which": "^1.2.10" }, + "bin": { + "phantomjs": "bin/phantomjs" + } + }, + "node_modules/phantomjs-prebuilt/node_modules/fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "dev": true, "dependencies": { - "fs-extra": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", - "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - } + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" } }, - "picomatch": { + "node_modules/phantomjs-prebuilt/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "dev": true + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, - "pinkie": { + "node_modules/pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "pinkie-promise": { + "node_modules/pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, - "requires": { + "dependencies": { "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "process": { + "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6.0" + } }, - "process-nextick-args": { + "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "progress": { + "node_modules/progress": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4.0" + } }, - "psl": { + "node_modules/psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, - "public-encrypt": { + "node_modules/public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", "create-hash": "^1.1.0", "parse-asn1": "^5.0.0", "randombytes": "^2.0.1", "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } } }, - "punycode": { + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "qjobs": { + "node_modules/qjobs": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.9" + } }, - "qs": { + "node_modules/qs": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.6" + } }, - "querystring": { + "node_modules/querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, + "engines": { + "node": ">=0.4.x" + } }, - "querystring-es3": { + "node_modules/querystring-es3": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4.x" + } }, - "randombytes": { + "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "requires": { + "dependencies": { "safe-buffer": "^5.1.0" } }, - "randomfill": { + "node_modules/randomfill": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, - "requires": { + "dependencies": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" } }, - "range-parser": { + "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "raw-body": { + "node_modules/raw-body": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", "dev": true, - "requires": { + "dependencies": { "bytes": "3.1.0", "http-errors": "1.7.2", "iconv-lite": "0.4.24", "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "react": { + "node_modules/react": { "version": "17.0.1", "resolved": "https://registry.npmjs.org/react/-/react-17.0.1.tgz", "integrity": "sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w==", - "requires": { + "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "react-dom": { + "node_modules/react-dom": { "version": "17.0.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.1.tgz", "integrity": "sha512-6eV150oJZ9U2t9svnsspTMrWNyHc6chX0KzDeAOXftRa8bNeOKTTfCJ7KorIwenkHd2xqVTBTCZd79yk/lx/Ug==", - "requires": { + "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "scheduler": "^0.20.1" + }, + "peerDependencies": { + "react": "17.0.1" } }, - "readable-stream": { + "node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, - "requires": { + "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", @@ -1857,27 +2382,34 @@ "util-deprecate": "~1.0.1" } }, - "readdirp": { + "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "requires": { + "dependencies": { "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "readline-sync": { + "node_modules/readline-sync": { "version": "1.4.10", "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz", "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8.0" + } }, - "request": { + "node_modules/request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dev": true, - "requires": { + "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", @@ -1899,110 +2431,126 @@ "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" }, - "dependencies": { - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - } + "engines": { + "node": ">= 6" } }, - "request-progress": { + "node_modules/request-progress": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", "dev": true, - "requires": { + "dependencies": { "throttleit": "^1.0.0" } }, - "require-directory": { + "node_modules/request/node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "requires-port": { + "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, - "rfdc": { + "node_modules/rfdc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", "dev": true }, - "rimraf": { + "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "requires": { + "dependencies": { "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "ripemd160": { + "node_modules/ripemd160": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, - "requires": { + "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" } }, - "safe-buffer": { + "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "safer-buffer": { + "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "scheduler": { + "node_modules/scheduler": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "requires": { + "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" } }, - "setimmediate": { + "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", "dev": true }, - "setprototypeof": { + "node_modules/setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", "dev": true }, - "sha.js": { + "node_modules/sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" } }, - "shadow-cljs": { - "version": "2.15.12", - "resolved": "https://registry.npmjs.org/shadow-cljs/-/shadow-cljs-2.15.12.tgz", - "integrity": "sha512-DKkQ9HIkQgV2yeWlwPUU02iw6Ucdw+Ks6r1XxESV/2I5V8ci4EJdZYcYiNS/GHYKDYaikJKSgmocxP+VtbYGJg==", + "node_modules/shadow-cljs": { + "version": "2.20.7", + "resolved": "https://registry.npmjs.org/shadow-cljs/-/shadow-cljs-2.20.7.tgz", + "integrity": "sha512-G/XGarZvWiBCxu5C1ZQAV6X5bZqpO8f3wH4FRN2VruQXzYLX/vf3rJ0DOU2Y9gT64X66zqegZWSohQKklOivJA==", "dev": true, - "requires": { + "dependencies": { "node-libs-browser": "^2.2.1", "readline-sync": "^1.4.7", "shadow-cljs-jar": "1.3.2", @@ -2010,115 +2558,159 @@ "which": "^1.3.1", "ws": "^7.4.6" }, - "dependencies": { - "ws": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", - "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", - "dev": true - } + "bin": { + "shadow-cljs": "cli/runner.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "shadow-cljs-jar": { + "node_modules/shadow-cljs-jar": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/shadow-cljs-jar/-/shadow-cljs-jar-1.3.2.tgz", "integrity": "sha512-XmeffAZHv8z7451kzeq9oKh8fh278Ak+UIOGGrapyqrFBB773xN8vMQ3O7J7TYLnb9BUwcqadKkmgaq7q6fhZg==", "dev": true }, - "socket.io": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.3.1.tgz", - "integrity": "sha512-HC5w5Olv2XZ0XJ4gOLGzzHEuOCfj3G0SmoW3jLHYYh34EVsIr3EkW9h6kgfW+K3TFEcmYy8JcPWe//KUkBp5jA==", + "node_modules/shadow-cljs/node_modules/ws": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", "dev": true, - "requires": { + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/socket.io": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.0.tgz", + "integrity": "sha512-eOpu7oCNiPGBHn9Falg0cAGivp6TpDI3Yt596fbsf+vln8kRLFWxXKrecFrybn/xNYVn9HcdJNAkYToCmTjsyg==", + "dev": true, + "dependencies": { "accepts": "~1.3.4", "base64id": "~2.0.0", + "cors": "~2.8.5", "debug": "~4.3.2", - "engine.io": "~6.0.0", - "socket.io-adapter": "~2.3.2", - "socket.io-parser": "~4.0.4" + "engine.io": "~6.5.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", + "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", + "dev": true, "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "ws": "~8.11.0" + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "dev": true, + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "socket.io-adapter": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.2.tgz", - "integrity": "sha512-PBZpxUPYjmoogY0aoaTmo1643JelsaS1CiAwNjRVdrI0X9Seuc19Y2Wife8k88avW6haG8cznvwbubAZwH4Mtg==", + "node_modules/socket.io-parser/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", + "node_modules/socket.io/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "requires": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", - "debug": "~4.3.1" - }, "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "source-map": { + "node_modules/socket.io/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "source-map-support": { + "node_modules/source-map-support": { "version": "0.4.18", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, - "requires": { - "source-map": "^0.5.6" - }, "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "source-map": "^0.5.6" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "sshpk": { + "node_modules/sshpk": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, - "requires": { + "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", "bcrypt-pbkdf": "^1.0.0", @@ -2128,30 +2720,41 @@ "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" } }, - "statuses": { + "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "stream-browserify": { + "node_modules/stream-browserify": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, - "requires": { + "dependencies": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" } }, - "stream-http": { + "node_modules/stream-http": { "version": "2.8.3", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, - "requires": { + "dependencies": { "builtin-status-codes": "^3.0.0", "inherits": "^2.0.1", "readable-stream": "^2.3.6", @@ -2159,326 +2762,430 @@ "xtend": "^4.0.0" } }, - "streamroller": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz", - "integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==", + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", "dev": true, - "requires": { - "date-format": "^2.1.0", - "debug": "^4.1.1", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", "fs-extra": "^8.1.0" }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/streamroller/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, "dependencies": { - "date-format": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", - "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==", - "dev": true - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "string-width": { + "node_modules/streamroller/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { + "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { + "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { + "dependencies": { "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "throttleit": { + "node_modules/style-mod": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.3.tgz", + "integrity": "sha512-78Jv8kYJdjbvRwwijtCevYADfsI0lGzYJe4mMFdceO8l75DFFDoqBhR1jVDicDRRaX4//g1u9wKeo+ztc2h1Rw==" + }, + "node_modules/throttleit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", "dev": true }, - "timers-browserify": { + "node_modules/timers-browserify": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, - "requires": { + "dependencies": { "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" } }, - "tmp": { + "node_modules/tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "dev": true, - "requires": { + "dependencies": { "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" } }, - "to-arraybuffer": { + "node_modules/to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", "dev": true }, - "to-regex-range": { + "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "requires": { + "dependencies": { "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "toidentifier": { + "node_modules/toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.6" + } }, - "tough-cookie": { + "node_modules/tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, - "requires": { + "dependencies": { "psl": "^1.1.28", "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" } }, - "tty-browserify": { + "node_modules/tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", "dev": true }, - "tunnel-agent": { + "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, - "requires": { + "dependencies": { "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" } }, - "tweetnacl": { + "node_modules/tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, - "type-is": { + "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, - "requires": { + "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" } }, - "typedarray": { + "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, - "ua-parser-js": { + "node_modules/ua-parser-js": { "version": "0.7.31", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", - "dev": true + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } }, - "universalify": { + "node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 4.0.0" + } }, - "unpipe": { + "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "uri-js": { + "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "requires": { + "dependencies": { "punycode": "^2.1.0" } }, - "url": { + "node_modules/url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", "dev": true, - "requires": { + "dependencies": { "punycode": "1.3.2", "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } } }, - "util": { + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + }, + "node_modules/util": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, - "requires": { + "dependencies": { "inherits": "2.0.3" } }, - "util-deprecate": { + "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "utils-merge": { + "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4.0" + } }, - "uuid": { + "node_modules/uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } }, - "vary": { + "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "verror": { + "node_modules/verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, - "requires": { + "engines": [ + "node >=0.6.0" + ], + "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - } } }, - "vm-browserify": { + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, - "void-elements": { + "node_modules/void-elements": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "which": { + "node_modules/w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" + }, + "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "requires": { + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "wrap-ansi": { + "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "requires": { + "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", - "dev": true + "node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } }, - "xmlbuilder": { + "node_modules/xmlbuilder": { "version": "12.0.0", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-12.0.0.tgz", "integrity": "sha512-lMo8DJ8u6JRWp0/Y4XLa/atVDr75H9litKlb2E5j3V3MesoL50EBgZDWoLT3F/LztVnG67GjPXLZpqcky/UMnQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=6.0" + } }, - "xtend": { + "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4" + } }, - "y18n": { + "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true + "dev": true, + "engines": { + "node": ">=10" + } }, - "yargs": { + "node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, - "requires": { + "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", @@ -2486,20 +3193,26 @@ "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" } }, - "yargs-parser": { + "node_modules/yargs-parser": { "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true + "dev": true, + "engines": { + "node": ">=10" + } }, - "yauzl": { + "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "dev": true, - "requires": { + "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } diff --git a/package.json b/package.json index 3ab7096e2..78e87f22d 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,16 @@ { "name": "re-frame", "devDependencies": { - "karma": "6.3.7", - "karma-chrome-launcher": "3.1.0", + "karma": "6.4.1", + "karma-chrome-launcher": "3.1.1", "karma-cljs-test": "0.1.0", "karma-junit-reporter": "2.0.1", "karma-phantomjs-launcher": "1.0.4", - "shadow-cljs": "2.15.12" + "shadow-cljs": "2.20.7" }, "dependencies": { + "@nextjournal/lang-clojure": "^1.0.0", + "codemirror": "^6.0.1", "react": "17.0.1", "react-dom": "17.0.1" } diff --git a/project.clj b/project.clj index 51fb1fd85..e5b075def 100644 --- a/project.clj +++ b/project.clj @@ -25,7 +25,9 @@ :dev {:dependencies [[binaryage/devtools "1.0.3"]] :plugins [[com.github.liquidz/antq "RELEASE"] [lein-shell "0.5.0"]] - :antq {}}} + :antq {}} + :docs {:dependencies [[org.babashka/sci "0.7.39"] + [funcool/promesa "10.0.575"]]}} :clean-targets [:target-path "shadow-cljs.edn" @@ -34,7 +36,7 @@ :resource-paths ["resources"] :jvm-opts ["-Xmx1g"] - :source-paths ["src"] + :source-paths ["src" "docs/src"] ;; FixMe: Only the docs build should use the docs path. :test-paths ["test"] :shell {:commands {"karma" {:windows ["cmd" "/c" "karma"] @@ -52,7 +54,12 @@ :shadow-cljs {:nrepl {:port 8777} - :builds {:browser-test + :builds {:docs + {:target :browser + :devtools {:repl-pprint true} + :modules {:docs {:entries [re-frame.docs]}} + :output-dir "docs/js"} + :browser-test {:target :browser-test :ns-regexp "re-frame\\..*-test$" :test-dir "run/compiled/browser/test" From 83a758958412da77b67e01d6930d1eb01e98e5d2 Mon Sep 17 00:00:00 2001 From: Kimo Knowles Date: Sat, 24 Jun 2023 13:29:00 +0200 Subject: [PATCH 02/10] Add lein alias for docs build --- project.clj | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/project.clj b/project.clj index e5b075def..ecb9aaa81 100644 --- a/project.clj +++ b/project.clj @@ -78,9 +78,13 @@ :aliases {"watch" ["do" ["clean"] - ["shadow" "watch" "browser-test" "karma-test"]] + ["with-profile" "+docs" "shadow" "watch" "browser-test" "karma-test" "docs"]] "ci" ["do" ["clean"] ["shadow" "compile" "karma-test"] - ["shell" "karma" "start" "--single-run" "--reporters" "junit,dots"]]}) + ["shell" "karma" "start" "--single-run" "--reporters" "junit,dots"]] + + "docs" ["do" + ["clean"] + ["with-profile" "+docs" "shadow" "release" ":docs"]]}) From 8f3b3e93161af38f76455f0b8be11a58c8bacf72 Mon Sep 17 00:00:00 2001 From: Kimo Knowles Date: Sat, 24 Jun 2023 14:42:59 +0200 Subject: [PATCH 03/10] Port reagent.md from klipse to SCI --- docs/reagent.md | 32 ++++++++++---------------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/docs/reagent.md b/docs/reagent.md index afd75d284..dfe5f2280 100644 --- a/docs/reagent.md +++ b/docs/reagent.md @@ -1,39 +1,27 @@ ---- -klipse: true ---- Clojurescript is ergonomic, stable, functional language Look at the front page of https://www.learnreframe.com/ - -(ns simple.core - (:require [reagent.dom] - [re-frame.core :as rf] - [clojure.string :as str])) - +
(require '[reagent.dom :as rdom]
+         '[re-frame.core :as rf]
+         '[clojure.string :as str])
- -(defn square +
(defn square 
    []
    [:svg {:width "400" :height "110"}
-     [:rect {:width "300" :height "100"}]])
-
+     [:rect {:width "300" :height "100"}]])
- -[square] - +[square] - -(defn mount-ui +
(defn mount-ui
   []
-  (reagent/render [square]                 ;; mount the application's ui
-                  (js/document.getElementById "live-app")))
-(mount-ui)
-
+  (rdom/render [square]                 ;; mount the application's ui
+               (js/document.getElementById "live-app")))
+(mount-ui)
From e22bc137752f904ced8135ef983e52c461a030bb Mon Sep 17 00:00:00 2001 From: Kimo Knowles Date: Sat, 24 Jun 2023 15:49:04 +0200 Subject: [PATCH 04/10] Support code blocks that don't eval at init time https://github.com/borkdude/cljs-showcase/pull/2 --- docs/src/re_frame/docs.cljs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/src/re_frame/docs.cljs b/docs/src/re_frame/docs.cljs index a73b3a971..5019f6e41 100644 --- a/docs/src/re_frame/docs.cljs +++ b/docs/src/re_frame/docs.cljs @@ -58,6 +58,8 @@ no-editable? (.. elt -dataset -cljsShowcaseNoEditable) no-eval? (.. elt -dataset -cljsShowcaseNoEval) eval? (not no-eval?) + no-eval-on-init? (.. elt -dataset -cljsShowcaseNoEvalOnInit) + eval-on-init? (not no-eval-on-init?) doc (.-innerText elt) _ (set! (.-innerText elt) "") cm-ref (atom nil) @@ -91,7 +93,7 @@ (.appendChild elt btn))) (.appendChild elt res) (reset! cm-ref cm) - (when eval? (eval-me)))))) + (when (and eval? eval-on-init?) (eval-me)))))) (sci/alter-var-root sci/print-fn (constantly *print-fn*)) (sci/alter-var-root sci/print-err-fn (constantly *print-err-fn*)) From c8e6ffe9f334b587b52048b5a3cc589a3828cad4 Mon Sep 17 00:00:00 2001 From: Kimo Knowles Date: Sat, 24 Jun 2023 16:05:03 +0200 Subject: [PATCH 05/10] [wip] Add repls to clojurescript.md with success/error comments --- docs/clojurescript.md | 25 +++++++++---------------- docs/src/re_frame/docs.cljs | 14 ++++++++++---- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/docs/clojurescript.md b/docs/clojurescript.md index 99a000870..0ac0066e1 100644 --- a/docs/clojurescript.md +++ b/docs/clojurescript.md @@ -1,7 +1,3 @@ ---- -klipse: true ---- - > This document is currently in alpha test. > > If you review it, could you please let me know: @@ -135,16 +131,16 @@ You are going to be surprised and delighted with the simplicity of "evaluation". | `#!clj {1 1 2 2}` | `#!clj {1 1 2 2}` | Yep, same | -Below, you can start evaluating live on this page. Enter an expression into the following editor -and it will be evaluated. The result of the evaluation will be shown in the box below the editor. +Below, you can start evaluating live on this page. +Click the **Eval** button, or change the expression, and it will be evaluated. +The result of the evaluation will be shown in the box below the editor. -XXX inline REPL will go here. In the meantime, use [this external one](https://jaredforsyth.com/reepl/) +Try these experiments: +
{:a 1 :a 4}
-Try these experiments: +
[:apple :orange :banana
- - {:a 1 :a 4} -- oops - - forget to close a parens ?? - XXX other basic examples? So, let's now talk about the two exceptions `lists` and `symbols` ... @@ -175,14 +171,11 @@ Example symbol evaluations: Wait. Isn't `#!clj +` an operator? No. Clojure doesn't have operators. Instead, `#!clj +` is a symbol, and it is bound to a function - one which adds. Anyway, more soon. - -XXX inline REPL will go here. In the meantime use [this external one](https://jaredforsyth.com/reepl/) - Try these experiments: - - `#!clj inc` - - `#!clj [inc dec +]` <--- and array of symbols - - `#!clj {inc 5}` <--- strange but possible +-
inc
+-
[inc dec +]
+-
{inc 5}
## Evaluating Lists diff --git a/docs/src/re_frame/docs.cljs b/docs/src/re_frame/docs.cljs index 5019f6e41..2586073eb 100644 --- a/docs/src/re_frame/docs.cljs +++ b/docs/src/re_frame/docs.cljs @@ -15,7 +15,7 @@ [sci.configs.re-frame.re-frame :as sci.re-frame] [sci.ctx-store :as ctx-store])) -;; https://github.com/borkdude/cljs-showcase/tree/main +;; https://github.com/borkdude/cljs-showcase (def rdns (sci/create-ns 'reagent.dom nil)) @@ -60,24 +60,29 @@ eval? (not no-eval?) no-eval-on-init? (.. elt -dataset -cljsShowcaseNoEvalOnInit) eval-on-init? (not no-eval-on-init?) + error-comment (.. elt -dataset -cljsShowcaseErrorComment) + success-comment (.. elt -dataset -cljsShowcaseSuccessComment) doc (.-innerText elt) _ (set! (.-innerText elt) "") cm-ref (atom nil) res (js/document.createElement "pre") + comment (js/document.createElement "p") eval-me (fn [] (when eval? (p/let [[op v] (eval-codemirror @cm-ref)] (binding [*print-length* 20] (case op (:success :success-promise) - (set! (.-innerText res) + (do (set! (.-innerText res) (str (when (= :success-promise op) "Promise resolved to:\n") (with-out-str (pp/pprint v)))) + (set! (.-innerText comment) (str success-comment))) (:error :error-promise) - (set! (.-innerText res) + (do (set! (.-innerText res) (str/join "\n" (cons (.-message v) - (sci/format-stacktrace (sci/stacktrace v)))))))))) + (sci/format-stacktrace (sci/stacktrace v))))) + (set! (.-innerText comment) (str error-comment)))))))) ext (.of cv/keymap (clj->js [{:key "Mod-Enter" :run eval-me}])) @@ -92,6 +97,7 @@ _ (.addEventListener elt "click" eval-me)] (.appendChild elt btn))) (.appendChild elt res) + (.appendChild elt comment) (reset! cm-ref cm) (when (and eval? eval-on-init?) (eval-me)))))) From f9c8cf4fe6c4ef87a1e68098e5b443fcd3b67d62 Mon Sep 17 00:00:00 2001 From: Kimo Knowles Date: Tue, 27 Jun 2023 14:53:39 +0200 Subject: [PATCH 06/10] Validate results --- docs/clojurescript.md | 130 ++++++++++++++++----------- docs/dominoes-live.md | 90 +++++++++++++------ docs/reagent.md | 22 +++-- docs/src/re_frame/docs.cljs | 173 ++++++++++++++++++++++++------------ 4 files changed, 273 insertions(+), 142 deletions(-) diff --git a/docs/clojurescript.md b/docs/clojurescript.md index 0ac0066e1..613299a84 100644 --- a/docs/clojurescript.md +++ b/docs/clojurescript.md @@ -137,9 +137,26 @@ The result of the evaluation will be shown in the box below the editor. Try these experiments: -
{:a 1 :a 4}
- -
[:apple :orange :banana
+
+{:a 1 :a 4} +
+(fn duplicate-keys [{:keys [return-str]}] + (when (re-find #"duplicate key" return-str) + [:span "Oops! A map can only have 1 of a given key. Try changing " + [:code ":a 4"] + " to " + [:code ":b 4"] "."])) +
+
+ +
+[:apple :orange :banana +
+ (fn eof-vector [{:keys [return-str]}] + (when (re-find #"EOF" return-str) + [:span "Forgot to close the form? Try adding " [:code "]"] " to the end."])) +
+
- XXX other basic examples? @@ -173,9 +190,31 @@ Example symbol evaluations: Try these experiments: --
inc
--
[inc dec +]
--
{inc 5}
+
> + inc +
+ (fn function-object [{:keys [status]}] + (when (#{:success} status) + [:span "Functions are technically objects, and cljs represents them by printing " + [:code "object[qualified$name]"]])) +
+
+
+ [inc dec +] +
+ (fn function-vec-item [{:keys [status]}] + (when (#{:success} status) + "This is simply three items in a vector. Just because they're functions does not mean you're calling them.")) +
+
+
+{inc 5} +
+ (fn function-vec-item [{:keys [status]}] + (when (#{:success} status) + "Nearly anything can be a map key.")) +
+
## Evaluating Lists @@ -232,9 +271,14 @@ Let's start evaluating, live. Type into the following editor. Click Ctrl-click t - try `(odd? 5)` - try `(count [1 2 3])` -XXX inline REPL will go here. In the meantime use [this external one](https://jaredforsyth.com/reepl/) - - +
+
+ (fn arithmetic-arity [{:keys [status source-form]}] + (when (and (#{:success} status) + (#{'(+ 1) '(+) '(*)} source-form)) + "Consider this either very intuitive, or very unintuitive.")) +
+
--- @@ -269,12 +313,9 @@ More: Evaluate these experiments yourself (any surprises?): - -
(inc (dec 1))
- - `#!clj (odd? (inc (dec 1)))` - - `#!clj (= (inc (dec 1)) 1)` - -XXX inline REPL will go here. In the meantime use [this external one](https://jaredforsyth.com/reepl/) - + -
(inc (dec 1))
+ -
(odd? (inc (dec 1)))
+ -
(= (inc (dec 1)) 1)
--- ## Keywords @@ -320,11 +361,9 @@ To give you a taste of where this can go, here they are used as the keys in a ha Evaluate these experiments yourself (any surprises?): - - `#!clj (namespace :a)` - - `#!clj (keyword (name :a))` - - `#!clj (keyword (namespace :a/b) (name :a/b))` - -XXX inline REPL will go here. In the meantime use [this external one](https://jaredforsyth.com/reepl/) +
(namespace :a)
+
(keyword (name :a))
+
(keyword (namespace :a/b) (name :a/b))
--- @@ -407,11 +446,11 @@ is evaluated depending on the result of that `test`. One element remains unevalu Possible experiments: - - check if `(if true)` is valid. - - explore what is "truthy", via `(if "hello" true false)` or `(if [] true false)` or `(if nil true false)` + - check if `#!clj (if true)` is valid. + - explore what is "truthy", via `#!clj (if "hello" true false)` or `#!clj (if [] true false)` or `#!clj (if nil true false)` +
-XXX inline REPL will go here. In the meantime use [this external one](https://jaredforsyth.com/reepl/) --- ## `#!clj fn` @@ -481,28 +520,21 @@ The body of the function, `#!clj (+ num 1)`, will be evaluated with the `#!clj n Try these experiments: -```cljs -((fn [x] [x x]) 4) -``` -or -```cljs -((fn [x y] {x y}) :a 4) -``` -or -```clj -((fn [])) -``` -or -```cljs -((fn [yes?] {:a (if yes? "yes")}) true) -``` +
((fn [x] [x x]) 4)
+ +
((fn [x y] {x y}) :a 4)
+ +
((fn []))
+ +
((fn [yes?] {:a (if yes? "yes")}) true)
+ what if, instead, we called this function with `#!clj false`. You won't see this written in normal ClojureScript code, because it is weird, but here's a puzzle: -```clj -(((fn [] inc)) 4) -``` + +
(((fn [] inc)) 4)
+ What is the evaluation? Note: there is an extra set of parens around the `#!clj fn` form. @@ -660,25 +692,21 @@ evaluates to `#!clj "the pen"`. Phew! evaluates to `#!clj {:winner-is "the pen"}` `#!clj let` is often used within a `#!clj defn`: -```clj +
(defn greet [name friendly?] (let [greeting (if friendly? "Hello " "Go away ")] - [:div greeting name]) -``` + [:div greeting name])) +
XXX experiment with greet -```clj -(greet "Mum" true) -``` +
(greet "Mum" true)
-```clj -(greet "Noisy Neighbours" false) -``` +
(greet "Noisy Neighbours" false)
In this particular, we could have got away with no using a `let`, like this: -```clj +``` clj (defn greet [name friendly?] [:div (if friendly? "Hello " "Go away ") name) diff --git a/docs/dominoes-live.md b/docs/dominoes-live.md index bba0294ad..05f486d56 100644 --- a/docs/dominoes-live.md +++ b/docs/dominoes-live.md @@ -36,9 +36,11 @@ We'll look at all 70 lines. Within our single namespace (of 70 lines), we'll need access to both `reagent` and `re-frame`. So, at the top we need this: -
(require '[reagent.core :as reagent]
+
+(require '[reagent.core :as reagent] '[reagent.dom :as rdom] - '[re-frame.core :as rf])
+ '[re-frame.core :as rf]) +
!!! Note "Live Code Fragment" Above, you'll see two vertically stacked boxes. The top one contains the live code. You can edit that code, if you want. @@ -88,10 +90,11 @@ To send an event, call `dispatch` with the event vector as the argument. ``` For our simple app, we do this ... -
(defn dispatch-timer-event        ;; <-- defining a function
+
(defn dispatch-timer-event ;; <-- defining a function [] ;; <-- no args (let [now (js/Date.)] ;; <-- obtain the current time - (rf/dispatch [:timer now]))) ;; <-- dispatch an event
+ (rf/dispatch [:timer now]))) ;; <-- dispatch an event + Notes: @@ -99,7 +102,9 @@ Notes: - current time is obtained with `(js/Date.)` which is like `new Date()` in javascript - uses `rf/dispatch` - the re-frame API is aliased as `rf` in the namespace declaration above -
(defonce do-timer (js/setInterval dispatch-timer-event 1000))
+
+(defonce do-timer (js/setInterval dispatch-timer-event 1000)) +
Notes: @@ -188,10 +193,12 @@ the application, which means they return a modified version of `db`. ### :timer -
(rf/reg-event-db                 
+
+(rf/reg-event-db :timer (fn [db [_ new-time]] ;; notice how we destructure the event vector - (assoc db :time new-time))) ;; compute and return the new application state
+ (assoc db :time new-time))) ;; compute and return the new application state + Notes: @@ -215,12 +222,14 @@ This event handler is slightly unusual because it ignores both of its arguments. There's nothing in the `event` vector which it needs. Nor is the existing value in `db`. It just wants to plonk a completely new value into `app-db` -
(rf/reg-event-db              ;; sets up initial application state
+
+(rf/reg-event-db ;; sets up initial application state :initialize (fn [ _ _ ] ;; arguments not important, so use _ {:time (js/Date.) ;; returned value put into app-db :time-color "orange"})) ;; so the app state will be a map with two keys -nil
+nil + For comparison, here's how we could have written this if we **did** care about the existing value in `db`: @@ -238,11 +247,13 @@ For comparison, here's how we could have written this if we **did** care about t When the user enters a new colour value (into the input field) the view will `(dispatch [:time-color-change new-colour])` (more on this below). -
(rf/reg-event-db
+
+(rf/reg-event-db :time-color-change (fn [db [_ new-color-value]] (assoc db :time-color new-color-value))) ;; compute and return the new application state -nil
+nil + Notes: @@ -310,15 +321,19 @@ Along this reactive chain of dependencies, re-frame will ensure the necessary calls are made, at the right time. Here's the code for defining our 2 subscription handlers: -
(rf/reg-sub
+
+(rf/reg-sub :time (fn [db _] ;; db is current app state. 2nd unused param is query vector - (:time db))) ;; return a query computation over the application state
+ (:time db))) ;; return a query computation over the application state + -
(rf/reg-sub
+
+(rf/reg-sub :time-color (fn [db _] - (:time-color db)))
+ (:time-color db))) + Both of these queries are trivial. They are known as "accessor", or layer 2, subscriptions. More on that soon. @@ -359,14 +374,16 @@ which would return a `ratom` holding the customer state (a value which might cha ## The View Functions This view function renders the clock: -
(defn clock
+
+(defn clock [] (let [colour @(rf/subscribe [:time-color]) time (some-> @(rf/subscribe [:time]) .toTimeString (clojure.string/split " ") first)] - [:div.example-clock {:style {:color colour}} time]))
+ [:div.example-clock {:style {:color colour}} time])) + As you can see, it uses `subscribe` twice to obtain two pieces of data from `app-db`. If either value changes, reagent will automatically re-run this view function, @@ -374,15 +391,20 @@ computing new hiccup, which means new DOM. Using the power of `sci`, we can render just the `clock` component: -
(rdom/render [clock] (js/document.getElementById "clock"))
+
+(rdom/render [clock] (js/document.getElementById "clock")) +
When an event handler changes a value in `app-db`, `clock` will rerender. Try it. Uncomment the following `dispatch` to change the colour. -
(comment (rf/dispatch  [:time-color-change "green"]))
+
+(comment (rf/dispatch [:time-color-change "green"])) +
And this view function renders the input field: -
(defn color-input
+
+(defn color-input [] (let [gettext (fn [e] (-> e .-target .-value)) emit (fn [e] (rf/dispatch [:time-color-change (gettext e)]))] @@ -391,7 +413,8 @@ And this view function renders the input field: [:input {:type "text" :style {:border "1px solid #CCC" } :value @(rf/subscribe [:time-color]) ;; subscribe - :on-change emit}]])) ;; <---
+ :on-change emit}]])) ;; <--- + Notice how it does BOTH a `subscribe` to obtain the current value AND a `dispatch` to say when it has changed (look for `emit`). @@ -402,17 +425,20 @@ The user's interaction with the UI is usually a large source of events. Notice also how we use `@` in front of `subscribe` to obtain the value out of the subscription. It is almost as if the subscription is an atom holding a value (which can change over time). We can render the `color-input` as any other reagent component: -
(rdom/render [color-input] (js/document.getElementById "color-input"))
+
(rdom/render [color-input] (js/document.getElementById "color-input")) +
And then there's a parent `view` to arrange the others. It contains no subscriptions or dispatching of its own: -
(defn ui
+
+(defn ui [] [:div [:h1 "The time is now:"] [clock] - [color-input]])
+ [color-input]]) + !!! Note "" `view` functions form a hierarchy, often with @@ -436,14 +462,16 @@ It has two tasks: `view` - in our case, `ui` - onto an existing DOM element (with id `app`). -
(defn mount-ui
+
+(defn mount-ui [] (rdom/render [ui] ;; mount the application's ui (js/document.getElementById "dominoes-live-app"))) (defn run [] (rf/dispatch-sync [:initialize]) ;; puts a value into application state - (mount-ui))
+ (mount-ui)) + When it comes to establishing initial application state, you'll notice the use of `dispatch-sync`, rather than `dispatch`. This is a simplifying cheat @@ -453,7 +481,9 @@ structure exists in `app-db` before any subscriptions or event handlers run. After `run` is called, the app passively waits for `events`. Nothing happens without an `event`. -
(run)
+
+(run) +
The run function renders the app in the DOM element whose id is `dominoes-live-app`: this DOM element is located at the top of the page. This is the element we used to show how the app looks at the top of this page @@ -461,8 +491,10 @@ This is the element we used to show how the app looks at the top of this page To save you the trouble of scrolling up to the top of the page, I decided to render the whole app as a reagent element, just here: -
(rdom/render [ui]
-             (js/document.getElementById "dominoes-live-app-2"))
+
+(rdom/render [ui] + (js/document.getElementById "dominoes-live-app-2")) +
## T-Shirt Unlocked diff --git a/docs/reagent.md b/docs/reagent.md index dfe5f2280..8aa2df8ac 100644 --- a/docs/reagent.md +++ b/docs/reagent.md @@ -4,24 +4,32 @@ Clojurescript is ergonomic, stable, functional language Look at the front page of https://www.learnreframe.com/ -
(require '[reagent.dom :as rdom]
+
+(require '[reagent.dom :as rdom] '[re-frame.core :as rf] - '[clojure.string :as str])
+ '[clojure.string :as str]) + -
(defn square 
+
+(defn square [] [:svg {:width "400" :height "110"} - [:rect {:width "300" :height "100"}]])
+ [:rect {:width "300" :height "100"}]]) + -[square] +
+[square] +
-
(defn mount-ui
+
+(defn mount-ui [] (rdom/render [square] ;; mount the application's ui (js/document.getElementById "live-app"))) -(mount-ui)
+(mount-ui) + diff --git a/docs/src/re_frame/docs.cljs b/docs/src/re_frame/docs.cljs index 2586073eb..827771ec5 100644 --- a/docs/src/re_frame/docs.cljs +++ b/docs/src/re_frame/docs.cljs @@ -4,9 +4,11 @@ ["@codemirror/view" :as cv] ["@nextjournal/lang-clojure" :as lc] ["codemirror" :as cm] + [cljs.reader :as reader] [clojure.string :as str] [clojure.pprint :as pp] [promesa.core :as p] + [reagent.core :as r] [reagent.dom :as rdom] [re-frame.core] [re-frame.db] @@ -15,8 +17,6 @@ [sci.configs.re-frame.re-frame :as sci.re-frame] [sci.ctx-store :as ctx-store])) -;; https://github.com/borkdude/cljs-showcase - (def rdns (sci/create-ns 'reagent.dom nil)) (def reagent-dom-namespace @@ -35,10 +35,9 @@ :ns-aliases {'clojure.pprint 'cljs.pprint}})] (ctx-store/reset-ctx! ctx)) -(defn eval-codemirror [cm-instance] +(defn eval-str [source-str] (try - (let [code-str (cm-string cm-instance) - v (sci/eval-string* (ctx-store/get-ctx) code-str)] + (let [v (sci/eval-string* (ctx-store/get-ctx) source-str)] (if (instance? js/Promise v) (-> v (.then @@ -51,56 +50,120 @@ (catch :default err [:error err]))) -(defonce init-instances - (let [elts (js/document.querySelectorAll ".cljs-showcase")] - (doseq [^js elt elts] - (let [_ (js/console.log (.. elt -dataset)) - no-editable? (.. elt -dataset -cljsShowcaseNoEditable) - no-eval? (.. elt -dataset -cljsShowcaseNoEval) - eval? (not no-eval?) - no-eval-on-init? (.. elt -dataset -cljsShowcaseNoEvalOnInit) - eval-on-init? (not no-eval-on-init?) - error-comment (.. elt -dataset -cljsShowcaseErrorComment) - success-comment (.. elt -dataset -cljsShowcaseSuccessComment) - doc (.-innerText elt) - _ (set! (.-innerText elt) "") - cm-ref (atom nil) - res (js/document.createElement "pre") - comment (js/document.createElement "p") - eval-me (fn [] - (when eval? - (p/let [[op v] (eval-codemirror @cm-ref)] - (binding [*print-length* 20] - (case op - (:success :success-promise) - (do (set! (.-innerText res) - (str (when (= :success-promise op) - "Promise resolved to:\n") - (with-out-str (pp/pprint v)))) - (set! (.-innerText comment) (str success-comment))) - (:error :error-promise) - (do (set! (.-innerText res) - (str/join "\n" (cons (.-message v) - (sci/format-stacktrace (sci/stacktrace v))))) - (set! (.-innerText comment) (str error-comment)))))))) - ext (.of cv/keymap - (clj->js [{:key "Mod-Enter" - :run eval-me}])) - state (cs/EditorState.create #js {:doc doc - :extensions #js [cm/basicSetup, (lc/clojure), (.highest cs/Prec ext), - (cs/EditorState.readOnly.of no-editable?)]}) - cm (cm/EditorView. #js {:state state :parent elt})] - (when eval? - (let [btn (js/document.createElement "button") - _ (set! (.-style btn) "float: right") - _ (set! btn -innerText "Eval") - _ (.addEventListener elt "click" eval-me)] - (.appendChild elt btn))) - (.appendChild elt res) - (.appendChild elt comment) - (reset! cm-ref cm) - (when (and eval? eval-on-init?) (eval-me)))))) - (sci/alter-var-root sci/print-fn (constantly *print-fn*)) (sci/alter-var-root sci/print-err-fn (constantly *print-err-fn*)) (sci/enable-unrestricted-access!) + +(defn- make-state [{:keys [source-str editable? key-bindings on-eval on-change]}] + (cs/EditorState.create + #js{:doc source-str + :extensions (cond-> #js [cm/minimalSetup + (cv/highlightActiveLine) + (lc/clojure) + (cm/EditorView.updateListener.of + #(on-change (.toString (.. % -state -doc)))) + (.highest cs/Prec + (.of cv/keymap + (clj->js (mapv (fn [[k v]] {:key k :run v}) + key-bindings))))] + (not editable?) (.concat #js [(cs/EditorState.readOnly.of true)]))})) + +(defn format-exception [v] + (str/join "\n" (cons (.-message v) + (sci/format-stacktrace (sci/stacktrace v))))) + +(defn editor-result [{:keys [return-str status] :as eval-result}] + [:div {:style {:white-space "pre-wrap" + :margin-top "0.5rem" + :font-size "0.75em" + :padding "0 2px 0 2px" + :background-color (if (success? eval-result) "#eeffee" "#ffeeee") + :color "#444" + :font-family "monospace"}} + return-str]) + +(defn validation [validators {:keys [source-str status] :as eval-result}] + (when (and status (seq validators)) + (into [:div {:style {:margin "1rem"}}] ((apply juxt validators) eval-result)))) + +(defn success? [eval-result] (#{:success :success-promise} (:status eval-result))) + +(defn editor + [{:keys [source-str eval-result !view validators evaluable? editable? eval-on-init? on-change hover? focus?]}] + (r/with-let + [eval! (fn [] (p/let [[status return-val] (eval-str (cm-string @!view))] + (binding [*print-length* 20] + (reset! eval-result {:status status + :return-val return-val + :return-str (binding [*print-length* 20] + (case status + (:success :success-promise) + (with-out-str (pp/pprint return-val)) + (:error :error-promise) + (format-exception return-val))) + :source-str @source-str + :source-form (try (reader/read-string @source-str) + (catch :default err nil))})) + (reset! focus? false))) + init! (fn [el] + (reset! !view (cm/EditorView. + #js {:state (make-state {:source-str @source-str + :on-change #(do (reset! source-str %) + (when on-change (on-change %))) + :editable? editable? + :key-bindings {"Mod-Enter" eval!}}) + :lineNumbers false + :parent el})) + (when eval-on-init? (eval!)))] + [:div {:on-mouse-enter #(reset! hover? true) + :on-mouse-leave #(reset! hover? false) + :on-focus #(reset! focus? true) + :on-blur #(reset! focus? false)} + [:div {:style {:display "flex"}} + [:div {:ref init! + :style {:flex 1 + :max-width "100%" + :overflow-x "scroll"}}] + (when evaluable? + [:div [:button {:on-click eval! + :style {:margin 0 + :border "1px solid gray" + :background-color "#ccc" + :padding 2 + :opacity (if (or @hover? @focus?) 1 0.5)}} + "eval"]])] + [editor-result @eval-result] + [validation validators @eval-result] + (when @eval-result [:hr])] + (finally (.destroy @!view)))) + +(defonce mounts + (let [els (seq (js/document.querySelectorAll ".cm-doc"))] + (doseq [^js el els + :let [editable? (not (.. el -dataset -cmDocNoEdit)) + evaluable? (not (.. el -dataset -cmDocNoEval)) + eval-on-init? (not (.. el -dataset -cmDocNoEvalOnInit)) + validator-els (.getElementsByClassName el "cm-doc-validator") + validators (into [] (comp + (map #(.-innerText %)) + (map eval-str) + (filter (comp #{:success} first)) + (map second)) + validator-els)]] + (rdom/render [editor {:parent el + :editable? editable? + :evaluable? evaluable? + :eval-on-init? eval-on-init? + :hover? (r/atom false) + :focus? (r/atom false) + :source-str (atom (some->> (array-seq (.-childNodes el)) + (filter (comp #{js/Node.TEXT_NODE} + #(.-nodeType %))) + first + .-textContent + str/trim)) + :validators validators + :eval-result (r/atom nil) + :!view (atom nil)}] el)))) + + From 80f3049f422e2f48dd84c793676a9ab69b8268b8 Mon Sep 17 00:00:00 2001 From: Kimo Knowles Date: Sat, 24 Jun 2023 14:43:25 +0200 Subject: [PATCH 07/10] [cleanup] Remove klipse codemirror.css was a theme for the codemirror 5 elements invoked by klipse. It doesn't apply to the new codemirror 6 elements, which use a different dom tree. Removed codemirror.css for now. We might consider porting this stylesheet, or finding out a new theme. --- docs/README.md | 19 +- docs/javascripts/klipse_config.js | 5 - docs/javascripts/klipse_plugin.js | 16681 ---------------- docs/javascripts/klipse_reagent_fix.js | 56 - docs/klipse/.gitignore | 1 - docs/klipse/README.md | 107 - .../build-cljs-cache-for-core-namespaces.cljs | 20 - .../build-cljs-cache-for-core-namespaces.sh | 3 - .../build-cljs-cache-for-lib-namespaces.cljs | 8 - .../build-cljs-cache-for-lib-namespaces.sh | 14 - docs/klipse/cljs-cache/.gitignore | 2 - docs/klipse/cljs-cache/.gitkeep | 0 docs/klipse/cljs-cache/react.cache.json | 0 docs/klipse/cljs-cache/react.js | 0 docs/klipse/cljs-cache/react_dom.cache.json | 0 docs/klipse/cljs-cache/react_dom.js | 0 docs/klipse/project.clj | 19 - docs/stylesheets/codemirror.css | 375 - docs/stylesheets/klipse.css | 28 - docs/theme/main.html | 6 - 20 files changed, 2 insertions(+), 17342 deletions(-) delete mode 100644 docs/javascripts/klipse_config.js delete mode 100644 docs/javascripts/klipse_plugin.js delete mode 100644 docs/javascripts/klipse_reagent_fix.js delete mode 100644 docs/klipse/.gitignore delete mode 100644 docs/klipse/README.md delete mode 100644 docs/klipse/build-cljs-cache-for-core-namespaces.cljs delete mode 100755 docs/klipse/build-cljs-cache-for-core-namespaces.sh delete mode 100644 docs/klipse/build-cljs-cache-for-lib-namespaces.cljs delete mode 100755 docs/klipse/build-cljs-cache-for-lib-namespaces.sh delete mode 100644 docs/klipse/cljs-cache/.gitignore delete mode 100644 docs/klipse/cljs-cache/.gitkeep delete mode 100644 docs/klipse/cljs-cache/react.cache.json delete mode 100644 docs/klipse/cljs-cache/react.js delete mode 100644 docs/klipse/cljs-cache/react_dom.cache.json delete mode 100644 docs/klipse/cljs-cache/react_dom.js delete mode 100644 docs/klipse/project.clj delete mode 100644 docs/stylesheets/codemirror.css delete mode 100644 docs/stylesheets/klipse.css diff --git a/docs/README.md b/docs/README.md index 5b4965de7..f7747185d 100644 --- a/docs/README.md +++ b/docs/README.md @@ -15,7 +15,7 @@ The re-frame website is largly built using a static site generator: a [Material UI](https://material.io/) theme for the `mkdocs` static site generator. The live re-frame website is built [via Github actions](https://github.com/day8/re-frame/blob/feature/mkdocs/.github/workflows/docs-workflow.yml) -which stitch together the docs, the API and the klipse artifacts. +which stitch together the docs, the API and the docs app. ## To Build Locally @@ -63,7 +63,6 @@ We've made various modifications to the base template supplied by the theme ... Notably adds - Google Font stylesheets -- klipse custom stylesheets and javascripts - our own stylesheets for overriding some styles `overrides/partials/footer.html` @@ -81,18 +80,4 @@ Removes trailing dash in page title due to empty site name. Our own custom styles. `stylesheets/codehilite-monokai.css` -Our own port of the monokai theme to codehilite. - -`stylesheets/codemirror.css` -Copy of https://github.com/viebel/klipse/blob/57e5312e88425811183a838f63afd4a92077fada/dist/codemirror.css -with FiraCode removed. - -Incls syntax highlighting 'theme' around lines ~100-130. - -`javascripts/klipse_plugin.js` -Copy of https://github.com/viebel/klipse/blob/57e5312e88425811183a838f63afd4a92077fada/dist/klipse_plugin.js - -## Using Klipse - -On some pages we use klipse for live coding. -See [`docs/klipse/README.md`](klipse/README.md). +Our own port of the monokai theme to codehilite. \ No newline at end of file diff --git a/docs/javascripts/klipse_config.js b/docs/javascripts/klipse_config.js deleted file mode 100644 index 61c37d4fe..000000000 --- a/docs/javascripts/klipse_config.js +++ /dev/null @@ -1,5 +0,0 @@ -window.klipse_settings = { - selector: '.klipse-clojure', - selector_reagent: '.klipse-reagent', - cached_ns_root: '/re-frame/klipse/cljs-cache' -}; diff --git a/docs/javascripts/klipse_plugin.js b/docs/javascripts/klipse_plugin.js deleted file mode 100644 index 1a9ed60f6..000000000 --- a/docs/javascripts/klipse_plugin.js +++ /dev/null @@ -1,16681 +0,0 @@ -// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later - -if(typeof Math.imul == "undefined" || (Math.imul(0xffffffff,5) == 0)) { - Math.imul = function (a, b) { - var ah = (a >>> 16) & 0xffff; - var al = a & 0xffff; - var bh = (b >>> 16) & 0xffff; - var bl = b & 0xffff; - // the shift by 0 fixes the sign on the high part - // the final |0 converts the unsigned value into a signed value - return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0); - } -} - -(function(q){if("object"==typeof exports&&"object"==typeof module)module.exports=q();else{if("function"==typeof define&&define.amd)return define([],q);(this||window).CodeMirror=q()}})(function(){function q(a,b){if(!(this instanceof q))return new q(a,b);this.options=b=b?X(b):{};X(wf,b,!1);wc(b);var c=b.value;"string"==typeof c&&(c=new Q(c,b.mode,null,b.lineSeparator));this.doc=c;var d=new q.inputStyles[b.inputStyle](this),d=this.display=new xf(a,c,d);d.wrapper.CodeMirror=this;zd(this);Ad(this);b.lineWrapping&& -(this.display.wrapper.className+=" CodeMirror-wrap");b.autofocus&&!ab&&d.input.focus();Bd(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new ua,keySeq:null,specialChars:null};var e=this;A&&11>B&&setTimeout(function(){e.display.input.reset(!0)},20);yf(this);Cd||(zf(),Cd=!0);Ja(this);this.curOp.forceUpdate=!0;Dd(this,c);b.autofocus&&!ab||e.hasFocus()?setTimeout(xc(yc, -this),20):bb(this);for(var f in Ka)if(Ka.hasOwnProperty(f))Ka[f](this,b[f],Ed);Fd(this);b.finishInit&&b.finishInit(this);for(c=0;cB&&(this.gutters.style.zIndex=-1,this.scroller.style.paddingRight=0);K||oa&&ab||(this.scroller.draggable=!0);a&&(a.appendChild?a.appendChild(this.wrapper):a(this.wrapper));this.reportedViewFrom=this.reportedViewTo=this.viewFrom=this.viewTo=b.first;this.view=[];this.externalMeasured=this.renderedView=null;this.lastWrapHeight=this.lastWrapWidth=this.viewOffset=0;this.updateLineNumbers=null;this.nativeBarWidth=this.barHeight=this.barWidth=0;this.scrollbarsClipped=!1;this.lineNumWidth=this.lineNumInnerWidth= -this.lineNumChars=null;this.alignWidgets=!1;this.maxLine=this.cachedCharWidth=this.cachedTextHeight=this.cachedPaddingH=null;this.maxLineLength=0;this.maxLineChanged=!1;this.wheelDX=this.wheelDY=this.wheelStartX=this.wheelStartY=null;this.shift=!1;this.activeTouch=this.selForContextMenu=null;c.init(this)}function Ac(a){a.doc.mode=q.getMode(a.options,a.doc.modeOption);cb(a)}function cb(a){a.doc.iter(function(a){a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null)});a.doc.frontier=a.doc.first; -db(a,100);a.state.modeGen++;a.curOp&&M(a)}function Hd(a){var b=va(a.display),c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/eb(a.display)-3);return function(e){if(wa(a.doc,e))return 0;var f=0;if(e.widgets)for(var g=0;gb.maxLineLength&&(b.maxLineLength=d,b.maxLine=a)})}function wc(a){var b=D(a.gutters,"CodeMirror-linenumbers");-1==b&&a.lineNumbers?a.gutters= -a.gutters.concat(["CodeMirror-linenumbers"]):-1B&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")}function Hc(){}function Bd(a){a.display.scrollbars&& -(a.display.scrollbars.clear(),a.display.scrollbars.addClass&&ib(a.display.wrapper,a.display.scrollbars.addClass));a.display.scrollbars=new q.scrollbarModel[a.options.scrollbarStyle](function(b){a.display.wrapper.insertBefore(b,a.display.scrollbarFiller);v(b,"mousedown",function(){a.state.focused&&setTimeout(function(){a.display.input.focus()},0)});b.setAttribute("cm-not-content","true")},function(b,c){"horizontal"==c?Ma(a,b):jb(a,b)},a);a.display.scrollbars.addClass&&kb(a.display.wrapper,a.display.scrollbars.addClass)} -function Na(a,b){b||(b=hb(a));var c=a.display.barWidth,d=a.display.barHeight;Id(a,b);for(var e=0;4>e&&c!=a.display.barWidth||d!=a.display.barHeight;e++)c!=a.display.barWidth&&a.options.lineWrapping&&Jb(a),Id(a,hb(a)),c=a.display.barWidth,d=a.display.barHeight}function Id(a,b){var c=a.display,d=c.scrollbars.update(b);c.sizer.style.paddingRight=(c.barWidth=d.right)+"px";c.sizer.style.paddingBottom=(c.barHeight=d.bottom)+"px";c.heightForcer.style.borderBottom=d.bottom+"px solid transparent";d.right&& -d.bottom?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height=d.bottom+"px",c.scrollbarFiller.style.width=d.right+"px"):c.scrollbarFiller.style.display="";d.bottom&&a.options.coverGutterNextToScrollbar&&a.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=d.bottom+"px",c.gutterFiller.style.width=b.gutterWidth+"px"):c.gutterFiller.style.display=""}function Ic(a,b,c){var d=c&&null!=c.top?Math.max(0,c.top):a.scroller.scrollTop,d=Math.floor(d-a.lineSpace.offsetTop), -e=c&&null!=c.bottom?c.bottom:d+a.wrapper.clientHeight,d=ya(b,d),e=ya(b,e);if(c&&c.ensure){var f=c.ensure.from.line;c=c.ensure.to.line;f=e&&(d=ya(b,ea(t(b,c))-a.wrapper.clientHeight),e=c)}return{from:d,to:Math.max(e,d+1)}}function Cc(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=Jc(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,f=d+"px",g=0;g=c.viewFrom&&b.visible.to<=c.viewTo&&(null==c.updateLineNumbers||c.updateLineNumbers>=c.viewTo)&&c.renderedView==c.view&&0==Jd(a))return!1;Fd(a)&&(qa(a),b.dims=Lc(a));var e=d.first+d.size,f=Math.max(b.visible.from-a.options.viewportMargin, -d.first),g=Math.min(e,b.visible.to+a.options.viewportMargin);c.viewFromf-c.viewFrom&&(f=Math.max(d.first,c.viewFrom));c.viewTo>g&&20>c.viewTo-g&&(g=Math.min(e,c.viewTo));ra&&(f=Nc(a.doc,f),g=Kd(a.doc,g));d=f!=c.viewFrom||g!=c.viewTo||c.lastWrapHeight!=b.wrapperHeight||c.lastWrapWidth!=b.wrapperWidth;e=a.display;0==e.view.length||f>=e.viewTo||g<=e.viewFrom?(e.view=Lb(a,f,g),e.viewFrom=f):(e.viewFrom>f?e.view=Lb(a,f,e.viewFrom).concat(e.view):e.viewFromg&&(e.view=e.view.slice(0,Aa(a,g))));e.viewTo=g;c.viewOffset=ea(t(a.doc,c.viewFrom));a.display.mover.style.top=c.viewOffset+"px";g=Jd(a);if(!d&&0==g&&!b.force&&c.renderedView==c.view&&(null==c.updateLineNumbers||c.updateLineNumbers>=c.viewTo))return!1;f=fa();4=a.display.viewFrom&&b.visible.to<=a.display.viewTo)break;if(!Mc(a,b))break;Jb(a);d=hb(a); -lb(a);Na(a,d);Pc(a,d)}b.signal(a,"update",a);if(a.display.viewFrom!=a.display.reportedViewFrom||a.display.viewTo!=a.display.reportedViewTo)b.signal(a,"viewportChange",a,a.display.viewFrom,a.display.viewTo),a.display.reportedViewFrom=a.display.viewFrom,a.display.reportedViewTo=a.display.viewTo}function Qc(a,b){var c=new Kb(a,b);if(Mc(a,c)){Jb(a);Ld(a,c);var d=hb(a);lb(a);Na(a,d);Pc(a,d);c.finish()}}function Pc(a,b){a.display.sizer.style.minHeight=b.docHeight+"px";a.display.heightForcer.style.top=b.docHeight+ -"px";a.display.gutters.style.height=b.docHeight+a.display.barHeight+da(a)+"px"}function Jb(a){a=a.display;for(var b=a.lineDiv.offsetTop,c=0;cB){var f=d.node.offsetTop+d.node.offsetHeight;e=f-b;b=f}else e=d.node.getBoundingClientRect(),e=e.bottom-e.top;f=d.line.height-e;2>e&&(e=va(a));if(.001f)if(ca(d.line,e),Md(d.line),d.rest)for(e=0;eB&&(a.node.style.zIndex=2));return a.node}function Od(a,b){var c=a.display.externalMeasured;return c&&c.line==b.line?(a.display.externalMeasured=null,b.measure=c.measure,c.built):Rd(a,b)}function Rc(a){var b=a.bgClass?a.bgClass+" "+(a.line.bgClass||""):a.line.bgClass; -b&&(b+=" CodeMirror-linebackground");if(a.background)b?a.background.className=b:(a.background.parentNode.removeChild(a.background),a.background=null);else if(b){var c=mb(a);a.background=c.insertBefore(s("div",null,b),c.firstChild)}a.line.wrapClass?mb(a).className=a.line.wrapClass:a.node!=a.text&&(a.node.className="");a.text.className=(a.textClass?a.textClass+" "+(a.line.textClass||""):a.line.textClass)||""}function Pd(a,b,c,d){b.gutter&&(b.node.removeChild(b.gutter),b.gutter=null);b.gutterBackground&& -(b.node.removeChild(b.gutterBackground),b.gutterBackground=null);if(b.line.gutterClass){var e=mb(b);b.gutterBackground=s("div",null,"CodeMirror-gutter-background "+b.line.gutterClass,"left: "+(a.options.fixedGutter?d.fixedPos:-d.gutterTotalWidth)+"px; width: "+d.gutterTotalWidth+"px");e.insertBefore(b.gutterBackground,b.text)}var f=b.line.gutterMarkers;if(a.options.lineNumbers||f){var e=mb(b),g=b.gutter=s("div",null,"CodeMirror-gutter-wrapper","left: "+(a.options.fixedGutter?d.fixedPos:-d.gutterTotalWidth)+ -"px");a.display.input.setUneditable(g);e.insertBefore(g,b.text);b.line.gutterClass&&(g.className+=" "+b.line.gutterClass);!a.options.lineNumbers||f&&f["CodeMirror-linenumbers"]||(b.lineNumber=g.appendChild(s("div",Kc(a.options,c),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+d.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+a.display.lineNumInnerWidth+"px")));if(f)for(b=0;bw(a,b)?b:a}function Nb(a,b){return 0>w(a,b)?a:b}function Td(a){a.state.focused||(a.display.input.focus(),yc(a))}function Ob(a,b,c,d,e){var f=a.doc;a.display.shift=!1;d||(d=f.sel);var g=a.state.pasteIncoming||"paste"==e,h=f.splitLines(b),k=null;if(g&&1e?k.map:l[e],g=0;ge?a.line:a.rest[e]);e=f[g]+d;if(0>d||h!=b)e=f[g+(d?1:0)];return r(c,e)}}}var e=a.text.firstChild,f=!1;if(!b||!Wc(e, -b))return Qa(r(F(a.line),0),!0);if(b==e&&(f=!0,b=e.childNodes[c],c=0,!b))return c=a.rest?z(a.rest):a.line,Qa(r(F(c),c.text.length),f);var g=3==b.nodeType?b:null,h=b;g||1!=b.childNodes.length||3!=b.firstChild.nodeType||(g=b.firstChild,c&&(c=g.nodeValue.length));for(;h.parentNode!=e;)h=h.parentNode;var k=a.measure,l=k.maps;if(b=d(g,h,c))return Qa(b,f);e=h.nextSibling;for(g=g?g.nodeValue.length-c:0;e;e=e.nextSibling){if(b=d(e,e.firstChild,0))return Qa(r(b.line,b.ch-g),f);g+=e.textContent.length}h=h.previousSibling; -for(g=c;h;h=h.previousSibling){if(b=d(h,h.firstChild,-1))return Qa(r(b.line,b.ch+g),f);g+=h.textContent.length}}function Df(a,b,c,d,e){function f(a){return function(b){return b.id==a}}function g(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)""==c&&(c=b.textContent.replace(/\u200b/g,"")),h+=c;else{var c=b.getAttribute("cm-marker"),n;if(c)b=a.findMarks(r(d,0),r(e+1,0),f(+c)),b.length&&(n=b[0].find())&&(h+=Ba(a.doc,n.from,n.to).join(l));else if("false"!=b.getAttribute("contenteditable")){for(n= -0;nc)return r(c,t(a,c).text.length);var c=t(a,b.line).text.length,d=b.ch,c=null==d||d>c?r(b.line,c):0>d?r(b.line,0):b;return c}function pb(a,b){return b>=a.first&&bw(c,a),b!=0>w(d,a)?(a=c,c=d):b!=0>w(c,d)&&(c=d)),new y(a,c)):new y(d||c,c)}function Sb(a,b,c,d){C(a,new ka([qb(a,a.sel.primary(),b,c)],0),d)}function ce(a,b,c){for(var d=[],e=0;ew(b.primary().head,a.sel.primary().head)? --1:1);fe(a,ge(a,b,d,!0));c&&!1===c.scroll||!a.cm||Pa(a.cm)}function fe(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=!0,he(a.cm)),R(a,"cursorActivity",a))}function ie(a){fe(a,ge(a,a.sel,null,!1),ha)}function ge(a,b,c,d){for(var e,f=0;f=b.ch:h.to>b.ch))){if(e&&(J(k,"beforeCursorEnter"),k.explicitlyCleared))if(f.markedSpans){--g;continue}else break;if(k.atomic){if(c){var g=k.find(0>d?1:-1),l;if(0>d?k.inclusiveRight:k.inclusiveLeft)g=je(a,g,-d,g&&g.line==b.line?f:null);if(g&& -g.line==b.line&&(l=w(g,c))&&(0>d?0>l:0d?-1:1);if(0>d?k.inclusiveLeft:k.inclusiveRight)c=je(a,c,d,c.line==b.line?f:null);return c?Ra(a,c,b,d,e):null}}}return b}function Yc(a,b,c,d,e){d=d||1;b=Ra(a,b,c,d,e)||!e&&Ra(a,b,c,d,!0)||Ra(a,b,c,-d,e)||!e&&Ra(a,b,c,-d,!0);return b?b:(a.cantEdit=!0,r(a.first,0))}function je(a,b,c,d){return 0>c&&0==b.ch?b.line>a.first?x(a,r(b.line-1)):null:0=a.display.viewTo||h.to().lineb&&(b=0);b=Math.round(b); -d=Math.round(d);h.appendChild(s("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px; top: "+b+"px; width: "+(null==c?m-a:c)+"px; height: "+(d-b)+"px"))}function e(b,c,e){var f=t(g,b),h=f.text.length,k,p;Gf(Z(f),c||0,null==e?h:e,function(g,q,s){var t=Vb(a,r(b,g),"div",f,"left"),v,u;g==q?(v=t,s=u=t.left):(v=Vb(a,r(b,q-1),"div",f,"right"),"rtl"==s&&(s=t,t=v,v=s),s=t.left,u=v.right);null==c&&0==g&&(s=l);3p.bottom||v.bottom==p.bottom&&v.right>p.right)p=v;sa.options.cursorBlinkRate&&(b.cursorDiv.style.visibility= -"hidden")}}function db(a,b){a.doc.mode.startState&&a.doc.frontier=a.display.viewTo)){var c=+new Date+a.options.workTime,d=sa(b.mode,rb(a,b.frontier)),e=[];b.iter(b.frontier,Math.min(b.first+b.size,a.display.viewTo+500),function(f){if(b.frontier>=a.display.viewFrom){var g=f.styles,h=f.text.length>a.options.maxHighlightLength,k=ne(a,f,h?sa(b.mode,d):d,!0);f.styles= -k.styles;var l=f.styleClasses;(k=k.classes)?f.styleClasses=k:l&&(f.styleClasses=null);l=!g||g.length!=f.styles.length||l!=k&&(!l||!k||l.bgClass!=k.bgClass||l.textClass!=k.textClass);for(k=0;!l&&kc)return db(a,a.options.workDelay),!0});e.length&&T(a,function(){for(var b=0;bg;--b){if(b<=f.first)return f.first;var h=t(f,b-1);if(h.stateAfter&&(!c||b<=f.frontier))return b;h=aa(h.text,null,a.options.tabSize);if(null==e||d>h)e=b-1,d=h}return e}function rb(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return!0;var f=If(a,b,c),g=f>d.first&&t(d,f-1).stateAfter,g=g?sa(d.mode,g):Jf(d.mode);d.iter(f,b,function(c){$c(a,c.text,g);c.stateAfter=f==b-1||0==f%5||f>=e.viewFrom&&fc)return{map:a.measure.maps[d],cache:a.measure.caches[d],before:!0}}function Vc(a,b){if(b>=a.display.viewFrom&&b=c.lineN&&bE;E++){for(;h&&sb(b.line.text.charAt(g.coverStart+h));)--h;for(;g.coverStart+kB&&0==h&&k==g.coverEnd-g.coverStart)n=d.parentNode.getBoundingClientRect();else{n=Sa(d,h,k).getClientRects();k=pe;if("left"==m)for(l=0;lB&&((E=!window.screen||null==screen.logicalXDPI||screen.logicalXDPI== -screen.deviceXDPI)||(null!=ad?E=ad:(m=U(a.display.measure,s("span","x")),E=m.getBoundingClientRect(),m=Sa(m,0,1).getBoundingClientRect(),E=ad=1B)||h||n&&(n.left||n.right)||(n=(n=d.parentNode.getClientRects()[0])? -{left:n.left,right:n.left+eb(a.display),top:n.top,bottom:n.bottom}:pe);d=n.top-b.rect.top;h=n.bottom-b.rect.top;m=(d+h)/2;g=b.view.measure.heights;for(E=0;Eb)f=l-k,e=f-1,b>=l&&(g="right");if(null!=e){d=a[h+2];k==l&&c==(d.insertLeft?"left":"right")&&(g=c);if("left"==c&&0==e)for(;h&&a[h-2]==a[h-3]&&a[h-1].insertLeft;)d=a[(h-=3)+2],g="left";if("right"==c&&e==l-k)for(;hc.from?g(a-1):g(a,d)}d=d||t(a.doc,b.line);e||(e=Wb(a,d));var k=Z(d);b=b.ch;if(!k)return g(b);var l=Qb(k,b),l=h(b,l);null!=ub&&(l.other=h(b,ub));return l}function te(a, -b){var c=0;b=x(a.doc,b);a.options.lineWrapping||(c=eb(a.display)*b.ch);var d=t(a.doc,b.line),e=ea(d)+a.display.lineSpace.offsetTop;return{left:c,right:c,top:e,bottom:e+d.height}}function Yb(a,b,c,d){a=r(a,b);a.xRel=d;c&&(a.outside=!0);return a}function ed(a,b,c){var d=a.doc;c+=a.display.viewOffset;if(0>c)return Yb(d.first,0,!0,-1);var e=ya(d,c),f=d.first+d.size-1;if(e>f)return Yb(d.first+d.size-1,t(d,f).text.length,!0,1);0>b&&(b=0);for(d=t(d,e);;)if(e=Kf(a,d,e,b,c),f=(d=xa(d,!1))&&d.find(0,!0),d&& -(e.ch>f.from.ch||e.ch==f.from.ch&&0d.bottom)return d.left-k;if(gs)return Yb(c,n,t,1);for(;;){if(e?n==p||n==fd(b,p,1):1>=n-p){m=d=e.top&&Math.abs(d-e.right)p?-1:1d){n=u;s=w;if(t=h)s+=1E3;m=v}else p=u,E=w,q=h,m-=v}}function va(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==Ca){Ca=s("pre");for(var b=0;49>b;++b)Ca.appendChild(document.createTextNode("x")),Ca.appendChild(s("br")); -Ca.appendChild(document.createTextNode("x"))}U(a.measure,Ca);b=Ca.offsetHeight/50;3=d.viewTo)||d.maxLineChanged&&c.options.lineWrapping;e.update=e.mustUpdate&&new Kb(c,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}for(b=0;bl;l++){var m=!1,p=la(c,h),n=g&&g!=h?la(c,g):p,n=ac(c,Math.min(p.left,n.left),Math.min(p.top,n.top)-k,Math.max(p.left,n.left),Math.max(p.bottom,n.bottom)+k),q=c.doc.scrollTop,r=c.doc.scrollLeft;null!=n.scrollTop&&(jb(c,n.scrollTop),1g.top+l.top?h=!0:g.bottom+l.top>(window.innerHeight||document.documentElement.clientHeight)&&(h=!1),null==h||Mf||(g=s("div","​",null,"position: absolute; top: "+(g.top-k.viewOffset-c.display.lineSpace.offsetTop)+"px; height: "+(g.bottom-g.top+da(c)+k.barHeight)+"px; left: "+g.left+ -"px; width: 2px;"),c.display.lineSpace.appendChild(g),g.scrollIntoView(h),c.display.lineSpace.removeChild(g))))}h=e.maybeHiddenMarkers;g=e.maybeUnhiddenMarkers;if(h)for(k=0;kb)&&(e.updateLineNumbers=b);a.curOp.viewChanged=!0;if(b>=e.viewTo)ra&&Nc(a.doc,b)e.viewFrom? -qa(a):(e.viewFrom+=d,e.viewTo+=d);else if(b<=e.viewFrom&&c>=e.viewTo)qa(a);else if(b<=e.viewFrom){var f=bc(a,c,c+d,1);f?(e.view=e.view.slice(f.index),e.viewFrom=f.lineN,e.viewTo+=d):qa(a)}else if(c>=e.viewTo)(f=bc(a,b,b,-1))?(e.view=e.view.slice(0,f.index),e.viewTo=f.lineN):qa(a);else{var f=bc(a,b,b,-1),g=bc(a,c,c+d,1);f&&g?(e.view=e.view.slice(0,f.index).concat(Lb(a,f.lineN,g.lineN)).concat(e.view.slice(g.index)),e.viewTo+=d):qa(a)}if(a=e.externalMeasured)c=e.lineN&&b=d.viewTo||(a=d.view[Aa(a,b)],null!=a.node&&(a=a.changes||(a.changes=[]),-1==D(a,c)&&a.push(c)))}function qa(a){a.display.viewFrom=a.display.viewTo=a.doc.first;a.display.view=[];a.display.viewOffset=0}function Aa(a,b){if(b>=a.display.viewTo)return null;b-=a.display.viewFrom;if(0>b)return null;for(var c=a.display.view,d=0;db)return d}function bc(a,b,c,d){var e=Aa(a,b),f=a.display.view;if(!ra||c==a.doc.first+a.doc.size)return{index:e,lineN:c};for(var g=0,h=a.display.viewFrom;gd?0:f.length-1))return null;c+=d*f[e-(0>d?1:0)].size;e+=d}return{index:e,lineN:c}}function Jd(a){a=a.display.view;for(var b=0,c=0;cB?v(d.scroller,"dblclick",G(a,function(b){if(!H(a,b)){var c=Da(a,b);!c||gd(a,b,"gutterClick",!0)||na(a.display,b)||(O(b),b=a.findWordAt(c),Sb(a.doc,b.anchor,b.head))}})):v(d.scroller,"dblclick",function(b){H(a,b)||O(b)});hd||v(d.scroller,"contextmenu",function(b){ue(a, -b)});var e,f={end:0};v(d.scroller,"touchstart",function(b){var c;if(c=!H(a,b))1!=b.touches.length?c=!1:(c=b.touches[0],c=1>=c.radiusX&&1>=c.radiusY),c=!c;c&&(clearTimeout(e),c=+new Date,d.activeTouch={start:c,moved:!1,prev:300>=c-f.end?f:null},1==b.touches.length&&(d.activeTouch.left=b.touches[0].pageX,d.activeTouch.top=b.touches[0].pageY))});v(d.scroller,"touchmove",function(){d.activeTouch&&(d.activeTouch.moved=!0)});v(d.scroller,"touchend",function(e){var f=d.activeTouch;if(f&&!na(d,e)&&null!= -f.left&&!f.moved&&300>new Date-f.start){var g=a.coordsChar(d.activeTouch,"page"),f=!f.prev||c(f,f.prev)?new y(g,g):!f.prev.prev||c(f,f.prev.prev)?a.findWordAt(g):new y(r(g.line,0),x(a.doc,r(g.line+1,0)));a.setSelection(f.anchor,f.head);a.focus();O(e)}b()});v(d.scroller,"touchcancel",b);v(d.scroller,"scroll",function(){d.scroller.clientHeight&&(jb(a,d.scroller.scrollTop),Ma(a,d.scroller.scrollLeft,!0),J(a,"scroll",a))});v(d.scroller,"mousewheel",function(b){ve(a,b)});v(d.scroller,"DOMMouseScroll", -function(b){ve(a,b)});v(d.wrapper,"scroll",function(){d.wrapper.scrollTop=d.wrapper.scrollLeft=0});d.dragFunctions={enter:function(b){H(a,b)||cc(b)},over:function(b){if(!H(a,b)){var c=Da(a,b);if(c){var d=document.createDocumentFragment();le(a,c,d);a.display.dragCursor||(a.display.dragCursor=s("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv));U(a.display.dragCursor,d)}cc(b)}},start:function(b){if(A&&(!a.state.draggingText|| -100>+new Date-we))cc(b);else if(!H(a,b)&&!na(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage&&!xe)){var c=s("img",null,null,"position: fixed; left: 0; top: 0;");c.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d";ba&&(c.width=c.height=1,a.display.wrapper.appendChild(c),c._top=c.offsetTop);b.dataTransfer.setDragImage(c,0,0);ba&&c.parentNode.removeChild(c)}},drop:G(a,Of),leave:function(b){H(a, -b)||ye(a)}};var g=d.input.getField();v(g,"keyup",function(b){ze.call(a,b)});v(g,"keydown",G(a,Ae));v(g,"keypress",G(a,Be));v(g,"focus",function(b){yc(a,b)});v(g,"blur",function(b){bb(a,b)})}function Pf(a){var b=a.display;if(b.lastWrapHeight!=b.wrapper.clientHeight||b.lastWrapWidth!=b.wrapper.clientWidth)b.cachedCharWidth=b.cachedTextHeight=b.cachedPaddingH=null,b.scrollbarsClipped=!1,a.setSize()}function na(a,b){for(var c=b.target||b.srcElement;c!=a.wrapper;c=c.parentNode)if(!c||1==c.nodeType&&"true"== -c.getAttribute("cm-ignore-events")||c.parentNode==a.sizer&&c!=a.mover)return!0}function Da(a,b,c,d){var e=a.display;if(!c&&"true"==(b.target||b.srcElement).getAttribute("cm-not-content"))return null;var f,g;c=e.lineSpace.getBoundingClientRect();try{f=b.clientX-c.left,g=b.clientY-c.top}catch(h){return null}b=ed(a,f,g);var k;d&&1==b.xRel&&(k=t(a.doc,b.line).text).length==b.ch&&(d=aa(k,k.length,a.options.tabSize)-k.length,b=r(b.line,Math.max(0,Math.round((f-me(a.display).left)/eb(a.display))-d)));return b} -function Nf(a){var b=this.display;if(!(H(this,a)||b.activeTouch&&b.input.supportsTouch()))if(b.shift=a.shiftKey,na(b,a))K||(b.scroller.draggable=!1,setTimeout(function(){b.scroller.draggable=!0},100));else if(!gd(this,a,"gutterClick",!0)){var c=Da(this,a);window.focus();switch(Ce(a)){case 1:this.state.selectingText?this.state.selectingText(a):c?Qf(this,a,c):(a.target||a.srcElement)==b.scroller&&O(a);break;case 2:K&&(this.state.lastMiddleDown=+new Date);c&&Sb(this.doc,c);setTimeout(function(){b.input.focus()}, -20);O(a);break;case 3:hd?ue(this,a):Rf(this)}}}function Qf(a,b,c){A?setTimeout(xc(Td,a),0):a.curOp.focus=fa();var d=+new Date,e;dc&&dc.time>d-400&&0==w(dc.pos,c)?e="triple":ec&&ec.time>d-400&&0==w(ec.pos,c)?(e="double",dc={time:d,pos:c}):(e="single",ec={time:d,pos:c});var d=a.doc.sel,f=Y?b.metaKey:b.ctrlKey,g;a.options.dragDrop&&Sf&&!a.isReadOnly()&&"single"==e&&-1<(g=d.contains(c))&&(0>w((g=d.ranges[g]).from(),c)||0c.xRel)?Tf(a,b,c,f):Uf(a,b,c,e,f)}function Tf(a,b,c,d){var e= -a.display,f=+new Date,g=G(a,function(h){K&&(e.scroller.draggable=!1);a.state.draggingText=!1;ja(document,"mouseup",g);ja(e.scroller,"drop",g);10>Math.abs(b.clientX-h.clientX)+Math.abs(b.clientY-h.clientY)&&(O(h),!d&&+new Date-200E&&e.push(new y(r(h,E),r(h,De(s,g,f))))}e.length||e.push(new y(c,c));C(l,$(n.ranges.slice(0,p).concat(e),p),{origin:"*mouse",scroll:!1});a.scrollIntoView(b)}else e= -m,f=e.anchor,k=b,"single"!=d&&(b="double"==d?a.findWordAt(b):new y(r(b.line,0),x(l,r(b.line+1,0))),0=h.to||e.lineA.bottom?20:0;m&&setTimeout(G(a,function(){z== -c&&(k.scroller.scrollTop+=m,g(b))}),50)}}function h(b){a.state.selectingText=!1;z=Infinity;O(b);k.input.focus();ja(document,"mousemove",F);ja(document,"mouseup",B);l.history.lastSelOrigin=null}var k=a.display,l=a.doc;O(b);var m,p,n=l.sel,q=n.ranges;e&&!b.shiftKey?(p=l.sel.contains(c),m=-1=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&O(b);d=a.display;var h=d.lineDiv.getBoundingClientRect();if(f>h.bottom||!W(a,c))return jd(b);f-=h.top-d.viewOffset;for(h=0;h=e)return e=ya(a.doc,f),J(a,c,a,e,a.options.gutters[h],b),jd(b)}}function Of(a){var b= -this;ye(b);if(!H(b,a)&&!na(b.display,a)){O(a);A&&(we=+new Date);var c=Da(b,a,!0),d=a.dataTransfer.files;if(c&&!b.isReadOnly())if(d&&d.length&&window.FileReader&&window.File){var e=d.length,f=Array(e),g=0;a=function(a,d){if(!b.options.allowDropFileTypes||-1!=D(b.options.allowDropFileTypes,a.type)){var h=new FileReader;h.onload=G(b,function(){var a=h.result;/[\x00-\x08\x0e-\x1f]{2}/.test(a)&&(a="");f[d]=a;++g==e&&(c=x(b.doc,c),a={from:c,to:c,text:b.doc.splitLines(f.join(b.doc.lineSeparator())),origin:"paste"}, -Oa(b.doc,a),de(b.doc,ga(c,Ea(a))))});h.readAsText(a)}};for(var h=0;hMath.abs(a.doc.scrollTop-b)||(a.doc.scrollTop=b,oa||Qc(a,{top:b}),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b),a.display.scrollbars.setScrollTop(b),oa&&Qc(a),db(a,100))}function Ma(a,b,c){(c?b==a.doc.scrollLeft:2>Math.abs(a.doc.scrollLeft-b))||(b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth),a.doc.scrollLeft=b,Cc(a), -a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=b),a.display.scrollbars.setScrollLeft(b))}function ve(a,b){var c=Ee(b),d=c.x,c=c.y,e=a.display,f=e.scroller,g=f.scrollWidth>f.clientWidth,h=f.scrollHeight>f.clientHeight;if(d&&g||c&&h){if(c&&Y&&K){var g=b.target,k=e.view;a:for(;g!=f;g=g.parentNode)for(var l=0;lh?g=Math.max(0,g+ -h-50):k=Math.min(a.doc.height,k+h+50),Qc(a,{top:g,bottom:k})),20>fc&&(null==e.wheelStartX?(e.wheelStartX=f.scrollLeft,e.wheelStartY=f.scrollTop,e.wheelDX=d,e.wheelDY=c,setTimeout(function(){if(null!=e.wheelStartX){var a=f.scrollLeft-e.wheelStartX,b=f.scrollTop-e.wheelStartY,a=b&&e.wheelDY&&b/e.wheelDY||a&&e.wheelDX&&a/e.wheelDX;e.wheelStartX=e.wheelStartY=null;a&&(V=(V*fc+a)/(fc+1),++fc)}},200)):(e.wheelDX+=d,e.wheelDY+=c))):(c&&h&&jb(a,Math.max(0,Math.min(f.scrollTop+c*V,f.scrollHeight-f.clientHeight))), -Ma(a,Math.max(0,Math.min(f.scrollLeft+d*V,f.scrollWidth-f.clientWidth))),(!c||c&&h)&&O(b),e.wheelStartX=null)}}function gc(a,b,c){if("string"==typeof b&&(b=hc[b],!b))return!1;a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=Fe}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function Wf(a,b,c){for(var d=0;dB&&27==a.keyCode&&(a.returnValue=!1);var b=a.keyCode;this.display.shift=16==b||a.shiftKey;var c=Ge(this,a);ba&&(kd=c?b:null,!c&&88==b&&!He&&(Y?a.metaKey:a.ctrlKey)&&this.replaceSelection("",null,"cut"));18!=b||/\bCodeMirror-crosshair\b/.test(this.display.lineDiv.className)|| -ag(this)}}function ag(a){function b(a){18!=a.keyCode&&a.altKey||(ib(c,"CodeMirror-crosshair"),ja(document,"keyup",b),ja(document,"mouseover",b))}var c=a.display.lineDiv;kb(c,"CodeMirror-crosshair");v(document,"keyup",b);v(document,"mouseover",b)}function ze(a){16==a.keyCode&&(this.doc.sel.shift=!1);H(this,a)}function Be(a){if(!(na(this.display,a)||H(this,a)||a.ctrlKey&&!a.altKey||Y&&a.metaKey)){var b=a.keyCode,c=a.charCode;if(ba&&b==kd)kd=null,O(a);else if(!ba||a.which&&!(10>a.which)||!Ge(this,a))if(b= -String.fromCharCode(null==c?b:c),!$f(this,a,b))this.display.input.onKeyPress(a)}}function Rf(a){a.state.delayingBlurEvent=!0;setTimeout(function(){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1,bb(a))},100)}function yc(a,b){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1);"nocursor"!=a.options.readOnly&&(a.state.focused||(J(a,"focus",a,b),a.state.focused=!0,kb(a.display.wrapper,"CodeMirror-focused"),a.curOp||a.display.selForContextMenu==a.doc.sel||(a.display.input.reset(),K&&setTimeout(function(){a.display.input.reset(!0)}, -20)),a.display.input.receivedFocus()),Zc(a))}function bb(a,b){a.state.delayingBlurEvent||(a.state.focused&&(J(a,"blur",a,b),a.state.focused=!1,ib(a.display.wrapper,"CodeMirror-focused")),clearInterval(a.display.blinker),setTimeout(function(){a.state.focused||(a.display.shift=!1)},150))}function ue(a,b){var c;(c=na(a.display,b))||(c=W(a,"gutterContextMenu")?gd(a,b,"gutterContextMenu",!1):!1);if(!c&&!H(a,b,"contextmenu"))a.display.input.onContextMenu(b)}function Ie(a,b){if(0>w(a,b.from))return a;if(0>= -w(a,b.to))return Ea(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;a.line==b.to.line&&(d+=Ea(b).ch-b.to.ch);return r(c,d)}function ld(a,b){for(var c=[],d=0;da.lastLine())){if(b.from.linee&&(b={from:b.from,to:r(e,t(a,e).text.length),text:[b.text[0]],origin:b.origin});b.removed=Ba(a,b.from,b.to);c||(c=ld(a,b));a.cm?cg(a.cm,b,d):od(a,b,d);Tb(a,c,ha)}}function cg(a,b,c){var d=a.doc,e=a.display,f=b.from,g=b.to,h=!1,k=f.line;a.options.lineWrapping|| -(k=F(ia(t(d,f.line))),d.iter(k,g.line+1,function(a){if(a==e.maxLine)return h=!0}));-1e.maxLineLength&&(e.maxLine=a,e.maxLineLength=b,e.maxLineChanged=!0,h=!1)}),h&&(a.curOp.updateMaxLine=!0));d.frontier=Math.min(d.frontier,f.line);db(a,400);c=b.text.length-(g.line-f.line)-1;b.full?M(a):f.line!=g.line||1!=b.text.length||Re(a.doc,b)?M(a,f.line,g.line+1,c):ma(a,f.line, -"text");c=W(a,"changes");if((d=W(a,"change"))||c)b={from:f,to:g,text:b.text,removed:b.removed,origin:b.origin},d&&R(a,"change",a,b),c&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(b);a.display.selForContextMenu=null}function Ua(a,b,c,d,e){d||(d=c);if(0>w(d,c)){var f=d;d=c;c=f}"string"==typeof b&&(b=a.splitLines(b));Oa(a,{from:c,to:d,text:b,origin:e})}function ac(a,b,c,d,e){var f=a.display,g=va(a.display);0>c&&(c=0);var h=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:f.scroller.scrollTop, -k=Oc(a),l={};e-c>k&&(e=c+k);var m=a.doc.height+Fc(f),p=cm-g;ch+k&&(c=Math.min(c,(g?m:e)-k),c!=h&&(l.scrollTop=c));h=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:f.scroller.scrollLeft;a=za(a)-(a.options.fixedGutter?f.gutters.offsetWidth:0);(f=d-b>a)&&(d=b+a);10>b?l.scrollLeft=0:ba+h-3&&(l.scrollLeft=d+(f?0:10)-a);return l}function kc(a,b,c){null==b&&null==c||lc(a);null!=b&&(a.curOp.scrollLeft=(null==a.curOp.scrollLeft?a.doc.scrollLeft: -a.curOp.scrollLeft)+b);null!=c&&(a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc.scrollTop:a.curOp.scrollTop)+c)}function Pa(a){lc(a);var b=a.getCursor(),c=b,d=b;a.options.lineWrapping||(c=b.ch?r(b.line,b.ch-1):b,d=r(b.line,b.ch+1));a.curOp.scrollToPos={from:c,to:d,margin:a.options.cursorScrollMargin,isCursor:!0}}function lc(a){var b=a.curOp.scrollToPos;if(b){a.curOp.scrollToPos=null;var c=te(a,b.from),d=te(a,b.to),b=ac(a,Math.min(c.left,d.left),Math.min(c.top,d.top)-b.margin,Math.max(c.right,d.right), -Math.max(c.bottom,d.bottom)+b.margin);a.scrollTo(b.scrollLeft,b.scrollTop)}}function nb(a,b,c,d){var e=a.doc,f;null==c&&(c="add");"smart"==c&&(e.mode.indent?f=rb(a,b):c="prev");var g=a.options.tabSize,h=t(e,b),k=aa(h.text,null,g);h.stateAfter&&(h.stateAfter=null);var l=h.text.match(/^\s*/)[0],m;if(!d&&!/\S/.test(h.text))m=0,c="not";else if("smart"==c&&(m=e.mode.indent(f,h.text.slice(l.length),h.text),m==Fe||150e.first?aa(t(e,b-1).text,null,g):0:"add"==c?m= -k+a.options.indentUnit:"subtract"==c?m=k-a.options.indentUnit:"number"==typeof c&&(m=k+c);m=Math.max(0,m);c="";d=0;if(a.options.indentWithTabs)for(a=Math.floor(m/g);a;--a)d+=g,c+="\t";d=w(f.from,z(d).to);){var g=d.pop();if(0>w(g.from,f.from)){f.from=g.from;break}}d.push(f)}T(a,function(){for(var b=d.length-1;0<=b;b--)Ua(a.doc,"",d[b].from,d[b].to,"+delete");Pa(a)})}function qd(a,b,c,d,e){function f(b){var d=(e?fd:Se)(l,h,c,!0);if(null==d){if(b=!b)b=g+c,b=a.first+a.size?b=!1:(g=b,b=l=t(a,b));if(b)h= -e?(0>c?$b:Zb)(l):0>c?l.text.length:0;else return!1}else h=d;return!0}var g=b.line,h=b.ch,k=c,l=t(a,g);if("char"==d)f();else if("column"==d)f(!0);else if("word"==d||"group"==d){var m=null;d="group"==d;for(var p=a.cm&&a.cm.getHelper(b,"wordChars"),n=!0;!(0>c)||f(!n);n=!1){var q=l.text.charAt(h)||"\n",q=nc(q,p)?"w":d&&"\n"==q?"n":!d||/\s/.test(q)?null:"p";!d||n||q||(q="s");if(m&&m!=q){0>c&&(c=1,f());break}q&&(m=q);if(0c?0>=g:g>=e.height){b.hitSide=!0;break}g+=5*c}return b}function u(a,b,c,d){q.defaults[a]=b;c&&(Ka[a]=d?function(a,b,d){d!=Ed&&c(a,b,d)}:c)}function dg(a){var b=a.split(/-(?!$)/);a=b[b.length-1];for(var c,d,e,f,g=0;g< -b.length-1;g++){var h=b[g];if(/^(cmd|meta|m)$/i.test(h))f=!0;else if(/^a(lt)?$/i.test(h))c=!0;else if(/^(c|ctrl|control)$/i.test(h))d=!0;else if(/^s(hift)$/i.test(h))e=!0;else throw Error("Unrecognized modifier name: "+h);}c&&(a="Alt-"+a);d&&(a="Ctrl-"+a);f&&(a="Cmd-"+a);e&&(a="Shift-"+a);return a}function oc(a){return"string"==typeof a?ta[a]:a}function Wa(a,b,c,d,e){if(d&&d.shared)return eg(a,b,c,d,e);if(a.cm&&!a.cm.curOp)return G(a.cm,Wa)(a,b,c,d,e);var f=new Ga(a,e);e=w(b,c);d&&X(d,f,!1);if(0< -e||0==e&&!1!==f.clearWhenEmpty)return f;f.replacedWith&&(f.collapsed=!0,f.widgetNode=s("span",[f.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||f.widgetNode.setAttribute("cm-ignore-events","true"),d.insertLeft&&(f.widgetNode.insertLeft=!0));if(f.collapsed){if(Ue(a,b.line,b,c,f)||b.line!=c.line&&Ue(a,c.line,b,c,f))throw Error("Inserting collapsed marker partially overlapping an existing one");ra=!0}f.addToHistory&&Ne(a,{from:b,to:c,origin:"markText"},a.sel,NaN);var g=b.line,h=a.cm,k;a.iter(g, -c.line+1,function(a){h&&f.collapsed&&!h.options.lineWrapping&&ia(a)==h.display.maxLine&&(k=!0);f.collapsed&&g!=b.line&&ca(a,0);var d=new pc(f,g==b.line?b.ch:null,g==c.line?c.ch:null);a.markedSpans=a.markedSpans?a.markedSpans.concat([d]):[d];d.marker.attachLine(a);++g});f.collapsed&&a.iter(b.line,c.line+1,function(b){wa(a,b)&&ca(b,0)});f.clearOnEnter&&v(f,"beforeCursorEnter",function(){f.clear()});f.readOnly&&(Le=!0,(a.history.done.length||a.history.undone.length)&&a.clearHistory());f.collapsed&&(f.id= -++rd,f.atomic=!0);if(h){k&&(h.curOp.updateMaxLine=!0);if(f.collapsed)M(h,b.line,c.line+1);else if(f.className||f.title||f.startStyle||f.endStyle||f.css)for(d=b.line;d<=c.line;d++)ma(h,d,"text");f.atomic&&ie(h.doc);R(h,"markerAdded",h,f)}return f}function eg(a,b,c,d,e){d=X(d);d.shared=!1;var f=[Wa(a,b,c,d,e)],g=f[0],h=d.widgetNode;Fa(a,function(a){h&&(d.widgetNode=h.cloneNode(!0));f.push(Wa(a,x(a,b),x(a,c),d,e));for(var l=0;l=e:l.to>e);(k||(k=[])).push(new pc(m,l.from,p?null:l.to))}}c=k;if(d)for(var h=0,n;h=f:k.to>f)||k.from==f&&"bookmark"==l.type&&(!g||k.marker.insertLeft))m=null==k.from||(l.inclusiveLeft?k.from<=f:k.fromw(g.to,e.from)||0k||!c.inclusiveLeft&&!k)&&h.push({from:g.from,to:e.from});(0Ze(d,e.marker))&&(d=e.marker);return d}function Ue(a,b,c,d,e){a=t(a,b);if(a=ra&&a.markedSpans)for(b=0;b=k||0>=h&&0<=k)&&(0>=h&&(f.marker.inclusiveRight&&e.inclusiveLeft?0<=w(g.to,c):0=w(g.from,d):0>w(g.from,d))))return!0}}}function ia(a){for(var b;b=xa(a,!0);)a=b.find(-1,!0).line;return a}function Nc(a,b){var c=t(a,b),d=ia(c);return c==d?b:F(d)} -function Kd(a,b){if(b>a.lastLine())return b;var c=t(a,b),d;if(!wa(a,c))return b;for(;d=xa(c,!1);)c=d.find(1,!0).line;return F(c)+1}function wa(a,b){var c=ra&&b.markedSpans;if(c)for(var d,e=0;ee;e++){d&&(d[0]=q.innerMode(a,c).mode);var f=a.token(b,c);if(b.pos>b.start)return f}throw Error("Mode "+a.name+" failed to advance stream."); -}function bf(a,b,c,d){function e(a){return{start:m.start,end:m.pos,string:m.current(),type:h||null,state:a?sa(f.mode,l):l}}var f=a.doc,g=f.mode,h;b=x(f,b);var k=t(f,b.line),l=rb(a,b.line,c),m=new sc(k.text,a.options.tabSize),p;for(d&&(p=[]);(d||m.posa.options.maxHighlightLength?(h=!1,g&&$c(a,b,d,m.pos),m.pos=b.length,p=null):p=$e(td(c,m,d,n),f);if(n){var q=n[0].name;q&&(p="m-"+(p?q+" "+p:q))}if(!h||l!=p){for(;ka&&e.splice(h,1,a,e[h+1],d);h+=2;k=Math.min(a,d)}if(b)if(g.opaque)e.splice(c,h-c,a,"cm-overlay "+b),h=c+2;else for(;ca.options.maxHighlightLength?sa(a.doc.mode,d):d);b.stateAfter=d;b.styles=e.styles;e.classes?b.styleClasses=e.classes:b.styleClasses&& -(b.styleClasses=null);c===a.doc.frontier&&a.doc.frontier++}return b.styles}function $c(a,b,c,d){var e=a.doc.mode;a=new sc(b,a.options.tabSize);a.start=a.pos=d||0;for(""==b&&af(e,c);!a.eol();)td(e,a,c),a.start=a.pos}function ef(a,b){if(!a||/^\s*$/.test(a))return null;var c=b.addModeClass?ig:jg;return c[a]||(c[a]=a.replace(/\S+/g,"cm-$\x26"))}function Rd(a,b){var c=s("span",null,null,K?"padding-right: .1px":null),c={pre:s("pre",[c],"CodeMirror-line"),content:c,col:0,pos:0,cm:a,trailingSpace:!1,splitSpaces:(A|| -K)&&a.getOption("lineWrapping")};b.measure={};for(var d=0;d<=(b.rest?b.rest.length:0);d++){var e=d?b.rest[d-1]:b.line,f;c.pos=0;c.addToken=kg;var g;g=a.display.measure;if(null!=ud)g=ud;else{var h=U(g,document.createTextNode("AخA")),k=Sa(h,0,1).getBoundingClientRect(),h=Sa(h,1,2).getBoundingClientRect();pa(g);g=k&&k.left!=k.right?ud=3>h.right-k.right:!1}g&&(f=Z(e))&&(c.addToken=lg(c.addToken,f));c.map=[];k=b!=a.display.externalMeasured&&F(e);a:{g=c;var k=df(a,e,k),h=e.markedSpans,l=e.text,m=0;if(h)for(var p= -l.length,n=0,q=1,r="",t=void 0,v=void 0,u=0,w=void 0,x=void 0,z=void 0,B=void 0,y=void 0;;){if(u==n){for(var w=x=z=B=v="",y=null,u=Infinity,G=[],H,C=0;Cn||D.collapsed&&I.to==n&&I.from==n)?(null!=I.to&&I.to!=n&&u>I.to&&(u=I.to,x=""),D.className&&(w+=" "+D.className),D.css&&(v=(v?v+";":"")+D.css),D.startStyle&&I.from==n&&(z+=" "+D.startStyle),D.endStyle&&I.to==u&&(H||(H=[])).push(D.endStyle, -I.to),D.title&&!B&&(B=D.title),D.collapsed&&(!y||0>Ze(y.marker,D))&&(y=I)):I.from>n&&u>I.from&&(u=I.from)}if(H)for(C=0;C=p)break;for(G=Math.min(p,u);;){if(r){C=n+r.length;y||(I=C>G?r.slice(0,G-n):r,g.addToken(g,I,t?t+w:w,z,n+I.length==u?x:"",B,v));if(C>=G){r=r.slice(G-n);n=G;break}n=C;z=""}r= -l.slice(m,m=k[q++]);t=ef(k[q++],g.cm.options)}}else for(var q=1;qB?h.appendChild(s("span",[r])):h.appendChild(r);a.map.push(a.pos,a.pos+q,r);a.col+=q;a.pos+=q}if(!n)break;p+=q+1;"\t"==n[0]?(r=a.cm.options.tabSize,n=r-a.col%r,r=h.appendChild(s("span",pd(n),"cm-tab")),r.setAttribute("role","presentation"),r.setAttribute("cm-text", -"\t"),a.col+=n):("\r"==n[0]||"\n"==n[0]?(r=h.appendChild(s("span","\r"==n[0]?"␍":"␤","cm-invalidchar")),r.setAttribute("cm-text",n[0])):(r=a.cm.options.specialCharPlaceholder(n[0]),r.setAttribute("cm-text",n[0]),A&&9>B?h.appendChild(s("span",[r])):h.appendChild(r)),a.col+=1);a.map.push(a.pos,a.pos+1,r);a.pos++}}else a.col+=b.length,h=document.createTextNode(k),a.map.push(a.pos,a.pos+b.length,h),A&&9>B&&(m=!0),a.pos+=b.length;a.trailingSpace=32==k.charCodeAt(b.length-1);if(c||d||e||m||g)return b=c|| -"",d&&(b+=d),e&&(b+=e),d=s("span",[h],b,g),f&&(d.title=f),a.content.appendChild(d);a.content.appendChild(h)}}function lg(a,b){return function(c,d,e,f,g,h,k){e=e?e+" cm-force-border":"cm-force-border";for(var l=c.pos,m=l+d.length;;){for(var p=0;pl&&n.from<=l)break}if(n.to>=m)return a(c,d,e,f,g,h,k);a(c,d.slice(0,n.to-l),e,f,null,h,k);f=null;d=d.slice(n.to-l);l=n.to}}}function ff(a,b,c,d){var e=!d&&c.widgetNode;e&&a.map.push(a.pos,a.pos+b,e);!d&&a.cm.display.input.needsContentAttribute&& -(e||(e=a.content.appendChild(document.createElement("span"))),e.setAttribute("cm-marker",c.id));e&&(a.cm.display.input.setUneditable(e),a.content.appendChild(e));a.pos+=b;a.trailingSpace=!1}function Re(a,b){return 0==b.from.ch&&0==b.to.ch&&""==z(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function od(a,b,c,d){function e(a,c,e){a.text=c;a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null);null!=a.order&&(a.order=null);Xe(a);Ye(a,e);c=d?d(a):1;c!=a.height&&ca(a,c);R(a,"change",a,b)} -function f(a,b){for(var e=a,f=[];eb||b>=a.size)throw Error("There is no line "+ -(b+a.first)+" in the document.");for(var c=a;!c.lines;)for(var d=0;;++d){var e=c.children[d],f=e.chunkSize();if(bf-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))e.lastOp==d?(ee(e.done),g=z(e.done)):e.done.length&&!z(e.done).ranges?g=z(e.done):1e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift();e.done.push(c);e.generation=++e.maxGeneration;e.lastModTime=e.lastSelTime=f;e.lastOp=e.lastSelOp=d;e.lastOrigin=e.lastSelOrigin=b.origin;k||J(a,"historyAdded")}function Ub(a,b){var c=z(b);c&& -c.ranges&&c.equals(a)||b.push(a)}function gf(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans);++f})}function gg(a){if(!a)return null;for(var b=0,c;b=b.offsetWidth&&2B))}a=xd?s("span","​"):s("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");a.setAttribute("cm-text","");return a}function Gf(a,b,c,d){if(!a)return d(b, -c,"ltr");for(var e=!1,f=0;fb||b==c&&g.to==b)d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr"),e=!0}e||d(b,c,"ltr")}function cd(a){return a.level%2?a.to:a.from}function dd(a){return a.level%2?a.from:a.to}function Zb(a){return(a=Z(a))?cd(a[0]):0}function $b(a){var b=Z(a);return b?dd(z(b)):a.text.length}function pf(a,b){var c=t(a.doc,b),d=ia(c);d!=c&&(b=F(d));d=(c=Z(d))?c[0].level%2?$b(d):Zb(d):0;return r(b,d)}function qf(a,b){var c=pf(a,b.line), -d=t(a.doc,c.line),e=Z(d);return e&&0!=e[0].level?c:(d=Math.max(0,d.text.search(/\S/)),r(c.line,b.line==c.line&&b.ch<=d&&b.ch?0:d))}function Qb(a,b){ub=null;for(var c=0,d;cb)return c;if(e.from==b||e.to==b)if(null==d)d=c;else{var f;f=e.level;var g=a[d].level,h=a[0].level;f=f==h?!0:g==h?!1:fg.from&&bb||b>a.text.length?null:b}var S=navigator.userAgent,rf=navigator.platform,oa=/gecko\/\d/i.test(S),sf=/MSIE \d/.test(S),tf=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(S), -A=sf||tf,B=A&&(sf?document.documentMode||6:tf[1]),K=/WebKit\//.test(S),rg=K&&/Qt\/\d+\.\d+/.test(S),sg=/Chrome\//.test(S),ba=/Opera\//.test(S),xe=/Apple Computer/.test(navigator.vendor),tg=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(S),Mf=/PhantomJS/.test(S),ob=/AppleWebKit/.test(S)&&/Mobile\/\w+/.test(S),ab=ob||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(S),Y=ob||/Mac/.test(rf),Vf=/\bCrOS\b/.test(S),ug=/win/i.test(rf),Ha=ba&&S.match(/Version\/(\d*\.\d*)/);Ha&&(Ha=Number(Ha[1]));Ha&&15<= -Ha&&(ba=!1,K=!0);var uf=Y&&(rg||ba&&(null==Ha||12.11>Ha)),hd=oa||A&&9<=B,Le=!1,ra=!1;Gc.prototype=X({update:function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;c?(this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0",this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+(a.viewHeight-(b?d:0)))+"px"):(this.vert.style.display="",this.vert.firstChild.style.height="0");b?(this.horiz.style.display="block",this.horiz.style.right= -c?d+"px":"0",this.horiz.style.left=a.barLeft+"px",this.horiz.firstChild.style.width=a.scrollWidth-a.clientWidth+(a.viewWidth-a.barLeft-(c?d:0))+"px"):(this.horiz.style.display="",this.horiz.firstChild.style.width="0");!this.checkedZeroWidth&&0B&&f.scrollbars.setScrollTop(f.scroller.scrollTop=k);if(null!=g.selectionStart){(!A||A&&9>B)&&b();var a=0,c=function(){f.selForContextMenu==e.doc.sel&&0==g.selectionStart&&0 -a++?f.detectingSelectAll=setTimeout(c,500):f.input.reset()};f.detectingSelectAll=setTimeout(c,200)}}var d=this,e=d.cm,f=e.display,g=d.textarea,h=Da(e,a),k=f.scroller.scrollTop;if(h&&!ba){e.options.resetSelectionOnContextMenu&&-1==e.doc.sel.contains(h)&&G(e,C)(e.doc,ga(h),ha);var l=g.style.cssText,m=d.wrapper.style.cssText;d.wrapper.style.cssText="position: absolute";h=d.wrapper.getBoundingClientRect();g.style.cssText="position: absolute; width: 30px; height: 30px; top: "+(a.clientY-h.top-5)+"px; left: "+ -(a.clientX-h.left-5)+"px; z-index: 1000; background: "+(A?"rgba(255, 255, 255, .05)":"transparent")+"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity\x3d5);";if(K)var p=window.scrollY;f.input.focus();K&&window.scrollTo(null,p);f.input.reset();e.somethingSelected()||(g.value=d.prevInput=" ");d.contextMenuPending=!0;f.selForContextMenu=e.doc.sel;clearTimeout(f.detectingSelectAll);A&&9<=B&&b();if(hd){cc(a);var n=function(){ja(window,"mouseup",n); -setTimeout(c,20)};v(window,"mouseup",n)}else setTimeout(c,50)}},readOnlyChanged:function(a){a||this.reset()},setUneditable:Cb,needsContentAttribute:!1},Tc.prototype);Uc.prototype=X({init:function(a){function b(a){if(!H(d,a)){if(d.somethingSelected())P={lineWise:!1,text:d.getSelections()},"cut"==a.type&&d.replaceSelection("",null,"cut");else if(d.options.lineWiseCopyCut){var b=Wd(d);P={lineWise:!0,text:b.text};"cut"==a.type&&d.operation(function(){d.setSelections(b.ranges,0,ha);d.replaceSelection("", -null,"cut")})}else return;if(a.clipboardData){a.clipboardData.clearData();var h=P.text.join("\n");a.clipboardData.setData("Text",h);if(a.clipboardData.getData("Text")==h){a.preventDefault();return}}var k=Yd();a=k.firstChild;d.display.lineSpace.insertBefore(k,d.display.lineSpace.firstChild);a.value=P.text.join("\n");var l=document.activeElement;Za(a);setTimeout(function(){d.display.lineSpace.removeChild(k);l.focus();l==e&&c.showPrimarySelection()},50)}}var c=this,d=c.cm,e=c.div=a.lineDiv;Xd(e,d.options.spellcheck); -v(e,"paste",function(a){H(d,a)||Vd(a,d)||11>=B&&setTimeout(G(d,function(){c.pollContent()||M(d)}),20)});v(e,"compositionstart",function(a){a=a.data;c.composing={sel:d.doc.sel,data:a,startData:a};if(a){var b=d.doc.sel.primary(),e=d.getLine(b.head.line).indexOf(a,Math.max(0,b.head.ch-a.length));-1b.viewTo-1)return!1;var e;d.line==b.viewFrom||0==(e=Aa(a,d.line))?(d=F(b.view[0].line),e=b.view[0].node):(d=F(b.view[e].line),e=b.view[e-1].node.nextSibling);var f=Aa(a,c.line);f==b.view.length-1?(c=b.viewTo-1,b=b.lineDiv.lastChild):(c=F(b.view[f+1].line)-1,b=b.view[f+1].node.previousSibling);b=a.doc.splitLines(Df(a,e,b,d,c));for(e=Ba(a.doc,r(d,0),r(c,t(a.doc,c).text.length));1=w(a,d.to()))return c}return-1}};y.prototype={from:function(){return Nb(this.anchor,this.head)},to:function(){return Mb(this.anchor, -this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};var pe={left:0,right:0,top:0,bottom:0},Ca,Ta=null,Lf=0,ec,dc,we=0,fc=0,V=null;A?V=-.53:oa?V=15:sg?V=-.7:xe&&(V=-1/3);var Ee=function(a){var b=a.wheelDeltaX,c=a.wheelDeltaY;null==b&&a.detail&&a.axis==a.HORIZONTAL_AXIS&&(b=a.detail);null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta);return{x:b,y:c}};q.wheelEventPixels=function(a){a=Ee(a);a.x*=V;a.y*=V;return a};var Yf=new ua, -kd=null,Ea=q.changeEnd=function(a){return a.text?r(a.from.line+a.text.length-1,z(a.text).length+(1==a.text.length?a.from.ch:0)):a.to};q.prototype={constructor:q,focus:function(){window.focus();this.display.input.focus()},setOption:function(a,b){var c=this.options,d=c[a];if(c[a]!=b||"mode"==a)c[a]=b,Ka.hasOwnProperty(a)&&G(this,Ka[a])(this,b,d)},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](oc(a))},removeKeyMap:function(a){for(var b= -this.state.keyMaps,c=0;cc&&(nb(this,e.head.line,a,!0),c=e.head.line,d==this.doc.sel.primIndex&&Pa(this));else{for(var f=e.from(),e=e.to(),g=Math.max(c,f.line),c=Math.min(this.lastLine(), -e.line-(e.ch?0:1))+1,e=g;e>1;if((e?b[2*e-1]:0)>=a)d=e;else if(b[2*e+1]c?b:0==c?null:b.slice(0,c-1)},getModeAt:function(a){var b=this.doc.mode;return b.innerMode?q.innerMode(b,this.getTokenAt(a).state).mode:b},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var c=[];if(!$a.hasOwnProperty(b))return c;var d=$a[b],e=this.getModeAt(a);if("string"==typeof e[b])d[e[b]]&&c.push(d[e[b]]);else if(e[b])for(var f=0;fd&&(a=d,c=!0),d=t(this.doc,a)):d=a;return bd(this,d,{top:0,left:0},b||"page").top+(c?this.doc.height-ea(d):0)},defaultTextHeight:function(){return va(this.display)},defaultCharWidth:function(){return eb(this.display)}, -setGutterMarker:L(function(a,b,c){return mc(this.doc,a,"gutter",function(a){var e=a.gutterMarkers||(a.gutterMarkers={});e[b]=c;!c&&nf(e)&&(a.gutterMarkers=null);return!0})}),clearGutter:L(function(a){var b=this,c=b.doc,d=c.first;c.iter(function(c){c.gutterMarkers&&c.gutterMarkers[a]&&(c.gutterMarkers[a]=null,ma(b,d,"gutter"),nf(c.gutterMarkers)&&(c.gutterMarkers=null));++d})}),lineInfo:function(a){if("number"==typeof a){if(!pb(this.doc,a))return null;var b=a;a=t(this.doc,a);if(!a)return null}else if(b= -F(a),null==b)return null;return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=la(this,x(this.doc,a));var g=a.bottom,h=a.left;b.style.position="absolute";b.setAttribute("cm-ignore-events","true");this.display.input.setUneditable(b);f.sizer.appendChild(b);if("over"==d)g=a.top; -else if("above"==d||"near"==d){var k=Math.max(f.wrapper.clientHeight,this.doc.height),l=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>k)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=k&&(g=a.bottom);h+b.offsetWidth>l&&(h=l-b.offsetWidth)}b.style.top=g+"px";b.style.left=b.style.right="";"right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left= -h+"px");c&&(a=ac(this,h,g,h+b.offsetWidth,g+b.offsetHeight),null!=a.scrollTop&&jb(this,a.scrollTop),null!=a.scrollLeft&&Ma(this,a.scrollLeft))},triggerOnKeyDown:L(Ae),triggerOnKeyPress:L(Be),triggerOnKeyUp:ze,execCommand:function(a){if(hc.hasOwnProperty(a))return hc[a].call(null,this)},triggerElectric:L(function(a){Ud(this,a)}),findPosH:function(a,b,c,d){var e=1;0>b&&(e=-1,b=-b);var f=0;for(a=x(this.doc,a);fa?d.from():d.to()},Eb)}),deleteH:L(function(a,b){var c=this.doc;this.doc.sel.somethingSelected()?c.replaceSelection("",null,"+delete"):Va(this,function(d){var e=qd(c,d.head,a,b,!1);return 0>a?{from:e,to:d.head}:{from:d.head,to:e}})}),findPosV:function(a,b,c,d){var e=1;0>b&&(e=-1,b=-b);var f=0;for(a=x(this.doc,a);fa?g.from():g.to();var k=la(c,g.head,"div");null!=g.goalColumn&&(k.left=g.goalColumn);e.push(k.left);var l=Te(c,k,a,b);"page"==b&&g==d.sel.primary()&&kc(c,null,Vb(c,l,"div").top-k.top);return l},Eb);if(e.length)for(var g=0;ga.xRel||d==b.length)&&c?--c:++d;for(var f=b.charAt(c),f=nc(f,e)?function(a){return nc(a,e)}:/\s/.test(f)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!nc(a)};0a.doc.first){var g=t(a.doc,e.line-1).text;g&&a.replaceRange(f.charAt(0)+a.doc.lineSeparator()+g.charAt(g.length-1),r(e.line-1,g.length-1),r(e.line,1),"+transpose")}c.push(new y(e, -e))}a.setSelections(c)})},newlineAndIndent:function(a){T(a,function(){for(var b=a.listSelections().length,c=0;c=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(this.posb},eatSpace:function(){for(var a=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>a},skipToEnd:function(){this.pos=this.string.length},skipTo:function(a){a=this.string.indexOf(a,this.pos);if(-1a.display.maxLineLength&&(a.display.maxLine=f,a.display.maxLineLength=g,a.display.maxLineChanged=!0);null!=c&&a&&this.collapsed&&M(a,c,d+1);this.lines.length=0;this.explicitlyCleared=!0;this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,a&&ie(a.doc));a&&R(a,"markerCleared",a,this);b&&La(a);this.parent&&this.parent.clear()}};Ga.prototype.find=function(a,b){null==a&&"bookmark"==this.type&&(a=1);for(var c,d,e=0;ethis.size-b&&(1=this.children.length)){var a=this;do{var b=a.children.splice(a.children.length- -5,5),b=new Ab(b);if(a.parent){a.size-=b.size;a.height-=b.height;var c=D(a.parent.children,a);a.parent.children.splice(c+1,0,b)}else c=new Ab(a.children),c.parent=a,a.children=[c,b],a=c;b.parent=a.parent}while(10w(h.head,h.anchor),f[e]=new y(h?k:g,h?g:k)):f[e]=new y(g,g)}f=new ka(f,this.sel.primIndex)}b=f;for(f=d.length-1;0<=f;f--)Oa(this,d[f]);b?de(this,b):this.cm&&Pa(this.cm)}),undo:N(function(){jc(this,"undo")}), -redo:N(function(){jc(this,"redo")}),undoSelection:N(function(){jc(this,"undo",!0)}),redoSelection:N(function(){jc(this,"redo",!0)}),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=x(this,a);b=x(this,b);var d=[],e=a.line;this.iter(a.line,b.line+1,function(f){if(f=f.markedSpans)for(var g=0;g=h.to||null==h.from&&e!=a.line||null!=h.from&&e==b.line&&h.from>=b.ch||c&& -!c(h.marker)||d.push(h.marker.parent||h.marker)}++e});return d},getAllMarks:function(){var a=[];this.iter(function(b){if(b=b.markedSpans)for(var c=0;ca)return b=a,!0;a-=e;++c});return x(this,r(c,b))},indexFromPos:function(a){a=x(this,a);var b=a.ch;if(a.linea.ch)return 0;var c=this.lineSeparator().length; -this.iter(this.first,a.line,function(a){b+=a.text.length+c});return b},copy:function(a){var b=new Q(wd(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep);b.scrollTop=this.scrollTop;b.scrollLeft=this.scrollLeft;b.sel=this.sel;b.extend=!1;a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory()));return b},linkedDoc:function(a){a||(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from);null!=a.to&&a.toD(yg,Hb)&&(q.prototype[Hb]=function(a){return function(){return a.apply(this.doc,arguments)}}(Q.prototype[Hb]));Ya(Q);var O=q.e_preventDefault=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1},zg=q.e_stopPropagation=function(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},cc=q.e_stop=function(a){O(a);zg(a)},v=q.on=function(a,b,c){a.addEventListener? -a.addEventListener(b,c,!1):a.attachEvent?a.attachEvent("on"+b,c):(a=a._handlers||(a._handlers={}),(a[b]||(a[b]=[])).push(c))},kf=[],ja=q.off=function(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else for(a=uc(a,b,!1),b=0;bf||f>=b)return e+(b-d);e+=f-d;e+=c-e%c;d=f+1}},De=q.findColumn=function(a,b,c){for(var d=0,e=0;;){var f=a.indexOf("\t",d);-1==f&&(f=a.length);var g=f-d;if(f==a.length||e+g>=b)return d+Math.min(g,b-e);e+=f-d;e+=c-e%c;d=f+ -1;if(e>=b)return d}},vc=[""],Za=function(a){a.select()};ob?Za=function(a){a.selectionStart=0;a.selectionEnd=a.value.length}:A&&(Za=function(a){try{a.select()}catch(b){}});var Ag=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,mf=q.isWordChar=function(a){return/\w/.test(a)||"€"B&&(fa=function(){try{return document.activeElement}catch(a){return document.body}}); -var ib=q.rmClass=function(a,b){var c=a.className,d=Db(b).exec(c);if(d){var e=c.slice(d.index+d[0].length);a.className=c.slice(0,d.index)+(e?d[1]+e:"")}},kb=q.addClass=function(a,b){var c=a.className;Db(b).test(c)||(a.className+=(c?" ":"")+b)},Cd=!1,Sf=function(){if(A&&9>B)return!1;var a=s("div");return"draggable"in a||"dragDrop"in a}(),xd,ud,xg=q.splitLines=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);-1==e&&(e=a.length);var f=a.slice(b,"\r"== -a.charAt(e-1)?e-1:e),g=f.indexOf("\r");-1!=g?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},vg=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(b){return!1}}:function(a){try{var b=a.ownerDocument.selection.createRange()}catch(c){}return b&&b.parentElement()==a?0!=b.compareEndPoints("StartToEnd",b):!1},He=function(){var a=s("div");if("oncopy"in a)return!0;a.setAttribute("oncopy","return;");return"function"==typeof a.oncopy}(), -ad=null,Ia=q.keyNames={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"\x3d",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"\x3d",109:"-",110:".",111:"/",127:"Delete",173:"-",186:";",187:"\x3d",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left", -63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"};(function(){for(var a=0;10>a;a++)Ia[a+48]=Ia[a+96]=String(a);for(a=65;90>=a;a++)Ia[a]=String.fromCharCode(a);for(a=1;12>=a;a++)Ia[a+111]=Ia[a+63235]="F"+a})();var ub,ng=function(){function a(a){return 247>=a?"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN".charAt(a): -1424<=a&&1524>=a?"R":1536<=a&&1773>=a?"rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm".charAt(a-1536):1774<=a&&2220>=a?"r":8192<=a&&8203>=a?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a;this.from=b;this.to=c}var c=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,d=/[stwN]/,e=/[LRr]/,f=/[Lb1n]/,g=/[1n]/;return function(h){if(!c.test(h))return!1; -for(var k=h.length,l=[],m=0,p;m 1) return; - // By default, don't allow completion when something is selected. - // A hint function can have a `supportsSelection` property to - // indicate that it can handle selections. - if (this.somethingSelected()) { - if (!options.hint.supportsSelection) return; - // Don't try with cross-line selections - for (var i = 0; i < selections.length; i++) - if (selections[i].head.line != selections[i].anchor.line) return; - } - - if (this.state.completionActive) this.state.completionActive.close(); - var completion = this.state.completionActive = new Completion(this, options); - if (!completion.options.hint) return; - - CodeMirror.signal(this, "startCompletion", this); - completion.update(true); - }); - - function Completion(cm, options) { - this.cm = cm; - this.options = options; - this.widget = null; - this.debounce = 0; - this.tick = 0; - this.startPos = this.cm.getCursor("start"); - this.startLen = this.cm.getLine(this.startPos.line).length - this.cm.getSelection().length; - - var self = this; - cm.on("cursorActivity", this.activityFunc = function() { self.cursorActivity(); }); - } - - var requestAnimationFrame = window.requestAnimationFrame || function(fn) { - return setTimeout(fn, 1000/60); - }; - var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout; - - Completion.prototype = { - close: function() { - if (!this.active()) return; - this.cm.state.completionActive = null; - this.tick = null; - this.cm.off("cursorActivity", this.activityFunc); - - if (this.widget && this.data) CodeMirror.signal(this.data, "close"); - if (this.widget) this.widget.close(); - CodeMirror.signal(this.cm, "endCompletion", this.cm); - }, - - active: function() { - return this.cm.state.completionActive == this; - }, - - pick: function(data, i) { - var completion = data.list[i]; - if (completion.hint) completion.hint(this.cm, data, completion); - else this.cm.replaceRange(getText(completion), completion.from || data.from, - completion.to || data.to, "complete"); - CodeMirror.signal(data, "pick", completion); - this.close(); - }, - - cursorActivity: function() { - if (this.debounce) { - cancelAnimationFrame(this.debounce); - this.debounce = 0; - } - - var pos = this.cm.getCursor(), line = this.cm.getLine(pos.line); - if (pos.line != this.startPos.line || line.length - pos.ch != this.startLen - this.startPos.ch || - pos.ch < this.startPos.ch || this.cm.somethingSelected() || - (pos.ch && this.options.closeCharacters.test(line.charAt(pos.ch - 1)))) { - this.close(); - } else { - var self = this; - this.debounce = requestAnimationFrame(function() {self.update();}); - if (this.widget) this.widget.disable(); - } - }, - - update: function(first) { - if (this.tick == null) return - var self = this, myTick = ++this.tick - fetchHints(this.options.hint, this.cm, this.options, function(data) { - if (self.tick == myTick) self.finishUpdate(data, first) - }) - }, - - finishUpdate: function(data, first) { - if (this.data) CodeMirror.signal(this.data, "update"); - - var picked = (this.widget && this.widget.picked) || (first && this.options.completeSingle); - if (this.widget) this.widget.close(); - - if (data && this.data && isNewCompletion(this.data, data)) return; - this.data = data; - - if (data && data.list.length) { - if (picked && data.list.length == 1) { - this.pick(data, 0); - } else { - this.widget = new Widget(this, data); - CodeMirror.signal(data, "shown"); - } - } - } - }; - - function isNewCompletion(old, nw) { - var moved = CodeMirror.cmpPos(nw.from, old.from) - return moved > 0 && old.to.ch - old.from.ch != nw.to.ch - nw.from.ch - } - - function parseOptions(cm, pos, options) { - var editor = cm.options.hintOptions; - var out = {}; - for (var prop in defaultOptions) out[prop] = defaultOptions[prop]; - if (editor) for (var prop in editor) - if (editor[prop] !== undefined) out[prop] = editor[prop]; - if (options) for (var prop in options) - if (options[prop] !== undefined) out[prop] = options[prop]; - if (out.hint.resolve) out.hint = out.hint.resolve(cm, pos) - return out; - } - - function getText(completion) { - if (typeof completion == "string") return completion; - else return completion.text; - } - - function buildKeyMap(completion, handle) { - var baseMap = { - Up: function() {handle.moveFocus(-1);}, - Down: function() {handle.moveFocus(1);}, - PageUp: function() {handle.moveFocus(-handle.menuSize() + 1, true);}, - PageDown: function() {handle.moveFocus(handle.menuSize() - 1, true);}, - Home: function() {handle.setFocus(0);}, - End: function() {handle.setFocus(handle.length - 1);}, - Enter: handle.pick, - Tab: handle.pick, - Esc: handle.close - }; - var custom = completion.options.customKeys; - var ourMap = custom ? {} : baseMap; - function addBinding(key, val) { - var bound; - if (typeof val != "string") - bound = function(cm) { return val(cm, handle); }; - // This mechanism is deprecated - else if (baseMap.hasOwnProperty(val)) - bound = baseMap[val]; - else - bound = val; - ourMap[key] = bound; - } - if (custom) - for (var key in custom) if (custom.hasOwnProperty(key)) - addBinding(key, custom[key]); - var extra = completion.options.extraKeys; - if (extra) - for (var key in extra) if (extra.hasOwnProperty(key)) - addBinding(key, extra[key]); - return ourMap; - } - - function getHintElement(hintsElement, el) { - while (el && el != hintsElement) { - if (el.nodeName.toUpperCase() === "LI" && el.parentNode == hintsElement) return el; - el = el.parentNode; - } - } - - function Widget(completion, data) { - this.completion = completion; - this.data = data; - this.picked = false; - var widget = this, cm = completion.cm; - - var hints = this.hints = document.createElement("ul"); - hints.className = "CodeMirror-hints"; - this.selectedHint = data.selectedHint || 0; - - var completions = data.list; - for (var i = 0; i < completions.length; ++i) { - var elt = hints.appendChild(document.createElement("li")), cur = completions[i]; - var className = HINT_ELEMENT_CLASS + (i != this.selectedHint ? "" : " " + ACTIVE_HINT_ELEMENT_CLASS); - if (cur.className != null) className = cur.className + " " + className; - elt.className = className; - if (cur.render) cur.render(elt, data, cur); - else elt.appendChild(document.createTextNode(cur.displayText || getText(cur))); - elt.hintId = i; - } - - var pos = cm.cursorCoords(completion.options.alignWithWord ? data.from : null); - var left = pos.left, top = pos.bottom, below = true; - hints.style.left = left + "px"; - hints.style.top = top + "px"; - // If we're at the edge of the screen, then we want the menu to appear on the left of the cursor. - var winW = window.innerWidth || Math.max(document.body.offsetWidth, document.documentElement.offsetWidth); - var winH = window.innerHeight || Math.max(document.body.offsetHeight, document.documentElement.offsetHeight); - (completion.options.container || document.body).appendChild(hints); - var box = hints.getBoundingClientRect(), overlapY = box.bottom - winH; - var scrolls = hints.scrollHeight > hints.clientHeight + 1 - var startScroll = cm.getScrollInfo(); - - if (overlapY > 0) { - var height = box.bottom - box.top, curTop = pos.top - (pos.bottom - box.top); - if (curTop - height > 0) { // Fits above cursor - hints.style.top = (top = pos.top - height) + "px"; - below = false; - } else if (height > winH) { - hints.style.height = (winH - 5) + "px"; - hints.style.top = (top = pos.bottom - box.top) + "px"; - var cursor = cm.getCursor(); - if (data.from.ch != cursor.ch) { - pos = cm.cursorCoords(cursor); - hints.style.left = (left = pos.left) + "px"; - box = hints.getBoundingClientRect(); - } - } - } - var overlapX = box.right - winW; - if (overlapX > 0) { - if (box.right - box.left > winW) { - hints.style.width = (winW - 5) + "px"; - overlapX -= (box.right - box.left) - winW; - } - hints.style.left = (left = pos.left - overlapX) + "px"; - } - if (scrolls) for (var node = hints.firstChild; node; node = node.nextSibling) - node.style.paddingRight = cm.display.nativeBarWidth + "px" - - cm.addKeyMap(this.keyMap = buildKeyMap(completion, { - moveFocus: function(n, avoidWrap) { widget.changeActive(widget.selectedHint + n, avoidWrap); }, - setFocus: function(n) { widget.changeActive(n); }, - menuSize: function() { return widget.screenAmount(); }, - length: completions.length, - close: function() { completion.close(); }, - pick: function() { widget.pick(); }, - data: data - })); - - if (completion.options.closeOnUnfocus) { - var closingOnBlur; - cm.on("blur", this.onBlur = function() { closingOnBlur = setTimeout(function() { completion.close(); }, 100); }); - cm.on("focus", this.onFocus = function() { clearTimeout(closingOnBlur); }); - } - - cm.on("scroll", this.onScroll = function() { - var curScroll = cm.getScrollInfo(), editor = cm.getWrapperElement().getBoundingClientRect(); - var newTop = top + startScroll.top - curScroll.top; - var point = newTop - (window.pageYOffset || (document.documentElement || document.body).scrollTop); - if (!below) point += hints.offsetHeight; - if (point <= editor.top || point >= editor.bottom) return completion.close(); - hints.style.top = newTop + "px"; - hints.style.left = (left + startScroll.left - curScroll.left) + "px"; - }); - - CodeMirror.on(hints, "dblclick", function(e) { - var t = getHintElement(hints, e.target || e.srcElement); - if (t && t.hintId != null) {widget.changeActive(t.hintId); widget.pick();} - }); - - CodeMirror.on(hints, "click", function(e) { - var t = getHintElement(hints, e.target || e.srcElement); - if (t && t.hintId != null) { - widget.changeActive(t.hintId); - if (completion.options.completeOnSingleClick) widget.pick(); - } - }); - - CodeMirror.on(hints, "mousedown", function() { - setTimeout(function(){cm.focus();}, 20); - }); - - CodeMirror.signal(data, "select", completions[0], hints.firstChild); - return true; - } - - Widget.prototype = { - close: function() { - if (this.completion.widget != this) return; - this.completion.widget = null; - this.hints.parentNode.removeChild(this.hints); - this.completion.cm.removeKeyMap(this.keyMap); - - var cm = this.completion.cm; - if (this.completion.options.closeOnUnfocus) { - cm.off("blur", this.onBlur); - cm.off("focus", this.onFocus); - } - cm.off("scroll", this.onScroll); - }, - - disable: function() { - this.completion.cm.removeKeyMap(this.keyMap); - var widget = this; - this.keyMap = {Enter: function() { widget.picked = true; }}; - this.completion.cm.addKeyMap(this.keyMap); - }, - - pick: function() { - this.completion.pick(this.data, this.selectedHint); - }, - - changeActive: function(i, avoidWrap) { - if (i >= this.data.list.length) - i = avoidWrap ? this.data.list.length - 1 : 0; - else if (i < 0) - i = avoidWrap ? 0 : this.data.list.length - 1; - if (this.selectedHint == i) return; - var node = this.hints.childNodes[this.selectedHint]; - node.className = node.className.replace(" " + ACTIVE_HINT_ELEMENT_CLASS, ""); - node = this.hints.childNodes[this.selectedHint = i]; - node.className += " " + ACTIVE_HINT_ELEMENT_CLASS; - if (node.offsetTop < this.hints.scrollTop) - this.hints.scrollTop = node.offsetTop - 3; - else if (node.offsetTop + node.offsetHeight > this.hints.scrollTop + this.hints.clientHeight) - this.hints.scrollTop = node.offsetTop + node.offsetHeight - this.hints.clientHeight + 3; - CodeMirror.signal(this.data, "select", this.data.list[this.selectedHint], node); - }, - - screenAmount: function() { - return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1; - } - }; - - function applicableHelpers(cm, helpers) { - if (!cm.somethingSelected()) return helpers - var result = [] - for (var i = 0; i < helpers.length; i++) - if (helpers[i].supportsSelection) result.push(helpers[i]) - return result - } - - function fetchHints(hint, cm, options, callback) { - if (hint.async) { - hint(cm, callback, options) - } else { - var result = hint(cm, options) - if (result && result.then) result.then(callback) - else callback(result) - } - } - - function resolveAutoHints(cm, pos) { - var helpers = cm.getHelpers(pos, "hint"), words - if (helpers.length) { - var resolved = function(cm, callback, options) { - var app = applicableHelpers(cm, helpers); - function run(i) { - if (i == app.length) return callback(null) - fetchHints(app[i], cm, options, function(result) { - if (result && result.list.length > 0) callback(result) - else run(i + 1) - }) - } - run(0) - } - resolved.async = true - resolved.supportsSelection = true - return resolved - } else if (words = cm.getHelper(cm.getCursor(), "hintWords")) { - return function(cm) { return CodeMirror.hint.fromList(cm, {words: words}) } - } else if (CodeMirror.hint.anyword) { - return function(cm, options) { return CodeMirror.hint.anyword(cm, options) } - } else { - return function() {} - } - } - - CodeMirror.registerHelper("hint", "auto", { - resolve: resolveAutoHints - }); - - CodeMirror.registerHelper("hint", "fromList", function(cm, options) { - var cur = cm.getCursor(), token = cm.getTokenAt(cur); - var to = CodeMirror.Pos(cur.line, token.end); - if (token.string && /\w/.test(token.string[token.string.length - 1])) { - var term = token.string, from = CodeMirror.Pos(cur.line, token.start); - } else { - var term = "", from = to; - } - var found = []; - for (var i = 0; i < options.words.length; i++) { - var word = options.words[i]; - if (word.slice(0, term.length) == term) - found.push(word); - } - - if (found.length) return {list: found, from: from, to: to}; - }); - - CodeMirror.commands.autocomplete = CodeMirror.showHint; - - var defaultOptions = { - hint: CodeMirror.hint.auto, - completeSingle: true, - alignWithWord: true, - closeCharacters: /[\s()\[\]{};:>,]/, - closeOnUnfocus: true, - completeOnSingleClick: true, - container: null, - customKeys: null, - extraKeys: null - }; - - CodeMirror.defineOption("hintOptions", null); -}); - -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: http://codemirror.net/LICENSE - -(function(mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { - var ie_lt8 = /MSIE \d/.test(navigator.userAgent) && - (document.documentMode == null || document.documentMode < 8); - - var Pos = CodeMirror.Pos; - - var matching = {"(": ")>", ")": "(<", "[": "]>", "]": "[<", "{": "}>", "}": "{<"}; - - function findMatchingBracket(cm, where, strict, config) { - var line = cm.getLineHandle(where.line), pos = where.ch - 1; - var match = (pos >= 0 && matching[line.text.charAt(pos)]) || matching[line.text.charAt(++pos)]; - if (!match) return null; - var dir = match.charAt(1) == ">" ? 1 : -1; - if (strict && (dir > 0) != (pos == where.ch)) return null; - var style = cm.getTokenTypeAt(Pos(where.line, pos + 1)); - - var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style || null, config); - if (found == null) return null; - return {from: Pos(where.line, pos), to: found && found.pos, - match: found && found.ch == match.charAt(0), forward: dir > 0}; - } - - // bracketRegex is used to specify which type of bracket to scan - // should be a regexp, e.g. /[[\]]/ - // - // Note: If "where" is on an open bracket, then this bracket is ignored. - // - // Returns false when no bracket was found, null when it reached - // maxScanLines and gave up - function scanForBracket(cm, where, dir, style, config) { - var maxScanLen = (config && config.maxScanLineLength) || 10000; - var maxScanLines = (config && config.maxScanLines) || 1000; - - var stack = []; - var re = config && config.bracketRegex ? config.bracketRegex : /[(){}[\]]/; - var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1) - : Math.max(cm.firstLine() - 1, where.line - maxScanLines); - for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) { - var line = cm.getLine(lineNo); - if (!line) continue; - var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1; - if (line.length > maxScanLen) continue; - if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0); - for (; pos != end; pos += dir) { - var ch = line.charAt(pos); - if (re.test(ch) && (style === undefined || cm.getTokenTypeAt(Pos(lineNo, pos + 1)) == style)) { - var match = matching[ch]; - if ((match.charAt(1) == ">") == (dir > 0)) stack.push(ch); - else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch}; - else stack.pop(); - } - } - } - return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null; - } - - function matchBrackets(cm, autoclear, config) { - // Disable brace matching in long lines, since it'll cause hugely slow updates - var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000; - var marks = [], ranges = cm.listSelections(); - for (var i = 0; i < ranges.length; i++) { - var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, false, config); - if (match && cm.getLine(match.from.line).length <= maxHighlightLen) { - var style = match.match ? "CodeMirror-matchingbracket" : "CodeMirror-nonmatchingbracket"; - marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style})); - if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen) - marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style})); - } - } - - if (marks.length) { - // Kludge to work around the IE bug from issue #1193, where text - // input stops going to the textare whever this fires. - if (ie_lt8 && cm.state.focused) cm.focus(); - - var clear = function() { - cm.operation(function() { - for (var i = 0; i < marks.length; i++) marks[i].clear(); - }); - }; - if (autoclear) setTimeout(clear, 800); - else return clear; - } - } - - var currentlyHighlighted = null; - function doMatchBrackets(cm) { - cm.operation(function() { - if (currentlyHighlighted) {currentlyHighlighted(); currentlyHighlighted = null;} - currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets); - }); - } - - CodeMirror.defineOption("matchBrackets", false, function(cm, val, old) { - if (old && old != CodeMirror.Init) { - cm.off("cursorActivity", doMatchBrackets); - if (currentlyHighlighted) {currentlyHighlighted(); currentlyHighlighted = null;} - } - if (val) { - cm.state.matchBrackets = typeof val == "object" ? val : {}; - cm.on("cursorActivity", doMatchBrackets); - } - }); - - CodeMirror.defineExtension("matchBrackets", function() {matchBrackets(this, true);}); - CodeMirror.defineExtension("findMatchingBracket", function(pos, strict, config){ - return findMatchingBracket(this, pos, strict, config); - }); - CodeMirror.defineExtension("scanForBracket", function(pos, dir, style, config){ - return scanForBracket(this, pos, dir, style, config); - }); -}); - -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: http://codemirror.net/LICENSE - -(function(mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { - var defaults = { - pairs: "()[]{}''\"\"", - triples: "", - explode: "[]{}" - }; - - var Pos = CodeMirror.Pos; - - CodeMirror.defineOption("autoCloseBrackets", false, function(cm, val, old) { - if (old && old != CodeMirror.Init) { - cm.removeKeyMap(keyMap); - cm.state.closeBrackets = null; - } - if (val) { - cm.state.closeBrackets = val; - cm.addKeyMap(keyMap); - } - }); - - function getOption(conf, name) { - if (name == "pairs" && typeof conf == "string") return conf; - if (typeof conf == "object" && conf[name] != null) return conf[name]; - return defaults[name]; - } - - var bind = defaults.pairs + "`"; - var keyMap = {Backspace: handleBackspace, Enter: handleEnter}; - for (var i = 0; i < bind.length; i++) - keyMap["'" + bind.charAt(i) + "'"] = handler(bind.charAt(i)); - - function handler(ch) { - return function(cm) { return handleChar(cm, ch); }; - } - - function getConfig(cm) { - var deflt = cm.state.closeBrackets; - if (!deflt) return null; - var mode = cm.getModeAt(cm.getCursor()); - return mode.closeBrackets || deflt; - } - - function handleBackspace(cm) { - var conf = getConfig(cm); - if (!conf || cm.getOption("disableInput")) return CodeMirror.Pass; - - var pairs = getOption(conf, "pairs"); - var ranges = cm.listSelections(); - for (var i = 0; i < ranges.length; i++) { - if (!ranges[i].empty()) return CodeMirror.Pass; - var around = charsAround(cm, ranges[i].head); - if (!around || pairs.indexOf(around) % 2 != 0) return CodeMirror.Pass; - } - for (var i = ranges.length - 1; i >= 0; i--) { - var cur = ranges[i].head; - cm.replaceRange("", Pos(cur.line, cur.ch - 1), Pos(cur.line, cur.ch + 1), "+delete"); - } - } - - function handleEnter(cm) { - var conf = getConfig(cm); - var explode = conf && getOption(conf, "explode"); - if (!explode || cm.getOption("disableInput")) return CodeMirror.Pass; - - var ranges = cm.listSelections(); - for (var i = 0; i < ranges.length; i++) { - if (!ranges[i].empty()) return CodeMirror.Pass; - var around = charsAround(cm, ranges[i].head); - if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass; - } - cm.operation(function() { - cm.replaceSelection("\n\n", null); - cm.execCommand("goCharLeft"); - ranges = cm.listSelections(); - for (var i = 0; i < ranges.length; i++) { - var line = ranges[i].head.line; - cm.indentLine(line, null, true); - cm.indentLine(line + 1, null, true); - } - }); - } - - function contractSelection(sel) { - var inverted = CodeMirror.cmpPos(sel.anchor, sel.head) > 0; - return {anchor: new Pos(sel.anchor.line, sel.anchor.ch + (inverted ? -1 : 1)), - head: new Pos(sel.head.line, sel.head.ch + (inverted ? 1 : -1))}; - } - - function handleChar(cm, ch) { - var conf = getConfig(cm); - if (!conf || cm.getOption("disableInput")) return CodeMirror.Pass; - - var pairs = getOption(conf, "pairs"); - var pos = pairs.indexOf(ch); - if (pos == -1) return CodeMirror.Pass; - var triples = getOption(conf, "triples"); - - var identical = pairs.charAt(pos + 1) == ch; - var ranges = cm.listSelections(); - var opening = pos % 2 == 0; - - var type; - for (var i = 0; i < ranges.length; i++) { - var range = ranges[i], cur = range.head, curType; - var next = cm.getRange(cur, Pos(cur.line, cur.ch + 1)); - if (opening && !range.empty()) { - curType = "surround"; - } else if ((identical || !opening) && next == ch) { - if (triples.indexOf(ch) >= 0 && cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch) - curType = "skipThree"; - else - curType = "skip"; - } else if (identical && cur.ch > 1 && triples.indexOf(ch) >= 0 && - cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch && - (cur.ch <= 2 || cm.getRange(Pos(cur.line, cur.ch - 3), Pos(cur.line, cur.ch - 2)) != ch)) { - curType = "addFour"; - } else if (identical) { - if (!CodeMirror.isWordChar(next) && enteringString(cm, cur, ch)) curType = "both"; - else return CodeMirror.Pass; - } else if (opening && (cm.getLine(cur.line).length == cur.ch || - isClosingBracket(next, pairs) || - /\s/.test(next))) { - curType = "both"; - } else { - return CodeMirror.Pass; - } - if (!type) type = curType; - else if (type != curType) return CodeMirror.Pass; - } - - var left = pos % 2 ? pairs.charAt(pos - 1) : ch; - var right = pos % 2 ? ch : pairs.charAt(pos + 1); - cm.operation(function() { - if (type == "skip") { - cm.execCommand("goCharRight"); - } else if (type == "skipThree") { - for (var i = 0; i < 3; i++) - cm.execCommand("goCharRight"); - } else if (type == "surround") { - var sels = cm.getSelections(); - for (var i = 0; i < sels.length; i++) - sels[i] = left + sels[i] + right; - cm.replaceSelections(sels, "around"); - sels = cm.listSelections().slice(); - for (var i = 0; i < sels.length; i++) - sels[i] = contractSelection(sels[i]); - cm.setSelections(sels); - } else if (type == "both") { - cm.replaceSelection(left + right, null); - cm.triggerElectric(left + right); - cm.execCommand("goCharLeft"); - } else if (type == "addFour") { - cm.replaceSelection(left + left + left + left, "before"); - cm.execCommand("goCharRight"); - } - }); - } - - function isClosingBracket(ch, pairs) { - var pos = pairs.lastIndexOf(ch); - return pos > -1 && pos % 2 == 1; - } - - function charsAround(cm, pos) { - var str = cm.getRange(Pos(pos.line, pos.ch - 1), - Pos(pos.line, pos.ch + 1)); - return str.length == 2 ? str : null; - } - - // Project the token type that will exists after the given char is - // typed, and use it to determine whether it would cause the start - // of a string token. - function enteringString(cm, pos, ch) { - var line = cm.getLine(pos.line); - var token = cm.getTokenAt(pos); - if (/\bstring2?\b/.test(token.type)) return false; - var stream = new CodeMirror.StringStream(line.slice(0, pos.ch) + ch + line.slice(pos.ch), 4); - stream.pos = stream.start = token.start; - for (;;) { - var type1 = cm.getMode().token(stream, token.state); - if (stream.pos >= pos.ch + 1) return /\bstring2?\b/.test(type1); - stream.start = stream.pos; - } - } -}); - -var $jscomp=$jscomp||{};$jscomp.scope={};var COMPILED=!0,goog=goog||{};goog.global=this;goog.isDef=function(a){return void 0!==a};goog.isString=function(a){return"string"==typeof a};goog.isBoolean=function(a){return"boolean"==typeof a};goog.isNumber=function(a){return"number"==typeof a}; -goog.exportPath_=function(a,b,c){a=a.split(".");c=c||goog.global;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]&&c[d]!==Object.prototype[d]?c[d]:c[d]={}}; -goog.define=function(a,b){COMPILED||(goog.global.CLOSURE_UNCOMPILED_DEFINES&&void 0===goog.global.CLOSURE_UNCOMPILED_DEFINES.nodeType&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_UNCOMPILED_DEFINES,a)?b=goog.global.CLOSURE_UNCOMPILED_DEFINES[a]:goog.global.CLOSURE_DEFINES&&void 0===goog.global.CLOSURE_DEFINES.nodeType&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_DEFINES,a)&&(b=goog.global.CLOSURE_DEFINES[a]));goog.exportPath_(a,b)};goog.DEBUG=!0;goog.LOCALE="en"; -goog.TRUSTED_SITE=!0;goog.STRICT_MODE_COMPATIBLE=!1;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;goog.provide=function(a){if(goog.isInModuleLoader_())throw Error("goog.provide can not be used within a goog.module.");if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');goog.constructNamespace_(a)}; -goog.constructNamespace_=function(a,b){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var c=a;(c=c.substring(0,c.lastIndexOf(".")))&&!goog.getObjectByName(c);)goog.implicitNamespaces_[c]=!0}goog.exportPath_(a,b)};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/; -goog.module=function(a){if(!goog.isString(a)||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInModuleLoader_())throw Error("Module "+a+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module."); -goog.moduleLoaderState_.moduleName=a;if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');delete goog.implicitNamespaces_[a]}};goog.module.get=function(a){return goog.module.getInternal_(a)};goog.module.getInternal_=function(a){if(!COMPILED){if(a in goog.loadedModules_)return goog.loadedModules_[a];if(!goog.implicitNamespaces_[a])return a=goog.getObjectByName(a),null!=a?a:null}return null};goog.moduleLoaderState_=null; -goog.isInModuleLoader_=function(){return null!=goog.moduleLoaderState_};goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0}; -goog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||"",Error("Importing test-only code into non-debug environment"+(a?": "+a:"."));};goog.forwardDeclare=function(a){};COMPILED||(goog.isProvided_=function(a){return a in goog.loadedModules_||!goog.implicitNamespaces_[a]&&goog.isDefAndNotNull(goog.getObjectByName(a))},goog.implicitNamespaces_={"goog.module":!0}); -goog.getObjectByName=function(a,b){a=a.split(".");b=b||goog.global;for(var c;c=a.shift();)if(goog.isDefAndNotNull(b[c]))b=b[c];else return null;return b};goog.globalize=function(a,b){b=b||goog.global;for(var c in a)b[c]=a[c]}; -goog.addDependency=function(a,b,c,d){if(goog.DEPENDENCIES_ENABLED){var e;a=a.replace(/\\/g,"/");var f=goog.dependencies_;d&&"boolean"!==typeof d||(d=d?{module:"goog"}:{});for(var g=0;e=b[g];g++)f.nameToPath[e]=a,f.loadFlags[a]=d;for(d=0;b=c[d];d++)a in f.requires||(f.requires[a]={}),f.requires[a][b]=!0}};goog.ENABLE_DEBUG_LOADER=!0;goog.logToConsole_=function(a){goog.global.console&&goog.global.console.error(a)}; -goog.require=function(a){if(!COMPILED){goog.ENABLE_DEBUG_LOADER&&goog.IS_OLD_IE_&&goog.maybeProcessDeferredDep_(a);if(goog.isProvided_(a)){if(goog.isInModuleLoader_())return goog.module.getInternal_(a)}else if(goog.ENABLE_DEBUG_LOADER){var b=goog.getPathFromDeps_(a);if(b)goog.writeScripts_(b);else throw a="goog.require could not find: "+a,goog.logToConsole_(a),Error(a);}return null}};goog.basePath="";goog.nullFunction=function(){}; -goog.abstractMethod=function(){throw Error("unimplemented abstract method");};goog.addSingletonGetter=function(a){a.instance_=void 0;a.getInstance=function(){if(a.instance_)return a.instance_;goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a);return a.instance_=new a}};goog.instantiatedSingletons_=[];goog.LOAD_MODULE_USING_EVAL=!0;goog.SEAL_MODULE_EXPORTS=goog.DEBUG;goog.loadedModules_={};goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER;goog.TRANSPILE="detect"; -goog.TRANSPILER="transpile.js"; -goog.DEPENDENCIES_ENABLED&&(goog.dependencies_={loadFlags:{},nameToPath:{},requires:{},visited:{},written:{},deferred:{}},goog.inHtmlDocument_=function(){var a=goog.global.document;return null!=a&&"write"in a},goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH)&&goog.isString(goog.global.CLOSURE_BASE_PATH))goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var a=goog.global.document,b=a.currentScript;a=b?[b]:a.getElementsByTagName("SCRIPT");for(b=a.length- -1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf("?");d=-1==d?c.length:d;if("base.js"==c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}}},goog.importScript_=function(a,b){(goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_)(a,b)&&(goog.dependencies_.written[a]=!0)},goog.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.oldIeWaiting_=!1,goog.importProcessedScript_=function(a,b,c){goog.importScript_("",'goog.retrieveAndExec_("'+a+'", '+b+", "+c+");")},goog.queuedModules_= -[],goog.wrapModule_=function(a,b){return goog.LOAD_MODULE_USING_EVAL&&goog.isDef(goog.global.JSON)?"goog.loadModule("+goog.global.JSON.stringify(b+"\n//# sourceURL\x3d"+a+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+b+"\n;return exports});\n//# sourceURL\x3d"+a+"\n"},goog.loadQueuedModules_=function(){var a=goog.queuedModules_.length;if(0>>0);goog.uidCounter_=0;goog.getHashCode=goog.getUid; -goog.removeHashCode=goog.removeUid;goog.cloneObject=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(a.clone)return a.clone();b="array"==b?[]:{};for(var c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)}; -goog.bindJs_=function(a,b,c){if(!a)throw Error();if(2Number(a[1])?!1:b('(()\x3d\x3e{"use strict";class X{constructor(){if(new.target!\x3dString)throw 1;this.x\x3d42}}let q\x3dReflect.construct(X,[],String);if(q.x!\x3d42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a\x3d\x3d2)continue;function f(z\x3d{a}){let a\x3d0;return z.a}{function f(){return 0;}}return f()\x3d\x3d3}})()')}); -a("es6-impl",function(){return!0});a("es7",function(){return b("2 ** 2 \x3d\x3d 4")});a("es8",function(){return b("async () \x3d\x3e 1, true")});return c};goog.string={};goog.string.DETECT_DOUBLE_ESCAPING=!1;goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1;goog.string.Unicode={NBSP:" "};goog.string.startsWith=function(a,b){return 0==a.lastIndexOf(b,0)};goog.string.endsWith=function(a,b){var c=a.length-b.length;return 0<=c&&a.indexOf(b,c)==c};goog.string.caseInsensitiveStartsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(0,b.length))}; -goog.string.caseInsensitiveEndsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(a.length-b.length,b.length))};goog.string.caseInsensitiveEquals=function(a,b){return a.toLowerCase()==b.toLowerCase()};goog.string.subs=function(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1=a||"€"<=a&&"�">=a};goog.string.stripNewlines=function(a){return a.replace(/(\r\n|\r|\n)+/g," ")};goog.string.canonicalizeNewlines=function(a){return a.replace(/(\r\n|\r|\n)/g,"\n")};goog.string.normalizeWhitespace=function(a){return a.replace(/\xa0|\s/g," ")}; -goog.string.normalizeSpaces=function(a){return a.replace(/\xa0|[ \t]+/g," ")};goog.string.collapseBreakingSpaces=function(a){return a.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")};goog.string.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};goog.string.trimLeft=function(a){return a.replace(/^[\s\xa0]+/,"")};goog.string.trimRight=function(a){return a.replace(/[\s\xa0]+$/,"")}; -goog.string.caseInsensitiveCompare=function(a,b){a=String(a).toLowerCase();b=String(b).toLowerCase();return a/g;goog.string.QUOT_RE_=/"/g;goog.string.SINGLE_QUOTE_RE_=/'/g;goog.string.NULL_RE_=/\x00/g;goog.string.E_RE_=/e/g;goog.string.ALL_RE_=goog.string.DETECT_DOUBLE_ESCAPING?/[\x00&<>"'e]/:/[\x00&<>"']/;goog.string.unescapeEntities=function(a){return goog.string.contains(a,"\x26")?!goog.string.FORCE_NON_DOM_HTML_UNESCAPING&&"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(a):goog.string.unescapePureXmlEntities_(a):a}; -goog.string.unescapeEntitiesWithDocument=function(a,b){return goog.string.contains(a,"\x26")?goog.string.unescapeEntitiesUsingDom_(a,b):a}; -goog.string.unescapeEntitiesUsingDom_=function(a,b){var c={"\x26amp;":"\x26","\x26lt;":"\x3c","\x26gt;":"\x3e","\x26quot;":'"'};var d=b?b.createElement("div"):goog.global.document.createElement("div");return a.replace(goog.string.HTML_ENTITY_PATTERN_,function(a,b){var e=c[a];if(e)return e;"#"==b.charAt(0)&&(b=Number("0"+b.substr(1)),isNaN(b)||(e=String.fromCharCode(b)));e||(d.innerHTML=a+" ",e=d.firstChild.nodeValue.slice(0,-1));return c[a]=e})}; -goog.string.unescapePureXmlEntities_=function(a){return a.replace(/&([^;]+);/g,function(a,c){switch(c){case "amp":return"\x26";case "lt":return"\x3c";case "gt":return"\x3e";case "quot":return'"';default:return"#"!=c.charAt(0)||(c=Number("0"+c.substr(1)),isNaN(c))?a:String.fromCharCode(c)}})};goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g;goog.string.whitespaceEscape=function(a,b){return goog.string.newLineToBr(a.replace(/ /g," \x26#160;"),b)}; -goog.string.preserveSpaces=function(a){return a.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)};goog.string.stripQuotes=function(a,b){for(var c=b.length,d=0;db&&(a=a.substring(0,b-3)+"...");c&&(a=goog.string.htmlEscape(a));return a}; -goog.string.truncateMiddle=function(a,b,c,d){c&&(a=goog.string.unescapeEntities(a));if(d&&a.length>b){d>b&&(d=b);var e=a.length-d;a=a.substring(0,b-d)+"..."+a.substring(e)}else a.length>b&&(d=Math.floor(b/2),e=a.length-d,a=a.substring(0,d+b%2)+"..."+a.substring(e));c&&(a=goog.string.htmlEscape(a));return a};goog.string.specialEscapeChars_={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\","\x3c":"\x3c"};goog.string.jsEscapeCache_={"'":"\\'"}; -goog.string.quote=function(a){a=String(a);for(var b=['"'],c=0;ce?d:goog.string.escapeChar(d))}b.push('"');return b.join("")};goog.string.escapeString=function(a){for(var b=[],c=0;cb)var c=a;else{if(256>b){if(c="\\x",16>b||256b&&(c+="0");c+=b.toString(16).toUpperCase()}return goog.string.jsEscapeCache_[a]=c};goog.string.contains=function(a,b){return-1!=a.indexOf(b)}; -goog.string.caseInsensitiveContains=function(a,b){return goog.string.contains(a.toLowerCase(),b.toLowerCase())};goog.string.countOf=function(a,b){return a&&b?a.split(b).length-1:0};goog.string.removeAt=function(a,b,c){var d=a;0<=b&&bb?1:0};goog.string.hashCode=function(a){for(var b=0,c=0;c>>0;return b};goog.string.uniqueStringCounter_=2147483648*Math.random()|0;goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++}; -goog.string.toNumber=function(a){var b=Number(a);return 0==b&&goog.string.isEmptyOrWhitespace(a)?NaN:b};goog.string.isLowerCamelCase=function(a){return/^[a-z]+([A-Z][a-z]*)*$/.test(a)};goog.string.isUpperCamelCase=function(a){return/^([A-Z][a-z]*)+$/.test(a)};goog.string.toCamelCase=function(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};goog.string.toSelectorCase=function(a){return String(a).replace(/([A-Z])/g,"-$1").toLowerCase()}; -goog.string.toTitleCase=function(a,b){b=goog.isString(b)?goog.string.regExpEscape(b):"\\s";return a.replace(new RegExp("(^"+(b?"|["+b+"]+":"")+")([a-z])","g"),function(a,b,e){return b+e.toUpperCase()})};goog.string.capitalize=function(a){return String(a.charAt(0)).toUpperCase()+String(a.substr(1)).toLowerCase()};goog.string.parseInt=function(a){isFinite(a)&&(a=String(a));return goog.isString(a)?/^\s*-?0x/i.test(a)?parseInt(a,16):parseInt(a,10):NaN}; -goog.string.splitLimit=function(a,b,c){a=a.split(b);for(var d=[];0c&&(c=e)}return-1==c?a:a.slice(c+1)}; -goog.string.editDistance=function(a,b){var c=[],d=[];if(a==b)return 0;if(!a.length||!b.length)return Math.max(a.length,b.length);for(var e=0;ec?Math.max(0,a.length+c):c;if(goog.isString(a))return goog.isString(b)&&1==b.length?a.indexOf(b,c):-1;for(;cc&&(c=Math.max(0,a.length+c));if(goog.isString(a))return goog.isString(b)&&1==b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1}; -goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(a,b,c){goog.asserts.assert(null!=a.length);Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;fb?null:goog.isString(a)?a.charAt(b):a[b]};goog.array.findIndex=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;fb?null:goog.isString(a)?a.charAt(b):a[b]}; -goog.array.findIndexRight=function(a,b,c){var d=a.length,e=goog.isString(a)?a.split(""):a;for(--d;0<=d;d--)if(d in e&&b.call(c,e[d],d,a))return d;return-1};goog.array.contains=function(a,b){return 0<=goog.array.indexOf(a,b)};goog.array.isEmpty=function(a){return 0==a.length};goog.array.clear=function(a){if(!goog.isArray(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0};goog.array.insert=function(a,b){goog.array.contains(a,b)||a.push(b)}; -goog.array.insertAt=function(a,b,c){goog.array.splice(a,c,0,b)};goog.array.insertArrayAt=function(a,b,c){goog.partial(goog.array.splice,a,c,0).apply(null,b)};goog.array.insertBefore=function(a,b,c){var d;2==arguments.length||0>(d=goog.array.indexOf(a,c))?a.push(b):goog.array.insertAt(a,b,d)};goog.array.remove=function(a,b){b=goog.array.indexOf(a,b);var c;(c=0<=b)&&goog.array.removeAt(a,b);return c}; -goog.array.removeLast=function(a,b){b=goog.array.lastIndexOf(a,b);return 0<=b?(goog.array.removeAt(a,b),!0):!1};goog.array.removeAt=function(a,b){goog.asserts.assert(null!=a.length);return 1==Array.prototype.splice.call(a,b,1).length};goog.array.removeIf=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0<=b?(goog.array.removeAt(a,b),!0):!1};goog.array.removeAllIf=function(a,b,c){var d=0;goog.array.forEachRight(a,function(e,f){b.call(c,e,f,a)&&goog.array.removeAt(a,f)&&d++});return d}; -goog.array.concat=function(a){return Array.prototype.concat.apply([],arguments)};goog.array.join=function(a){return Array.prototype.concat.apply([],arguments)};goog.array.toArray=function(a){var b=a.length;if(0=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)}; -goog.array.removeDuplicates=function(a,b,c){b=b||a;var d=function(a){return goog.isObject(a)?"o"+goog.getUid(a):(typeof a).charAt(0)+a};c=c||d;d={};for(var e=0,f=0;f>1;var l=c?b.call(e,a[k],k,a):b(d,a[k]);0b?1:ac?(goog.array.insertAt(a,b,-(c+1)),!0):!1};goog.array.binaryRemove=function(a,b,c){b=goog.array.binarySearch(a,b,c);return 0<=b?goog.array.removeAt(a,b):!1}; -goog.array.bucket=function(a,b,c){for(var d={},e=0;ec*(f-e))return[];if(0f;a+=c)d.push(a);return d}; -goog.array.repeat=function(a,b){for(var c=[],d=0;db&&Array.prototype.push.apply(a,a.splice(0,-b)));return a};goog.array.moveItem=function(a,b,c){goog.asserts.assert(0<=b&&ba*b?a+b:a};goog.math.lerp=function(a,b,c){return a+c*(b-a)};goog.math.nearlyEquals=function(a,b,c){return Math.abs(a-b)<=(c||1E-6)};goog.math.standardAngle=function(a){return goog.math.modulo(a,360)}; -goog.math.standardAngleInRadians=function(a){return goog.math.modulo(a,2*Math.PI)};goog.math.toRadians=function(a){return a*Math.PI/180};goog.math.toDegrees=function(a){return 180*a/Math.PI};goog.math.angleDx=function(a,b){return b*Math.cos(goog.math.toRadians(a))};goog.math.angleDy=function(a,b){return b*Math.sin(goog.math.toRadians(a))};goog.math.angle=function(a,b,c,d){return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(d-b,c-a)))}; -goog.math.angleDifference=function(a,b){a=goog.math.standardAngle(b)-goog.math.standardAngle(a);180=a&&(a=360+a);return a};goog.math.sign=function(a){return 0a?-1:a}; -goog.math.longestCommonSubsequence=function(a,b,c,d){c=c||function(a,b){return a==b};d=d||function(b,c){return a[b]};for(var e=a.length,f=b.length,g=[],h=0;hg[h][k-1]?h--:k--;return l}; -goog.math.sum=function(a){return goog.array.reduce(arguments,function(a,c){return a+c},0)};goog.math.average=function(a){return goog.math.sum.apply(null,arguments)/arguments.length};goog.math.sampleVariance=function(a){var b=arguments.length;if(2>b)return 0;var c=goog.math.average.apply(null,arguments);return goog.math.sum.apply(null,goog.array.map(arguments,function(a){return Math.pow(a-c,2)}))/(b-1)};goog.math.standardDeviation=function(a){return Math.sqrt(goog.math.sampleVariance.apply(null,arguments))}; -goog.math.isInt=function(a){return isFinite(a)&&0==a%1};goog.math.isFiniteNumber=function(a){return isFinite(a)};goog.math.isNegativeZero=function(a){return 0==a&&0>1/a};goog.math.log10Floor=function(a){if(0a?1:0)}return 0==a?-Infinity:NaN};goog.math.safeFloor=function(a,b){goog.asserts.assert(!goog.isDef(b)||0=a.length)throw goog.iter.StopIteration;if(b in a)return a[b++];b++}};return c}throw Error("Not implemented");}; -goog.iter.forEach=function(a,b,c){if(goog.isArrayLike(a))try{goog.array.forEach(a,b,c)}catch(d){if(d!==goog.iter.StopIteration)throw d;}else{a=goog.iter.toIterator(a);try{for(;;)b.call(c,a.next(),void 0,a)}catch(d){if(d!==goog.iter.StopIteration)throw d;}}};goog.iter.filter=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){for(;;){var a=d.next();if(b.call(c,a,void 0,d))return a}};return a}; -goog.iter.filterFalse=function(a,b,c){return goog.iter.filter(a,goog.functions.not(b),c)};goog.iter.range=function(a,b,c){var d=0,e=a,f=c||1;1=e||0>f&&d<=e)throw goog.iter.StopIteration;var a=d;d+=f;return a};return g};goog.iter.join=function(a,b){return goog.iter.toArray(a).join(b)}; -goog.iter.map=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=d.next();return b.call(c,a,void 0,d)};return a};goog.iter.reduce=function(a,b,c,d){var e=c;goog.iter.forEach(a,function(a){e=b.call(d,e,a)});return e};goog.iter.some=function(a,b,c){a=goog.iter.toIterator(a);try{for(;;)if(b.call(c,a.next(),void 0,a))return!0}catch(d){if(d!==goog.iter.StopIteration)throw d;}return!1}; -goog.iter.every=function(a,b,c){a=goog.iter.toIterator(a);try{for(;;)if(!b.call(c,a.next(),void 0,a))return!1}catch(d){if(d!==goog.iter.StopIteration)throw d;}return!0};goog.iter.chain=function(a){return goog.iter.chainFromIterable(arguments)}; -goog.iter.chainFromIterable=function(a){var b=goog.iter.toIterator(a);a=new goog.iter.Iterator;var c=null;a.next=function(){for(;;){if(null==c){var a=b.next();c=goog.iter.toIterator(a)}try{return c.next()}catch(e){if(e!==goog.iter.StopIteration)throw e;c=null}}};return a};goog.iter.dropWhile=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;var e=!0;a.next=function(){for(;;){var a=d.next();if(!e||!b.call(c,a,void 0,d))return e=!1,a}};return a}; -goog.iter.takeWhile=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=d.next();if(b.call(c,a,void 0,d))return a;throw goog.iter.StopIteration;};return a};goog.iter.toArray=function(a){if(goog.isArrayLike(a))return goog.array.toArray(a);a=goog.iter.toIterator(a);var b=[];goog.iter.forEach(a,function(a){b.push(a)});return b}; -goog.iter.equals=function(a,b,c){a=goog.iter.zipLongest({},a,b);var d=c||goog.array.defaultCompareEquality;return goog.iter.every(a,function(a){return d(a[0],a[1])})};goog.iter.nextOrValue=function(a,b){try{return goog.iter.toIterator(a).next()}catch(c){if(c!=goog.iter.StopIteration)throw c;return b}}; -goog.iter.product=function(a){if(goog.array.some(arguments,function(a){return!a.length})||!arguments.length)return new goog.iter.Iterator;var b=new goog.iter.Iterator,c=arguments,d=goog.array.repeat(0,c.length);b.next=function(){if(d){for(var a=goog.array.map(d,function(a,b){return c[b][a]}),b=d.length-1;0<=b;b--){goog.asserts.assert(d);if(d[b]=b),a=goog.iter.limit(a,c-b));return a};goog.iter.hasDuplicates_=function(a){var b=[];goog.array.removeDuplicates(a,b);return a.length!=b.length};goog.iter.permutations=function(a,b){a=goog.iter.toArray(a);b=goog.isNumber(b)?b:a.length;b=goog.array.repeat(a,b);b=goog.iter.product.apply(void 0,b);return goog.iter.filter(b,function(a){return!goog.iter.hasDuplicates_(a)})}; -goog.iter.combinations=function(a,b){function c(a){return d[a]}var d=goog.iter.toArray(a);a=goog.iter.range(d.length);b=goog.iter.permutations(a,b);var e=goog.iter.filter(b,function(a){return goog.array.isSorted(a)});b=new goog.iter.Iterator;b.next=function(){return goog.array.map(e.next(),c)};return b}; -goog.iter.combinationsWithReplacement=function(a,b){function c(a){return d[a]}var d=goog.iter.toArray(a);a=goog.array.range(d.length);b=goog.array.repeat(a,b);b=goog.iter.product.apply(void 0,b);var e=goog.iter.filter(b,function(a){return goog.array.isSorted(a)});b=new goog.iter.Iterator;b.next=function(){return goog.array.map(e.next(),c)};return b};goog.structs.Map=function(a,b){this.map_={};this.keys_=[];this.version_=this.count_=0;var c=arguments.length;if(12*this.count_&&this.cleanupKeysArray_(),!0):!1}; -goog.structs.Map.prototype.cleanupKeysArray_=function(){if(this.count_!=this.keys_.length){for(var a=0,b=0;a=d.keys_.length)throw goog.iter.StopIteration;var e=d.keys_[b++];return a?e:d.map_[e]};return e};goog.structs.Map.hasKey_=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};goog.uri={};goog.uri.utils={};goog.uri.utils.CharCode_={AMPERSAND:38,EQUAL:61,HASH:35,QUESTION:63};goog.uri.utils.buildFromEncodedParts=function(a,b,c,d,e,f,g){var h="";a&&(h+=a+":");c&&(h+="//",b&&(h+=b+"@"),h+=c,d&&(h+=":"+d));e&&(h+=e);f&&(h+="?"+f);g&&(h+="#"+g);return h};goog.uri.utils.splitRe_=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/; -goog.uri.utils.ComponentIndex={SCHEME:1,USER_INFO:2,DOMAIN:3,PORT:4,PATH:5,QUERY_DATA:6,FRAGMENT:7};goog.uri.utils.split=function(a){return a.match(goog.uri.utils.splitRe_)};goog.uri.utils.decodeIfPossible_=function(a,b){return a?b?decodeURI(a):decodeURIComponent(a):a};goog.uri.utils.getComponentByIndex_=function(a,b){return goog.uri.utils.split(b)[a]||null};goog.uri.utils.getScheme=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.SCHEME,a)}; -goog.uri.utils.getEffectiveScheme=function(a){a=goog.uri.utils.getScheme(a);!a&&goog.global.self&&goog.global.self.location&&(a=goog.global.self.location.protocol,a=a.substr(0,a.length-1));return a?a.toLowerCase():""};goog.uri.utils.getUserInfoEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.USER_INFO,a)};goog.uri.utils.getUserInfo=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getUserInfoEncoded(a))}; -goog.uri.utils.getDomainEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.DOMAIN,a)};goog.uri.utils.getDomain=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getDomainEncoded(a),!0)};goog.uri.utils.getPort=function(a){return Number(goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PORT,a))||null};goog.uri.utils.getPathEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PATH,a)}; -goog.uri.utils.getPath=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getPathEncoded(a),!0)};goog.uri.utils.getQueryData=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.QUERY_DATA,a)};goog.uri.utils.getFragmentEncoded=function(a){var b=a.indexOf("#");return 0>b?null:a.substr(b+1)};goog.uri.utils.setFragmentEncoded=function(a,b){return goog.uri.utils.removeFragment(a)+(b?"#"+b:"")};goog.uri.utils.getFragment=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getFragmentEncoded(a))}; -goog.uri.utils.getHost=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME],a[goog.uri.utils.ComponentIndex.USER_INFO],a[goog.uri.utils.ComponentIndex.DOMAIN],a[goog.uri.utils.ComponentIndex.PORT])};goog.uri.utils.getOrigin=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME],null,a[goog.uri.utils.ComponentIndex.DOMAIN],a[goog.uri.utils.ComponentIndex.PORT])}; -goog.uri.utils.getPathAndAfter=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(null,null,null,null,a[goog.uri.utils.ComponentIndex.PATH],a[goog.uri.utils.ComponentIndex.QUERY_DATA],a[goog.uri.utils.ComponentIndex.FRAGMENT])};goog.uri.utils.removeFragment=function(a){var b=a.indexOf("#");return 0>b?a:a.substr(0,b)}; -goog.uri.utils.haveSameDomain=function(a,b){a=goog.uri.utils.split(a);b=goog.uri.utils.split(b);return a[goog.uri.utils.ComponentIndex.DOMAIN]==b[goog.uri.utils.ComponentIndex.DOMAIN]&&a[goog.uri.utils.ComponentIndex.SCHEME]==b[goog.uri.utils.ComponentIndex.SCHEME]&&a[goog.uri.utils.ComponentIndex.PORT]==b[goog.uri.utils.ComponentIndex.PORT]}; -goog.uri.utils.assertNoFragmentsOrQueries_=function(a){goog.asserts.assert(0>a.indexOf("#")&&0>a.indexOf("?"),"goog.uri.utils: Fragment or query identifiers are not supported: [%s]",a)};goog.uri.utils.parseQueryData=function(a,b){if(a){a=a.split("\x26");for(var c=0;cb&&(b=a.length);var c=a.indexOf("?");if(0>c||c>b){c=b;var d=""}else d=a.substring(c+1,b);return[a.substr(0,c),d,a.substr(b)]};goog.uri.utils.joinQueryData_=function(a){return a[0]+(a[1]?"?"+a[1]:"")+a[2]};goog.uri.utils.appendQueryData_=function(a,b){return b?a?a+"\x26"+b:b:a};goog.uri.utils.appendQueryDataToUri_=function(a,b){if(!b)return a;a=goog.uri.utils.splitQueryData_(a);a[1]=goog.uri.utils.appendQueryData_(a[1],b);return goog.uri.utils.joinQueryData_(a)}; -goog.uri.utils.appendKeyValuePairs_=function(a,b,c){goog.asserts.assertString(a);if(goog.isArray(b)){goog.asserts.assertArray(b);for(var d=0;dd)return null;var e=a.indexOf("\x26",d);if(0>e||e>c)e=c;d+=b.length+1;return goog.string.urlDecode(a.substr(d,e-d))};goog.uri.utils.getParamValues=function(a,b){for(var c=a.search(goog.uri.utils.hashOrEndRe_),d=0,e,f=[];0<=(e=goog.uri.utils.findParam_(a,d,b,c));){d=a.indexOf("\x26",e);if(0>d||d>c)d=c;e+=b.length+1;f.push(goog.string.urlDecode(a.substr(e,d-e)))}return f}; -goog.uri.utils.trailingQueryPunctuationRe_=/[?&]($|#)/;goog.uri.utils.removeParam=function(a,b){for(var c=a.search(goog.uri.utils.hashOrEndRe_),d=0,e,f=[];0<=(e=goog.uri.utils.findParam_(a,d,b,c));)f.push(a.substring(d,e)),d=Math.min(a.indexOf("\x26",e)+1||c,c);f.push(a.substr(d));return f.join("").replace(goog.uri.utils.trailingQueryPunctuationRe_,"$1")};goog.uri.utils.setParam=function(a,b,c){return goog.uri.utils.appendParam(goog.uri.utils.removeParam(a,b),b,c)}; -goog.uri.utils.setParamsFromMap=function(a,b){a=goog.uri.utils.splitQueryData_(a);var c=a[1],d=[];c&&goog.array.forEach(c.split("\x26"),function(a){var c=a.indexOf("\x3d");c=0<=c?a.substr(0,c):a;b.hasOwnProperty(c)||d.push(a)});a[1]=goog.uri.utils.appendQueryData_(d.join("\x26"),goog.uri.utils.buildQueryDataFromMap(b));return goog.uri.utils.joinQueryData_(a)}; -goog.uri.utils.appendPath=function(a,b){goog.uri.utils.assertNoFragmentsOrQueries_(a);goog.string.endsWith(a,"/")&&(a=a.substr(0,a.length-1));goog.string.startsWith(b,"/")&&(b=b.substr(1));return goog.string.buildString(a,"/",b)}; -goog.uri.utils.setPath=function(a,b){goog.string.startsWith(b,"/")||(b="/"+b);a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME],a[goog.uri.utils.ComponentIndex.USER_INFO],a[goog.uri.utils.ComponentIndex.DOMAIN],a[goog.uri.utils.ComponentIndex.PORT],b,a[goog.uri.utils.ComponentIndex.QUERY_DATA],a[goog.uri.utils.ComponentIndex.FRAGMENT])};goog.uri.utils.StandardQueryParam={RANDOM:"zx"}; -goog.uri.utils.makeUnique=function(a){return goog.uri.utils.setParam(a,goog.uri.utils.StandardQueryParam.RANDOM,goog.string.getRandomString())};goog.Uri=function(a,b){this.domain_=this.userInfo_=this.scheme_="";this.port_=null;this.fragment_=this.path_="";this.ignoreCase_=this.isReadOnly_=!1;var c;a instanceof goog.Uri?(this.ignoreCase_=goog.isDef(b)?b:a.getIgnoreCase(),this.setScheme(a.getScheme()),this.setUserInfo(a.getUserInfo()),this.setDomain(a.getDomain()),this.setPort(a.getPort()),this.setPath(a.getPath()),this.setQueryData(a.getQueryData().clone()),this.setFragment(a.getFragment())):a&&(c=goog.uri.utils.split(String(a)))?(this.ignoreCase_= -!!b,this.setScheme(c[goog.uri.utils.ComponentIndex.SCHEME]||"",!0),this.setUserInfo(c[goog.uri.utils.ComponentIndex.USER_INFO]||"",!0),this.setDomain(c[goog.uri.utils.ComponentIndex.DOMAIN]||"",!0),this.setPort(c[goog.uri.utils.ComponentIndex.PORT]),this.setPath(c[goog.uri.utils.ComponentIndex.PATH]||"",!0),this.setQueryData(c[goog.uri.utils.ComponentIndex.QUERY_DATA]||"",!0),this.setFragment(c[goog.uri.utils.ComponentIndex.FRAGMENT]||"",!0)):(this.ignoreCase_=!!b,this.queryData_=new goog.Uri.QueryData(null, -null,this.ignoreCase_))};goog.Uri.preserveParameterTypesCompatibilityFlag=!1;goog.Uri.RANDOM_PARAM=goog.uri.utils.StandardQueryParam.RANDOM; -goog.Uri.prototype.toString=function(){var a=[],b=this.getScheme();b&&a.push(goog.Uri.encodeSpecialChars_(b,goog.Uri.reDisallowedInSchemeOrUserInfo_,!0),":");var c=this.getDomain();if(c||"file"==b)a.push("//"),(b=this.getUserInfo())&&a.push(goog.Uri.encodeSpecialChars_(b,goog.Uri.reDisallowedInSchemeOrUserInfo_,!0),"@"),a.push(goog.Uri.removeDoubleEncoding_(goog.string.urlEncode(c))),c=this.getPort(),null!=c&&a.push(":",String(c));if(c=this.getPath())this.hasDomain()&&"/"!=c.charAt(0)&&a.push("/"), -a.push(goog.Uri.encodeSpecialChars_(c,"/"==c.charAt(0)?goog.Uri.reDisallowedInAbsolutePath_:goog.Uri.reDisallowedInRelativePath_,!0));(c=this.getEncodedQuery())&&a.push("?",c);(c=this.getFragment())&&a.push("#",goog.Uri.encodeSpecialChars_(c,goog.Uri.reDisallowedInFragment_));return a.join("")}; -goog.Uri.prototype.resolve=function(a){var b=this.clone(),c=a.hasScheme();c?b.setScheme(a.getScheme()):c=a.hasUserInfo();c?b.setUserInfo(a.getUserInfo()):c=a.hasDomain();c?b.setDomain(a.getDomain()):c=a.hasPort();var d=a.getPath();if(c)b.setPort(a.getPort());else if(c=a.hasPath()){if("/"!=d.charAt(0))if(this.hasDomain()&&!this.hasPath())d="/"+d;else{var e=b.getPath().lastIndexOf("/");-1!=e&&(d=b.getPath().substr(0,e+1)+d)}d=goog.Uri.removeDotSegments(d)}c?b.setPath(d):c=a.hasQuery();c?b.setQueryData(a.getQueryData().clone()): -c=a.hasFragment();c&&b.setFragment(a.getFragment());return b};goog.Uri.prototype.clone=function(){return new goog.Uri(this)};goog.Uri.prototype.getScheme=function(){return this.scheme_};goog.Uri.prototype.setScheme=function(a,b){this.enforceReadOnly();if(this.scheme_=b?goog.Uri.decodeOrEmpty_(a,!0):a)this.scheme_=this.scheme_.replace(/:$/,"");return this};goog.Uri.prototype.hasScheme=function(){return!!this.scheme_};goog.Uri.prototype.getUserInfo=function(){return this.userInfo_}; -goog.Uri.prototype.setUserInfo=function(a,b){this.enforceReadOnly();this.userInfo_=b?goog.Uri.decodeOrEmpty_(a):a;return this};goog.Uri.prototype.hasUserInfo=function(){return!!this.userInfo_};goog.Uri.prototype.getDomain=function(){return this.domain_};goog.Uri.prototype.setDomain=function(a,b){this.enforceReadOnly();this.domain_=b?goog.Uri.decodeOrEmpty_(a,!0):a;return this};goog.Uri.prototype.hasDomain=function(){return!!this.domain_};goog.Uri.prototype.getPort=function(){return this.port_}; -goog.Uri.prototype.setPort=function(a){this.enforceReadOnly();if(a){a=Number(a);if(isNaN(a)||0>a)throw Error("Bad port number "+a);this.port_=a}else this.port_=null;return this};goog.Uri.prototype.hasPort=function(){return null!=this.port_};goog.Uri.prototype.getPath=function(){return this.path_};goog.Uri.prototype.setPath=function(a,b){this.enforceReadOnly();this.path_=b?goog.Uri.decodeOrEmpty_(a,!0):a;return this};goog.Uri.prototype.hasPath=function(){return!!this.path_}; -goog.Uri.prototype.hasQuery=function(){return""!==this.queryData_.toString()};goog.Uri.prototype.setQueryData=function(a,b){this.enforceReadOnly();a instanceof goog.Uri.QueryData?(this.queryData_=a,this.queryData_.setIgnoreCase(this.ignoreCase_)):(b||(a=goog.Uri.encodeSpecialChars_(a,goog.Uri.reDisallowedInQuery_)),this.queryData_=new goog.Uri.QueryData(a,null,this.ignoreCase_));return this};goog.Uri.prototype.setQuery=function(a,b){return this.setQueryData(a,b)}; -goog.Uri.prototype.getEncodedQuery=function(){return this.queryData_.toString()};goog.Uri.prototype.getDecodedQuery=function(){return this.queryData_.toDecodedString()};goog.Uri.prototype.getQueryData=function(){return this.queryData_};goog.Uri.prototype.getQuery=function(){return this.getEncodedQuery()};goog.Uri.prototype.setParameterValue=function(a,b){this.enforceReadOnly();this.queryData_.set(a,b);return this}; -goog.Uri.prototype.setParameterValues=function(a,b){this.enforceReadOnly();goog.isArray(b)||(b=[String(b)]);this.queryData_.setValues(a,b);return this};goog.Uri.prototype.getParameterValues=function(a){return this.queryData_.getValues(a)};goog.Uri.prototype.getParameterValue=function(a){return this.queryData_.get(a)};goog.Uri.prototype.getFragment=function(){return this.fragment_};goog.Uri.prototype.setFragment=function(a,b){this.enforceReadOnly();this.fragment_=b?goog.Uri.decodeOrEmpty_(a):a;return this}; -goog.Uri.prototype.hasFragment=function(){return!!this.fragment_};goog.Uri.prototype.hasSameDomainAs=function(a){return(!this.hasDomain()&&!a.hasDomain()||this.getDomain()==a.getDomain())&&(!this.hasPort()&&!a.hasPort()||this.getPort()==a.getPort())};goog.Uri.prototype.makeUnique=function(){this.enforceReadOnly();this.setParameterValue(goog.Uri.RANDOM_PARAM,goog.string.getRandomString());return this};goog.Uri.prototype.removeParameter=function(a){this.enforceReadOnly();this.queryData_.remove(a);return this}; -goog.Uri.prototype.setReadOnly=function(a){this.isReadOnly_=a;return this};goog.Uri.prototype.isReadOnly=function(){return this.isReadOnly_};goog.Uri.prototype.enforceReadOnly=function(){if(this.isReadOnly_)throw Error("Tried to modify a read-only Uri");};goog.Uri.prototype.setIgnoreCase=function(a){this.ignoreCase_=a;this.queryData_&&this.queryData_.setIgnoreCase(a);return this};goog.Uri.prototype.getIgnoreCase=function(){return this.ignoreCase_}; -goog.Uri.parse=function(a,b){return a instanceof goog.Uri?a.clone():new goog.Uri(a,b)};goog.Uri.create=function(a,b,c,d,e,f,g,h){h=new goog.Uri(null,h);a&&h.setScheme(a);b&&h.setUserInfo(b);c&&h.setDomain(c);d&&h.setPort(d);e&&h.setPath(e);f&&h.setQueryData(f);g&&h.setFragment(g);return h};goog.Uri.resolve=function(a,b){a instanceof goog.Uri||(a=goog.Uri.parse(a));b instanceof goog.Uri||(b=goog.Uri.parse(b));return a.resolve(b)}; -goog.Uri.removeDotSegments=function(a){if(".."==a||"."==a)return"";if(goog.string.contains(a,"./")||goog.string.contains(a,"/.")){var b=goog.string.startsWith(a,"/");a=a.split("/");for(var c=[],d=0;d>4&15).toString(16)+(a&15).toString(16)};goog.Uri.removeDoubleEncoding_=function(a){return a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")};goog.Uri.reDisallowedInSchemeOrUserInfo_=/[#\/\?@]/g;goog.Uri.reDisallowedInRelativePath_=/[#\?:]/g;goog.Uri.reDisallowedInAbsolutePath_=/[#\?]/g; -goog.Uri.reDisallowedInQuery_=/[#\?@]/g;goog.Uri.reDisallowedInFragment_=/#/g;goog.Uri.haveSameDomain=function(a,b){a=goog.uri.utils.split(a);b=goog.uri.utils.split(b);return a[goog.uri.utils.ComponentIndex.DOMAIN]==b[goog.uri.utils.ComponentIndex.DOMAIN]&&a[goog.uri.utils.ComponentIndex.PORT]==b[goog.uri.utils.ComponentIndex.PORT]};goog.Uri.QueryData=function(a,b,c){this.count_=this.keyMap_=null;this.encodedQuery_=a||null;this.ignoreCase_=!!c}; -goog.Uri.QueryData.prototype.ensureKeyMapInitialized_=function(){if(!this.keyMap_&&(this.keyMap_=new goog.structs.Map,this.count_=0,this.encodedQuery_)){var a=this;goog.uri.utils.parseQueryData(this.encodedQuery_,function(b,c){a.add(goog.string.urlDecode(b),c)})}}; -goog.Uri.QueryData.createFromMap=function(a,b,c){b=goog.structs.getKeys(a);if("undefined"==typeof b)throw Error("Keys are undefined");c=new goog.Uri.QueryData(null,null,c);a=goog.structs.getValues(a);for(var d=0;da){var b=goog.math.Integer.IntCache_[a];if(b)return b}b=new goog.math.Integer([a|0],0>a?-1:0);-128<=a&&128>a&&(goog.math.Integer.IntCache_[a]=b);return b}; -goog.math.Integer.fromNumber=function(a){if(isNaN(a)||!isFinite(a))return goog.math.Integer.ZERO;if(0>a)return goog.math.Integer.fromNumber(-a).negate();for(var b=[],c=1,d=0;a>=c;d++)b[d]=a/c|0,c*=goog.math.Integer.TWO_PWR_32_DBL_;return new goog.math.Integer(b,0)};goog.math.Integer.fromBits=function(a){return new goog.math.Integer(a,a[a.length-1]&-2147483648?-1:0)}; -goog.math.Integer.fromString=function(a,b){if(0==a.length)throw Error("number format error: empty string");b=b||10;if(2>b||36f?(f=goog.math.Integer.fromNumber(Math.pow(b, -f)),d=d.multiply(f).add(goog.math.Integer.fromNumber(g))):(d=d.multiply(c),d=d.add(goog.math.Integer.fromNumber(g)))}return d};goog.math.Integer.TWO_PWR_32_DBL_=4294967296;goog.math.Integer.ZERO=goog.math.Integer.fromInt(0);goog.math.Integer.ONE=goog.math.Integer.fromInt(1);goog.math.Integer.TWO_PWR_24_=goog.math.Integer.fromInt(16777216);goog.math.Integer.prototype.toInt=function(){return 0a||36>>0).toString(a);c=e;if(c.isZero())return f+d;for(;6>f.length;)f="0"+f;d=""+f+d}};goog.math.Integer.prototype.getBits=function(a){return 0>a?0:athis.compare(a)};goog.math.Integer.prototype.lessThanOrEqual=function(a){return 0>=this.compare(a)};goog.math.Integer.prototype.compare=function(a){a=this.subtract(a);return a.isNegative()?-1:a.isZero()?0:1}; -goog.math.Integer.prototype.shorten=function(a){var b=a-1>>5;a=(a-1)%32;for(var c=[],d=0;d>>16,g=this.getBits(e)&65535,h=a.getBits(e)>>>16,k=a.getBits(e)&65535;g=d+g+k;f=(g>>>16)+f+h;d=f>>>16;g&=65535;f&=65535;c[e]=f<<16|g}return goog.math.Integer.fromBits(c)};goog.math.Integer.prototype.subtract=function(a){return this.add(a.negate())}; -goog.math.Integer.prototype.multiply=function(a){if(this.isZero()||a.isZero())return goog.math.Integer.ZERO;if(this.isNegative())return a.isNegative()?this.negate().multiply(a.negate()):this.negate().multiply(a).negate();if(a.isNegative())return this.multiply(a.negate()).negate();if(this.lessThan(goog.math.Integer.TWO_PWR_24_)&&a.lessThan(goog.math.Integer.TWO_PWR_24_))return goog.math.Integer.fromNumber(this.toNumber()*a.toNumber());for(var b=this.bits_.length+a.bits_.length,c=[],d=0;d<2*b;d++)c[d]= -0;for(d=0;d>>16,g=this.getBits(d)&65535,h=a.getBits(e)>>>16,k=a.getBits(e)&65535;c[2*d+2*e]+=g*k;goog.math.Integer.carry16_(c,2*d+2*e);c[2*d+2*e+1]+=f*k;goog.math.Integer.carry16_(c,2*d+2*e+1);c[2*d+2*e+1]+=g*h;goog.math.Integer.carry16_(c,2*d+2*e+1);c[2*d+2*e+2]+=f*h;goog.math.Integer.carry16_(c,2*d+2*e+2)}for(d=0;d>>16,a[b]&=65535,b++}; -goog.math.Integer.prototype.slowDivide_=function(a){if(this.isNegative()||a.isNegative())throw Error("slowDivide_ only works with positive integers.");for(var b=goog.math.Integer.ONE;a.lessThanOrEqual(this);)b=b.shiftLeft(1),a=a.shiftLeft(1);var c=b.shiftRight(1),d=a.shiftRight(1);a=a.shiftRight(2);for(b=b.shiftRight(2);!a.isZero();){var e=d.add(a);e.lessThanOrEqual(this)&&(c=c.add(b),d=e);a=a.shiftRight(1);b=b.shiftRight(1)}return c}; -goog.math.Integer.prototype.divide=function(a){if(a.isZero())throw Error("division by zero");if(this.isZero())return goog.math.Integer.ZERO;if(this.isNegative())return a.isNegative()?this.negate().divide(a.negate()):this.negate().divide(a).negate();if(a.isNegative())return this.divide(a.negate()).negate();if(30=e?1:Math.pow(2,e-48);for(var f=goog.math.Integer.fromNumber(d),g=f.multiply(a);g.isNegative()||g.greaterThan(c);)d-=e,f=goog.math.Integer.fromNumber(d),g=f.multiply(a);f.isZero()&&(f=goog.math.Integer.ONE);b=b.add(f);c=c.subtract(g)}return b};goog.math.Integer.prototype.modulo=function(a){return this.subtract(this.divide(a).multiply(a))};goog.math.Integer.prototype.not=function(){for(var a=this.bits_.length,b=[],c=0;c>5;a%=32;for(var c=this.bits_.length+b+(0>>32-a:this.getBits(e-b);return new goog.math.Integer(d,this.sign_)}; -goog.math.Integer.prototype.shiftRight=function(a){var b=a>>5;a%=32;for(var c=this.bits_.length-b,d=[],e=0;e>>a|this.getBits(e+b+1)<<32-a:this.getBits(e+b);return new goog.math.Integer(d,this.sign_)};goog.string.StringBuffer=function(a,b){null!=a&&this.append.apply(this,arguments)};goog.string.StringBuffer.prototype.buffer_="";goog.string.StringBuffer.prototype.set=function(a){this.buffer_=""+a};goog.string.StringBuffer.prototype.append=function(a,b,c){this.buffer_+=String(a);if(null!=b)for(var d=1;da?-1:0)})};goog.math.Long.MAX_VALUE_FOR_RADIX_=" 111111111111111111111111111111111111111111111111111111111111111 2021110011022210012102010021220101220221 13333333333333333333333333333333 1104332401304422434310311212 1540241003031030222122211 22341010611245052052300 777777777777777777777 67404283172107811827 9223372036854775807 1728002635214590697 41a792678515120367 10b269549075433c37 4340724c6c71dc7a7 160e2ad3246366807 7fffffffffffffff 33d3d8307b214008 16agh595df825fa7 ba643dci0ffeehh 5cbfjia3fh26ja7 2heiciiie82dh97 1adaibb21dckfa7 i6k448cf4192c2 acd772jnc9l0l7 64ie1focnn5g77 3igoecjbmca687 27c48l5b37oaop 1bk39f3ah3dmq7 q1se8f0m04isb hajppbc1fc207 bm03i95hia437 7vvvvvvvvvvvv 5hg4ck9jd4u37 3tdtk1v8j6tpp 2pijmikexrxp7 1y2p0ij32e8e7".split(" "); -goog.math.Long.MIN_VALUE_FOR_RADIX_=" -1000000000000000000000000000000000000000000000000000000000000000 -2021110011022210012102010021220101220222 -20000000000000000000000000000000 -1104332401304422434310311213 -1540241003031030222122212 -22341010611245052052301 -1000000000000000000000 -67404283172107811828 -9223372036854775808 -1728002635214590698 -41a792678515120368 -10b269549075433c38 -4340724c6c71dc7a8 -160e2ad3246366808 -8000000000000000 -33d3d8307b214009 -16agh595df825fa8 -ba643dci0ffeehi -5cbfjia3fh26ja8 -2heiciiie82dh98 -1adaibb21dckfa8 -i6k448cf4192c3 -acd772jnc9l0l8 -64ie1focnn5g78 -3igoecjbmca688 -27c48l5b37oaoq -1bk39f3ah3dmq8 -q1se8f0m04isc -hajppbc1fc208 -bm03i95hia438 -8000000000000 -5hg4ck9jd4u38 -3tdtk1v8j6tpq -2pijmikexrxp8 -1y2p0ij32e8e8".split(" "); -goog.math.Long.fromInt=function(a){var b=a|0;goog.asserts.assert(a===b,"value should be a 32-bit integer");return-128<=b&&128>b?goog.math.Long.getCachedIntValue_(b):new goog.math.Long(b,0>b?-1:0)}; -goog.math.Long.fromNumber=function(a){return isNaN(a)?goog.math.Long.getZero():a<=-goog.math.Long.TWO_PWR_63_DBL_?goog.math.Long.getMinValue():a+1>=goog.math.Long.TWO_PWR_63_DBL_?goog.math.Long.getMaxValue():0>a?goog.math.Long.fromNumber(-a).negate():new goog.math.Long(a%goog.math.Long.TWO_PWR_32_DBL_|0,a/goog.math.Long.TWO_PWR_32_DBL_|0)};goog.math.Long.fromBits=function(a,b){return new goog.math.Long(a,b)}; -goog.math.Long.fromString=function(a,b){if(0==a.length)throw Error("number format error: empty string");b=b||10;if(2>b||36f?(f=goog.math.Long.fromNumber(Math.pow(b, -f)),d=d.multiply(f).add(goog.math.Long.fromNumber(g))):(d=d.multiply(c),d=d.add(goog.math.Long.fromNumber(g)))}return d};goog.math.Long.isStringInRange=function(a,b){b=b||10;if(2>b||36a||36>>0).toString(a);b=e;if(b.isZero())return f+ -d;for(;6>f.length;)f="0"+f;d=""+f+d}};goog.math.Long.prototype.getHighBits=function(){return this.high_};goog.math.Long.prototype.getLowBits=function(){return this.low_};goog.math.Long.prototype.getLowBitsUnsigned=function(){return 0<=this.low_?this.low_:goog.math.Long.TWO_PWR_32_DBL_+this.low_}; -goog.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(goog.math.Long.getMinValue())?64:this.negate().getNumBitsAbs();for(var a=0!=this.high_?this.high_:this.low_,b=31;0this.high_};goog.math.Long.prototype.isOdd=function(){return 1==(this.low_&1)}; -goog.math.Long.prototype.equals=function(a){return this.high_==a.high_&&this.low_==a.low_};goog.math.Long.prototype.notEquals=function(a){return this.high_!=a.high_||this.low_!=a.low_};goog.math.Long.prototype.lessThan=function(a){return 0>this.compare(a)};goog.math.Long.prototype.lessThanOrEqual=function(a){return 0>=this.compare(a)};goog.math.Long.prototype.greaterThan=function(a){return 0>>16,c=this.high_&65535,d=this.low_>>>16,e=a.high_>>>16,f=a.high_&65535,g=a.low_>>>16;a=(this.low_&65535)+(a.low_&65535);g=(a>>>16)+(d+g);d=g>>>16;d+=c+f;b=(d>>>16)+(b+e)&65535;return goog.math.Long.fromBits((g&65535)<<16|a&65535,b<<16|d&65535)};goog.math.Long.prototype.subtract=function(a){return this.add(a.negate())}; -goog.math.Long.prototype.multiply=function(a){if(this.isZero()||a.isZero())return goog.math.Long.getZero();if(this.equals(goog.math.Long.getMinValue()))return a.isOdd()?goog.math.Long.getMinValue():goog.math.Long.getZero();if(a.equals(goog.math.Long.getMinValue()))return this.isOdd()?goog.math.Long.getMinValue():goog.math.Long.getZero();if(this.isNegative())return a.isNegative()?this.negate().multiply(a.negate()):this.negate().multiply(a).negate();if(a.isNegative())return this.multiply(a.negate()).negate(); -if(this.lessThan(goog.math.Long.getTwoPwr24())&&a.lessThan(goog.math.Long.getTwoPwr24()))return goog.math.Long.fromNumber(this.toNumber()*a.toNumber());var b=this.high_>>>16,c=this.high_&65535,d=this.low_>>>16,e=this.low_&65535,f=a.high_>>>16,g=a.high_&65535,h=a.low_>>>16;a=a.low_&65535;var k=e*a;var l=(k>>>16)+d*a;var m=l>>>16;l=(l&65535)+e*h;m+=l>>>16;m+=c*a;var n=m>>>16;m=(m&65535)+d*h;n+=m>>>16;m=(m&65535)+e*g;n=n+(m>>>16)+(b*a+c*h+d*g+e*f)&65535;return goog.math.Long.fromBits((l&65535)<<16|k& -65535,n<<16|m&65535)}; -goog.math.Long.prototype.div=function(a){if(a.isZero())throw Error("division by zero");if(this.isZero())return goog.math.Long.getZero();if(this.equals(goog.math.Long.getMinValue())){if(a.equals(goog.math.Long.getOne())||a.equals(goog.math.Long.getNegOne()))return goog.math.Long.getMinValue();if(a.equals(goog.math.Long.getMinValue()))return goog.math.Long.getOne();var b=this.shiftRight(1).div(a).shiftLeft(1);if(b.equals(goog.math.Long.getZero()))return a.isNegative()?goog.math.Long.getOne():goog.math.Long.getNegOne(); -var c=this.subtract(a.multiply(b));return b.add(c.div(a))}if(a.equals(goog.math.Long.getMinValue()))return goog.math.Long.getZero();if(this.isNegative())return a.isNegative()?this.negate().div(a.negate()):this.negate().div(a).negate();if(a.isNegative())return this.div(a.negate()).negate();var d=goog.math.Long.getZero();for(c=this;c.greaterThanOrEqual(a);){b=Math.max(1,Math.floor(c.toNumber()/a.toNumber()));var e=Math.ceil(Math.log(b)/Math.LN2);e=48>=e?1:Math.pow(2,e-48);for(var f=goog.math.Long.fromNumber(b), -g=f.multiply(a);g.isNegative()||g.greaterThan(c);)b-=e,f=goog.math.Long.fromNumber(b),g=f.multiply(a);f.isZero()&&(f=goog.math.Long.getOne());d=d.add(f);c=c.subtract(g)}return d};goog.math.Long.prototype.modulo=function(a){return this.subtract(this.div(a).multiply(a))};goog.math.Long.prototype.not=function(){return goog.math.Long.fromBits(~this.low_,~this.high_)};goog.math.Long.prototype.and=function(a){return goog.math.Long.fromBits(this.low_&a.low_,this.high_&a.high_)}; -goog.math.Long.prototype.or=function(a){return goog.math.Long.fromBits(this.low_|a.low_,this.high_|a.high_)};goog.math.Long.prototype.xor=function(a){return goog.math.Long.fromBits(this.low_^a.low_,this.high_^a.high_)};goog.math.Long.prototype.shiftLeft=function(a){a&=63;if(0==a)return this;var b=this.low_;return 32>a?goog.math.Long.fromBits(b<>>32-a):goog.math.Long.fromBits(0,b<a?goog.math.Long.fromBits(this.low_>>>a|b<<32-a,b>>a):goog.math.Long.fromBits(b>>a-32,0<=b?0:-1)};goog.math.Long.prototype.shiftRightUnsigned=function(a){a&=63;if(0==a)return this;var b=this.high_;return 32>a?goog.math.Long.fromBits(this.low_>>>a|b<<32-a,b>>>a):32==a?goog.math.Long.fromBits(b,0):goog.math.Long.fromBits(b>>>a-32,0)};goog.math.Long.ValueCacheId_={MAX_VALUE:1,MIN_VALUE:2,TWO_PWR_24:6};var cljs={core:{}};cljs.core._STAR_clojurescript_version_STAR_="1.10.520";cljs.core._STAR_unchecked_if_STAR_=!1;cljs.core._STAR_unchecked_arrays_STAR_=!1;cljs.core._STAR_warn_on_infer_STAR_=!1;if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.PROTOCOL_SENTINEL)cljs.core.PROTOCOL_SENTINEL={};cljs.core.MODULE_URIS=null;cljs.core.MODULE_INFOS=null;cljs.core._STAR_target_STAR_="default";cljs.core._STAR_ns_STAR_=null;cljs.core._STAR_out_STAR_=null; -cljs.core._STAR_assert_STAR_=!0;if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core._STAR_print_fn_STAR_)cljs.core._STAR_print_fn_STAR_=null;cljs.core._STAR_exec_tap_fn_STAR_=function(a){var b="undefined"!==typeof setTimeout;return b?(a=setTimeout(a,0),cljs.core.truth_(a)?!0:a):b};if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core._STAR_print_err_fn_STAR_)cljs.core._STAR_print_err_fn_STAR_=null; -cljs.core.set_print_fn_BANG_=function(a){return cljs.core._STAR_print_fn_STAR_=a};cljs.core.set_print_err_fn_BANG_=function(a){return cljs.core._STAR_print_err_fn_STAR_=a};cljs.core._STAR_flush_on_newline_STAR_=!0;cljs.core._STAR_print_newline_STAR_=!0;cljs.core._STAR_print_readably_STAR_=!0;cljs.core._STAR_print_meta_STAR_=!1;cljs.core._STAR_print_dup_STAR_=!1;cljs.core._STAR_print_namespace_maps_STAR_=!1;cljs.core._STAR_print_length_STAR_=null;cljs.core._STAR_print_level_STAR_=null; -cljs.core._STAR_print_fn_bodies_STAR_=!1;if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core._STAR_loaded_libs_STAR_)cljs.core._STAR_loaded_libs_STAR_=null; -cljs.core.pr_opts=function(){return new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$flush_DASH_on_DASH_newline,cljs.core._STAR_flush_on_newline_STAR_,cljs.core.cst$kw$readably,cljs.core._STAR_print_readably_STAR_,cljs.core.cst$kw$meta,cljs.core._STAR_print_meta_STAR_,cljs.core.cst$kw$dup,cljs.core._STAR_print_dup_STAR_,cljs.core.cst$kw$print_DASH_length,cljs.core._STAR_print_length_STAR_],null)}; -cljs.core.enable_console_print_BANG_=function(){cljs.core._STAR_print_newline_STAR_=!1;cljs.core.set_print_fn_BANG_(function(){return console.log.apply(console,goog.array.clone(arguments))});cljs.core.set_print_err_fn_BANG_(function(){return console.error.apply(console,goog.array.clone(arguments))});return null};cljs.core.truth_=function(a){return null!=a&&!1!==a};cljs.core.not_native=null;cljs.core.identical_QMARK_=function(a,b){return a===b};cljs.core.nil_QMARK_=function(a){return null==a}; -cljs.core.array_QMARK_=function(a){return"nodejs"===cljs.core._STAR_target_STAR_?Array.isArray(a):a instanceof Array};cljs.core.number_QMARK_=function(a){return"number"===typeof a};cljs.core.not=function(a){return null==a?!0:!1===a?!0:!1};cljs.core.some_QMARK_=function(a){return null!=a};cljs.core.object_QMARK_=function(a){return null!=a?a.constructor===Object:!1};cljs.core.string_QMARK_=function(a){return goog.isString(a)};cljs.core.char_QMARK_=function(a){return"string"===typeof a&&1===a.length}; -cljs.core.any_QMARK_=function(a){return!0};cljs.core.native_satisfies_QMARK_=function(a,b){return a[goog.typeOf(null==b?null:b)]?!0:a._?!0:!1};cljs.core.is_proto_=function(a){return a.constructor.prototype===a};cljs.core._STAR_main_cli_fn_STAR_=null;cljs.core._STAR_command_line_args_STAR_=null;cljs.core.type=function(a){return null==a?null:a.constructor}; -cljs.core.missing_protocol=function(a,b){var c=cljs.core.type(b);c=cljs.core.truth_(cljs.core.truth_(c)?c.cljs$lang$type:c)?c.cljs$lang$ctorStr:goog.typeOf(b);return Error(["No protocol method ",a," defined for type ",c,": ",b].join(""))};cljs.core.type__GT_str=function(a){var b=a.cljs$lang$ctorStr;return cljs.core.truth_(b)?b:cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)};cljs.core.load_file=function(a){return cljs.core.truth_(COMPILED)?null:goog.nodeGlobalRequire(a)}; -"undefined"!==typeof Symbol&&"function"===goog.typeOf(Symbol)?cljs.core.ITER_SYMBOL=Symbol.iterator:cljs.core.ITER_SYMBOL="@@iterator";cljs.core.CHAR_MAP={"]":"_RBRACK_","'":"_SINGLEQUOTE_","\x3d":"_EQ_",'"':"_DOUBLEQUOTE_","!":"_BANG_","*":"_STAR_","%":"_PERCENT_","|":"_BAR_","~":"_TILDE_","/":"_SLASH_","\\":"_BSLASH_","-":"_","?":"_QMARK_","\x26":"_AMPERSAND_",":":"_COLON_","\x3c":"_LT_","{":"_LBRACE_","}":"_RBRACE_","[":"_LBRACK_","#":"_SHARP_","^":"_CARET_","+":"_PLUS_","@":"_CIRCA_","\x3e":"_GT_"}; -cljs.core.DEMUNGE_MAP={_RBRACE_:"}",_COLON_:":",_BANG_:"!",_QMARK_:"?",_BSLASH_:"\\\\",_SLASH_:"/",_PERCENT_:"%",_PLUS_:"+",_SHARP_:"#",_LBRACE_:"{",_BAR_:"|",_LBRACK_:"[",_EQ_:"\x3d",_:"-",_TILDE_:"~",_RBRACK_:"]",_GT_:"\x3e",_SINGLEQUOTE_:"'",_CIRCA_:"@",_AMPERSAND_:"\x26",_DOUBLEQUOTE_:'\\"',_CARET_:"^",_LT_:"\x3c",_STAR_:"*"};cljs.core.DEMUNGE_PATTERN=null; -cljs.core.system_time=function(){if("undefined"!==typeof performance&&null!=performance.now)return performance.now();if("undefined"!==typeof process&&null!=process.hrtime){var a=process.hrtime();return(1E9*a[0]+a[1])/1E6}return(new Date).getTime()}; -cljs.core.make_array=function(a){switch(arguments.length){case 1:return cljs.core.make_array.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.make_array.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(db)throw Error("Assert failed: (not (neg? idx))");if(!(bb)throw Error("Assert failed: (not (neg? idx))");if(!(bb)throw Error("Assert failed: (not (neg? idx))");if(!(bb)throw Error("Assert failed: (not (neg? idx))");if(!(b>>-b}; -"undefined"!==typeof Math&&"undefined"!==typeof Math.imul&&0!==Math.imul(4294967295,5)?cljs.core.imul=function(a,b){return Math.imul(a,b)}:cljs.core.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16&65535)*d+c*(b>>>16&65535)<<16>>>0)|0};cljs.core.m3_seed=0;cljs.core.m3_C1=-862048943;cljs.core.m3_C2=461845907;cljs.core.m3_mix_K1=function(a){return cljs.core.imul(cljs.core.int_rotate_left(cljs.core.imul(a|0,cljs.core.m3_C1),15),cljs.core.m3_C2)}; -cljs.core.m3_mix_H1=function(a,b){return cljs.core.imul(cljs.core.int_rotate_left((a|0)^(b|0),13),5)+-430675100|0};cljs.core.m3_fmix=function(a,b){a=(a|0)^b;a=cljs.core.imul(a^a>>>16,-2048144789);a=cljs.core.imul(a^a>>>13,-1028477387);return a^a>>>16};cljs.core.m3_hash_int=function(a){if(0===a)return a;a=cljs.core.m3_mix_K1(a);a=cljs.core.m3_mix_H1(cljs.core.m3_seed,a);return cljs.core.m3_fmix(a,4)}; -cljs.core.m3_hash_unencoded_chars=function(a){a:{var b=1;for(var c=cljs.core.m3_seed;;)if(b>2)};cljs.core.instance_QMARK_=function(a,b){return b instanceof a};cljs.core.symbol_QMARK_=function(a){return a instanceof cljs.core.Symbol};cljs.core.hash_symbol=function(a){return cljs.core.hash_combine(cljs.core.m3_hash_unencoded_chars(a.name),cljs.core.hash_string(a.ns))}; -cljs.core.compare_symbols=function(a,b){if(a.str===b.str)return 0;if(cljs.core.truth_(function(){var c=cljs.core.not(a.ns);return c?b.ns:c}()))return-1;if(cljs.core.truth_(a.ns)){if(cljs.core.not(b.ns))return 1;var c=goog.array.defaultCompare(a.ns,b.ns);return 0===c?goog.array.defaultCompare(a.name,b.name):c}return goog.array.defaultCompare(a.name,b.name)}; -cljs.core.Symbol=function(a,b,c,d,e){this.ns=a;this.name=b;this.str=c;this._hash=d;this._meta=e;this.cljs$lang$protocol_mask$partition0$=2154168321;this.cljs$lang$protocol_mask$partition1$=4096};cljs.core.Symbol.prototype.toString=function(){return this.str};cljs.core.Symbol.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};cljs.core.Symbol.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.Symbol?this.str===b.str:!1}; -cljs.core.Symbol.prototype.call=function(){var a=null,b=function(a,b){return cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,this)},c=function(a,b,c){return cljs.core.get.cljs$core$IFn$_invoke$arity$3(b,this,c)};a=function(a,e,f){switch(arguments.length){case 2:return b.call(this,a,e);case 3:return c.call(this,a,e,f)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=b;a.cljs$core$IFn$_invoke$arity$3=c;return a}(); -cljs.core.Symbol.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,this)};cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,this,b)};cljs.core.Symbol.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this._meta}; -cljs.core.Symbol.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.Symbol(this.ns,this.name,this.str,this._hash,b)};cljs.core.Symbol.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this._hash;return null!=a?a:this._hash=a=cljs.core.hash_symbol(this)};cljs.core.Symbol.prototype.cljs$core$INamed$_name$arity$1=function(a){return this.name};cljs.core.Symbol.prototype.cljs$core$INamed$_namespace$arity$1=function(a){return this.ns}; -cljs.core.Symbol.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core._write(b,this.str)};cljs.core.Symbol.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$ns,cljs.core.cst$sym$name,cljs.core.cst$sym$str,cljs.core.with_meta(cljs.core.cst$sym$_hash,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null)),cljs.core.cst$sym$_meta],null)};cljs.core.Symbol.cljs$lang$type=!0; -cljs.core.Symbol.cljs$lang$ctorStr="cljs.core/Symbol";cljs.core.Symbol.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Symbol")};cljs.core.__GT_Symbol=function(a,b,c,d,e){return new cljs.core.Symbol(a,b,c,d,e)};cljs.core.var_QMARK_=function(a){return a instanceof cljs.core.Var}; -cljs.core.symbol=function(a){switch(arguments.length){case 1:return cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.core.symbol.cljs$core$IFn$_invoke$arity$1=function(a){for(;;){if(a instanceof cljs.core.Symbol)return a;if("string"===typeof a){var b=a.indexOf("/");return 1>b?cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,a):cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(a.substring(0,b),a.substring(b+1,a.length))}if(cljs.core.var_QMARK_(a))return a.sym;if(a instanceof cljs.core.Keyword)a=a.fqn;else throw Error("no conversion to symbol");}}; -cljs.core.symbol.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=a?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""):b;return new cljs.core.Symbol(a,b,c,null,null)};cljs.core.symbol.cljs$lang$maxFixedArity=2;cljs.core.Var=function(a,b,c){this.val=a;this.sym=b;this._meta=c;this.cljs$lang$protocol_mask$partition0$=6717441;this.cljs$lang$protocol_mask$partition1$=0}; -cljs.core.Var.prototype.isMacro=function(){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).cljs$lang$macro};cljs.core.Var.prototype.toString=function(){return["#'",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.sym)].join("")};cljs.core.Var.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)}; -cljs.core.Var.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this._meta};cljs.core.Var.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.Var(this.val,this.sym,b)};cljs.core.Var.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.Var?cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.sym,b.sym):!1};cljs.core.Var.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash_symbol(this.sym)}; -cljs.core.Var.prototype.cljs$core$Fn$=cljs.core.PROTOCOL_SENTINEL; -cljs.core.Var.prototype.call=function(){var a=null,b=function(a){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)},c=function(a,b){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)},d=function(a,b,c){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0? -a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c)},e=function(a,b,c,d){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(b,c,d):a.call(null,b,c,d)},f=function(a,b,c,d,e){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$4? -a.cljs$core$IFn$_invoke$arity$4(b,c,d,e):a.call(null,b,c,d,e)},g=function(a,b,c,d,e,f){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$5?a.cljs$core$IFn$_invoke$arity$5(b,c,d,e,f):a.call(null,b,c,d,e,f)},h=function(a,b,c,d,e,f,g){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$6?a.cljs$core$IFn$_invoke$arity$6(b,c,d,e,f,g): -a.call(null,b,c,d,e,f,g)},k=function(a,b,c,d,e,f,g,h){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$7?a.cljs$core$IFn$_invoke$arity$7(b,c,d,e,f,g,h):a.call(null,b,c,d,e,f,g,h)},l=function(a,b,c,d,e,f,g,h,k){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$8?a.cljs$core$IFn$_invoke$arity$8(b,c,d,e,f,g,h,k):a.call(null,b,c, -d,e,f,g,h,k)},m=function(a,b,c,d,e,f,g,h,k,l){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$9?a.cljs$core$IFn$_invoke$arity$9(b,c,d,e,f,g,h,k,l):a.call(null,b,c,d,e,f,g,h,k,l)},n=function(a,b,c,d,e,f,g,h,k,l,m){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$10?a.cljs$core$IFn$_invoke$arity$10(b,c,d,e,f,g,h,k,l,m):a.call(null, -b,c,d,e,f,g,h,k,l,m)},p=function(a,b,c,d,e,f,g,h,k,l,m,n){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$11?a.cljs$core$IFn$_invoke$arity$11(b,c,d,e,f,g,h,k,l,m,n):a.call(null,b,c,d,e,f,g,h,k,l,m,n)},q=function(a,b,c,d,e,f,g,h,k,l,m,n,p){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$12?a.cljs$core$IFn$_invoke$arity$12(b, -c,d,e,f,g,h,k,l,m,n,p):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p)},r=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$13?a.cljs$core$IFn$_invoke$arity$13(b,c,d,e,f,g,h,k,l,m,n,p,q):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q)},u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$14? -a.cljs$core$IFn$_invoke$arity$14(b,c,d,e,f,g,h,k,l,m,n,p,q,r):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r)},t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$15?a.cljs$core$IFn$_invoke$arity$15(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)},v=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0(): -a.val.call(null);return a.cljs$core$IFn$_invoke$arity$16?a.cljs$core$IFn$_invoke$arity$16(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t)},w=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$17?a.cljs$core$IFn$_invoke$arity$17(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v)},x=function(a,b,c,d,e,f,g,h,k, -l,m,n,p,q,r,u,t,v,w){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$18?a.cljs$core$IFn$_invoke$arity$18(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)},y=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$19?a.cljs$core$IFn$_invoke$arity$19(b, -c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z)},z=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$20?a.cljs$core$IFn$_invoke$arity$20(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x)},B=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y){a=this;return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(a.val.cljs$core$IFn$_invoke$arity$0? -a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null),b,c,d,e,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y],0))};a=function(a,A,C,E,H,G,J,K,I,L,M,F,O,P,N,R,T,Q,S,V,U,X){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,A);case 3:return d.call(this,a,A,C);case 4:return e.call(this,a,A,C,E);case 5:return f.call(this,a,A,C,E,H);case 6:return g.call(this,a,A,C,E,H,G);case 7:return h.call(this,a,A,C,E,H,G,J);case 8:return k.call(this, -a,A,C,E,H,G,J,K);case 9:return l.call(this,a,A,C,E,H,G,J,K,I);case 10:return m.call(this,a,A,C,E,H,G,J,K,I,L);case 11:return n.call(this,a,A,C,E,H,G,J,K,I,L,M);case 12:return p.call(this,a,A,C,E,H,G,J,K,I,L,M,F);case 13:return q.call(this,a,A,C,E,H,G,J,K,I,L,M,F,O);case 14:return r.call(this,a,A,C,E,H,G,J,K,I,L,M,F,O,P);case 15:return u.call(this,a,A,C,E,H,G,J,K,I,L,M,F,O,P,N);case 16:return t.call(this,a,A,C,E,H,G,J,K,I,L,M,F,O,P,N,R);case 17:return v.call(this,a,A,C,E,H,G,J,K,I,L,M,F,O,P,N,R,T); -case 18:return w.call(this,a,A,C,E,H,G,J,K,I,L,M,F,O,P,N,R,T,Q);case 19:return x.call(this,a,A,C,E,H,G,J,K,I,L,M,F,O,P,N,R,T,Q,S);case 20:return y.call(this,a,A,C,E,H,G,J,K,I,L,M,F,O,P,N,R,T,Q,S,V);case 21:return z.call(this,a,A,C,E,H,G,J,K,I,L,M,F,O,P,N,R,T,Q,S,V,U);case 22:return B.call(this,a,A,C,E,H,G,J,K,I,L,M,F,O,P,N,R,T,Q,S,V,U,X)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;a.cljs$core$IFn$_invoke$arity$3=d;a.cljs$core$IFn$_invoke$arity$4= -e;a.cljs$core$IFn$_invoke$arity$5=f;a.cljs$core$IFn$_invoke$arity$6=g;a.cljs$core$IFn$_invoke$arity$7=h;a.cljs$core$IFn$_invoke$arity$8=k;a.cljs$core$IFn$_invoke$arity$9=l;a.cljs$core$IFn$_invoke$arity$10=m;a.cljs$core$IFn$_invoke$arity$11=n;a.cljs$core$IFn$_invoke$arity$12=p;a.cljs$core$IFn$_invoke$arity$13=q;a.cljs$core$IFn$_invoke$arity$14=r;a.cljs$core$IFn$_invoke$arity$15=u;a.cljs$core$IFn$_invoke$arity$16=t;a.cljs$core$IFn$_invoke$arity$17=v;a.cljs$core$IFn$_invoke$arity$18=w;a.cljs$core$IFn$_invoke$arity$19= -x;a.cljs$core$IFn$_invoke$arity$20=y;a.cljs$core$IFn$_invoke$arity$21=z;a.cljs$core$IFn$_invoke$arity$22=B;return a}();cljs.core.Var.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$0=function(){var a=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$1=function(a){var b=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){var e=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return e.cljs$core$IFn$_invoke$arity$4?e.cljs$core$IFn$_invoke$arity$4(a,b,c,d):e.call(null,a,b,c,d)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){var f=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return f.cljs$core$IFn$_invoke$arity$5?f.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e):f.call(null,a,b,c,d,e)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){var g=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return g.cljs$core$IFn$_invoke$arity$6?g.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f):g.call(null,a,b,c,d,e,f)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$7=function(a,b,c,d,e,f,g){var h=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return h.cljs$core$IFn$_invoke$arity$7?h.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g):h.call(null,a,b,c,d,e,f,g)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$8=function(a,b,c,d,e,f,g,h){var k=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return k.cljs$core$IFn$_invoke$arity$8?k.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h):k.call(null,a,b,c,d,e,f,g,h)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$9=function(a,b,c,d,e,f,g,h,k){var l=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return l.cljs$core$IFn$_invoke$arity$9?l.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,k):l.call(null,a,b,c,d,e,f,g,h,k)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$10=function(a,b,c,d,e,f,g,h,k,l){var m=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return m.cljs$core$IFn$_invoke$arity$10?m.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,k,l):m.call(null,a,b,c,d,e,f,g,h,k,l)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$11=function(a,b,c,d,e,f,g,h,k,l,m){var n=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return n.cljs$core$IFn$_invoke$arity$11?n.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,k,l,m):n.call(null,a,b,c,d,e,f,g,h,k,l,m)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$12=function(a,b,c,d,e,f,g,h,k,l,m,n){var p=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return p.cljs$core$IFn$_invoke$arity$12?p.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,k,l,m,n):p.call(null,a,b,c,d,e,f,g,h,k,l,m,n)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$13=function(a,b,c,d,e,f,g,h,k,l,m,n,p){var q=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return q.cljs$core$IFn$_invoke$arity$13?q.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,k,l,m,n,p):q.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$14=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){var r=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return r.cljs$core$IFn$_invoke$arity$14?r.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,k,l,m,n,p,q):r.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$15=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){var u=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return u.cljs$core$IFn$_invoke$arity$15?u.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r):u.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$16=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){var t=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return t.cljs$core$IFn$_invoke$arity$16?t.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u):t.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$17=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){var v=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return v.cljs$core$IFn$_invoke$arity$17?v.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):v.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$18=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){var w=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return w.cljs$core$IFn$_invoke$arity$18?w.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):w.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$19=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){var x=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return x.cljs$core$IFn$_invoke$arity$19?x.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):x.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$20=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){var y=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return y.cljs$core$IFn$_invoke$arity$20?y.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x):y.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x)}; -cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$21=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y){return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null),a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y],0))}; -cljs.core.Var.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$val,cljs.core.cst$sym$sym,cljs.core.cst$sym$_meta],null)};cljs.core.Var.cljs$lang$type=!0;cljs.core.Var.cljs$lang$ctorStr="cljs.core/Var";cljs.core.Var.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Var")};cljs.core.__GT_Var=function(a,b,c){return new cljs.core.Var(a,b,c)}; -cljs.core.iterable_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition1$&131072||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IIterable$?!0:a.cljs$lang$protocol_mask$partition1$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,a):cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,a)};cljs.core.clone=function(a){return cljs.core._clone(a)}; -cljs.core.cloneable_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition1$&8192||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ICloneable$?!0:a.cljs$lang$protocol_mask$partition1$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,a):cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,a)}; -cljs.core.seq=function(a){if(null==a)return null;if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&8388608||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeqable$))return cljs.core._seq(a);if(cljs.core.array_QMARK_(a)||"string"===typeof a)return 0===a.length?null:new cljs.core.IndexedSeq(a,0,null);if(cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,a))return cljs.core._seq(a);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)," is not ISeqable"].join(""));}; -cljs.core.first=function(a){if(null==a)return null;if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$))return cljs.core._first(a);a=cljs.core.seq(a);return null==a?null:cljs.core._first(a)};cljs.core.rest=function(a){return null!=a?null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core._rest(a):(a=cljs.core.seq(a))?a.cljs$core$ISeq$_rest$arity$1(null):cljs.core.List.EMPTY:cljs.core.List.EMPTY}; -cljs.core.next=function(a){return null==a?null:null!=a&&(a.cljs$lang$protocol_mask$partition0$&128||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$INext$)?cljs.core._next(a):cljs.core.seq(cljs.core.rest(a))}; -cljs.core._EQ_=function(a){switch(arguments.length){case 1:return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d=d)return-1;!(0c&&(c+=d,c=0>c?0:c);for(;;)if(cc?d+c:c;for(;;)if(0<=c){if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(a,c),b))return c;--c}else return-1};cljs.core._lastIndexOf.cljs$lang$maxFixedArity=3; -cljs.core.IndexedSeqIterator=function(a,b){this.arr=a;this.i=b};cljs.core.IndexedSeqIterator.prototype.hasNext=function(){return this.ia?0:a};cljs.core.IndexedSeq.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){a=this.cljs$core$ICounted$_count$arity$1(null);return 0b)throw Error("Index out of bounds");return cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2(a,b)}if(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,a))return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(a,b);throw Error(["nth not supported on this type ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(a)))].join("")); -}; -cljs.core.nth.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if("number"!==typeof b)throw Error("Index argument to nth must be a number.");if(null==a)return c;if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&16||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IIndexed$))return cljs.core._nth.cljs$core$IFn$_invoke$arity$3(a,b,c);if(cljs.core.array_QMARK_(a))return-1b?c:cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3(a,b,c);if(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,a))return cljs.core._nth.cljs$core$IFn$_invoke$arity$3(a,b,c);throw Error(["nth not supported on this type ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(a)))].join("")); -};cljs.core.nth.cljs$lang$maxFixedArity=3;cljs.core.nthrest=function(a,b){for(var c=a;;)if(a=0a:a instanceof goog.math.Integer?a.isNegative():a instanceof goog.math.Long?a.isNegative():!1};cljs.core.nat_int_QMARK_=function(a){return cljs.core.integer_QMARK_(a)?!(0>a):a instanceof goog.math.Integer?cljs.core.not(a.isNegative()):a instanceof goog.math.Long?cljs.core.not(a.isNegative()):!1};cljs.core.float_QMARK_=function(a){return"number"===typeof a};cljs.core.double_QMARK_=function(a){return"number"===typeof a}; -cljs.core.infinite_QMARK_=function(a){return a===Number.POSITIVE_INFINITY||a===Number.NEGATIVE_INFINITY};cljs.core.contains_QMARK_=function(a,b){return cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.lookup_sentinel)===cljs.core.lookup_sentinel?!1:!0};cljs.core.find=function(a,b){return cljs.core.ifind_QMARK_(a)?cljs.core._find(a,b):null!=a&&cljs.core.associative_QMARK_(a)&&cljs.core.contains_QMARK_(a,b)?new cljs.core.MapEntry(b,cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b),null):null}; -cljs.core.distinct_QMARK_=function(a){switch(arguments.length){case 1:return cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(dd?1:0===c?0:cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4(a,b,c,0)};cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){for(;;){var e=cljs.core.compare(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(a,d),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(b,d));if(0===e&&d+1b};cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a>b)if(cljs.core.next(c))a=b,b=cljs.core.first(c),c=cljs.core.next(c);else return b>cljs.core.first(c);else return!1};cljs.core._GT_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._GT_.cljs$lang$maxFixedArity=2; -cljs.core._GT__EQ_=function(a){switch(arguments.length){case 1:return cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d=b};cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a>=b)if(cljs.core.next(c))a=b,b=cljs.core.first(c),c=cljs.core.next(c);else return b>=cljs.core.first(c);else return!1}; -cljs.core._GT__EQ_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._GT__EQ_.cljs$lang$maxFixedArity=2;cljs.core.dec=function(a){return a-1}; -cljs.core.max=function(a){switch(arguments.length){case 1:return cljs.core.max.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.max.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(db?a:b};cljs.core.max.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.max,a>b?a:b,c)};cljs.core.max.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.max.cljs$lang$maxFixedArity=2; -cljs.core.min=function(a){switch(arguments.length){case 1:return cljs.core.min.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.min.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d>b};cljs.core.bit_shift_right_zero_fill=function(a,b){return a>>>b};cljs.core.unsigned_bit_shift_right=function(a,b){return a>>>b};cljs.core.bit_count=function(a){a-=a>>1&1431655765;a=(a&858993459)+(a>>2&858993459);return 16843009*(a+(a>>4)&252645135)>>24}; -cljs.core._EQ__EQ_=function(a){switch(arguments.length){case 1:return cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(da};cljs.core.nthnext=function(a,b){for(a=cljs.core.seq(a);;)if(a&&0c:b}()))b[c]=a.next(),c+=1;else return cljs.core.chunk_cons(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(b,0,c),cljs.core.chunkIteratorSeq.cljs$core$IFn$_invoke$arity$1?cljs.core.chunkIteratorSeq.cljs$core$IFn$_invoke$arity$1(a):cljs.core.chunkIteratorSeq.call(null,a));else return null},null,null)}; -cljs.core.TransformerIterator=function(a,b,c,d,e,f){this.buffer=a;this._next=b;this.completed=c;this.xf=d;this.sourceIter=e;this.multi=f}; -cljs.core.TransformerIterator.prototype.step=function(){if(this._next!==cljs.core.NONE)return!0;for(;;)if(this._next===cljs.core.NONE)if(this.buffer.isEmpty()){if(this.completed)return!1;if(this.sourceIter.hasNext()){if(this.multi)var a=cljs.core.apply.cljs$core$IFn$_invoke$arity$2(this.xf,cljs.core.cons(null,this.sourceIter.next()));else a=this.sourceIter.next(),a=this.xf.cljs$core$IFn$_invoke$arity$2?this.xf.cljs$core$IFn$_invoke$arity$2(null,a):this.xf.call(null,null,a);cljs.core.reduced_QMARK_(a)&& -(this.xf.cljs$core$IFn$_invoke$arity$1?this.xf.cljs$core$IFn$_invoke$arity$1(null):this.xf.call(null,null),this.completed=!0)}else this.xf.cljs$core$IFn$_invoke$arity$1?this.xf.cljs$core$IFn$_invoke$arity$1(null):this.xf.call(null,null),this.completed=!0}else this._next=this.buffer.remove();else return!0};cljs.core.TransformerIterator.prototype.hasNext=function(){return this.step()}; -cljs.core.TransformerIterator.prototype.next=function(){if(this.hasNext()){var a=this._next;this._next=cljs.core.NONE;return a}throw Error("No such element");};cljs.core.TransformerIterator.prototype.remove=function(){return Error("Unsupported operation")}; -cljs.core.TransformerIterator.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(cljs.core.cst$sym$buffer,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null)),cljs.core.with_meta(cljs.core.cst$sym$_next,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null)),cljs.core.with_meta(cljs.core.cst$sym$completed,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null)), -cljs.core.with_meta(cljs.core.cst$sym$xf,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null)),cljs.core.cst$sym$sourceIter,cljs.core.cst$sym$multi],null)};cljs.core.TransformerIterator.cljs$lang$type=!0;cljs.core.TransformerIterator.cljs$lang$ctorStr="cljs.core/TransformerIterator";cljs.core.TransformerIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/TransformerIterator")}; -cljs.core.__GT_TransformerIterator=function(a,b,c,d,e,f){return new cljs.core.TransformerIterator(a,b,c,d,e,f)};var G__10439_10442=cljs.core.TransformerIterator.prototype,G__10440_10443=cljs.core.ITER_SYMBOL,G__10441_10444=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__10439_10442,G__10440_10443);goog.object.set(G__10439_10442,G__10440_10443,G__10441_10444); -cljs.core.transformer_iterator=function(a,b,c){var d=new cljs.core.TransformerIterator(cljs.core.EMPTY,cljs.core.NONE,!1,null,b,c);d.xf=function(){var b=function(a){return function(){var b=null,c=function(b,c){a.buffer=a.buffer.add(c);return b};b=function(a,b){switch(arguments.length){case 0:return null;case 1:return a;case 2:return c.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=function(){return null};b.cljs$core$IFn$_invoke$arity$1=function(a){return a}; -b.cljs$core$IFn$_invoke$arity$2=c;return b}()}(d);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}();return d};cljs.core.TransformerIterator.create=function(a,b){return cljs.core.transformer_iterator(a,b,!1)};cljs.core.TransformerIterator.createMulti=function(a,b){return cljs.core.transformer_iterator(a,new cljs.core.MultiIterator(cljs.core.to_array(b)),!0)}; -cljs.core.sequence=function(a){switch(arguments.length){case 1:return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(da?0:a-1>>>5<<5}; -cljs.core.new_path=function(a,b,c){for(;;){if(0===b)return c;var d=cljs.core.pv_fresh_node(a);cljs.core.pv_aset(d,0,c);c=d;b-=5}};cljs.core.push_tail=function(a,b,c,d){var e=cljs.core.pv_clone_node(c),f=a.cnt-1>>>b&31;5===b?cljs.core.pv_aset(e,f,d):(c=cljs.core.pv_aget(c,f),null!=c?(b-=5,a=cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4?cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4(a,b,c,d):cljs.core.push_tail.call(null,a,b,c,d)):a=cljs.core.new_path(null,b-5,d),cljs.core.pv_aset(e,f,a));return e}; -cljs.core.vector_index_out_of_bounds=function(a,b){throw Error(["No item ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)," in vector of length ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};cljs.core.first_array_for_longvec=function(a){var b=a.root;for(a=a.shift;;)if(0=cljs.core.tail_off(a))return a.tail;var c=a.root;for(a=a.shift;;)if(0>>a&31),a-=5;else return c.arr}; -cljs.core.array_for=function(a,b){return 0<=b&&b>>b&31;cljs.core.pv_aset(f,g,function(){var f=b-5,k=cljs.core.pv_aget(c,g);return cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5?cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5(a,f,k,d,e):cljs.core.do_assoc.call(null,a,f,k,d,e)}())}return f}; -cljs.core.pop_tail=function(a,b,c){var d=a.cnt-2>>>b&31;if(5=this.cnt?new cljs.core.IndexedSeq(this.tail,0,null):cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(this,cljs.core.first_array_for_longvec(this),0,0)};cljs.core.PersistentVector.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.PersistentVector(b,this.cnt,this.shift,this.root,this.tail,this.__hash)}; -cljs.core.PersistentVector.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){if(32>this.cnt-cljs.core.tail_off(this)){a=this.tail.length;for(var c=Array(a+1),d=0;;)if(d>>5>1<c)return new cljs.core.PersistentVector(null,c,5,cljs.core.PersistentVector.EMPTY_NODE,a,null);var d=a.slice(0,32);b=32;for(var e=(new cljs.core.PersistentVector(null,32,5,cljs.core.PersistentVector.EMPTY_NODE,d,null)).cljs$core$IEditableCollection$_as_transient$arity$1(null);;)if(bb)return null;a=this.start+b;return ab||this.end<=this.start+b?cljs.core.vector_index_out_of_bounds(b,this.end-this.start):cljs.core._nth.cljs$core$IFn$_invoke$arity$2(this.v,this.start+b)};cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0>b||this.end<=this.start+b?c:cljs.core._nth.cljs$core$IFn$_invoke$arity$3(this.v,this.start+b,c)}; -cljs.core.Subvec.prototype.cljs$core$IVector$_assoc_n$arity$3=function(a,b,c){var d=this,e=d.start+b;if(0>b||d.end+1<=e)throw Error(["Index ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)," out of bounds [0,",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.cljs$core$ICounted$_count$arity$1(null)),"]"].join(""));return cljs.core.build_subvec(d.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(d.v,e,c),d.start,function(){var a=d.end,b=e+1;return a>b?a:b}(),null)}; -cljs.core.Subvec.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return null!=this.v&&cljs.core.PROTOCOL_SENTINEL===this.v.cljs$core$APersistentVector$?cljs.core.ranged_iterator(this.v,this.start,this.end):cljs.core.seq_iter(this)};cljs.core.Subvec.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.Subvec.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.Subvec(this.meta,this.v,this.start,this.end,this.__hash)}; -cljs.core.Subvec.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.end-this.start};cljs.core.Subvec.prototype.cljs$core$IStack$_peek$arity$1=function(a){return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(this.v,this.end-1)};cljs.core.Subvec.prototype.cljs$core$IStack$_pop$arity$1=function(a){if(this.start===this.end)throw Error("Can't pop empty vector");return cljs.core.build_subvec(this.meta,this.v,this.start,this.end-1,null)}; -cljs.core.Subvec.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){return this.start!==this.end?new cljs.core.RSeq(this,this.end-this.start-1,null):null};cljs.core.Subvec.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.Subvec.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)}; -cljs.core.Subvec.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,this.meta)};cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return null!=this.v&&cljs.core.PROTOCOL_SENTINEL===this.v.cljs$core$APersistentVector$?cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(this.v,b,this.start,this.end):cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(this,b)}; -cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return null!=this.v&&cljs.core.PROTOCOL_SENTINEL===this.v.cljs$core$APersistentVector$?cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(this.v,b,c,this.start,this.end):cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(this,b,c)}; -cljs.core.Subvec.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){if("number"===typeof b)return this.cljs$core$IVector$_assoc_n$arity$3(null,b,c);throw Error("Subvec's key for assoc must be a number.");}; -cljs.core.Subvec.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){var b=this;return function(a){return function f(c){return c===b.end?null:cljs.core.cons(cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b.v,c),new cljs.core.LazySeq(null,function(a){return function(){return f(c+1)}}(a),null,null))}}(this)(b.start)};cljs.core.Subvec.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:cljs.core.build_subvec(b,this.v,this.start,this.end,this.__hash)}; -cljs.core.Subvec.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.build_subvec(this.meta,cljs.core._assoc_n(this.v,this.end,b),this.start,this.end+1,null)}; -cljs.core.Subvec.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$IIndexed$_nth$arity$2(null,c);case 3:return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$IIndexed$_nth$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)};return a}(); -cljs.core.Subvec.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$IIndexed$_nth$arity$2(null,a)};cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,a,b)}; -cljs.core.Subvec.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$meta,cljs.core.cst$sym$v,cljs.core.cst$sym$start,cljs.core.cst$sym$end,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null))],null)};cljs.core.Subvec.cljs$lang$type=!0;cljs.core.Subvec.cljs$lang$ctorStr="cljs.core/Subvec"; -cljs.core.Subvec.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Subvec")};cljs.core.__GT_Subvec=function(a,b,c,d,e){return new cljs.core.Subvec(a,b,c,d,e)};var G__11074_11077=cljs.core.Subvec.prototype,G__11075_11078=cljs.core.ITER_SYMBOL,G__11076_11079=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__11074_11077,G__11075_11078);goog.object.set(G__11074_11077,G__11075_11078,G__11076_11079); -cljs.core.build_subvec=function(a,b,c,d,e){for(;;)if(b instanceof cljs.core.Subvec)c=b.start+c,d=b.start+d,b=b.v;else{if(!cljs.core.vector_QMARK_(b))throw Error("v must satisfy IVector");var f=cljs.core.count(b);if(0>c||0>d||c>f||d>f)throw Error("Index out of bounds");return new cljs.core.Subvec(a,b,c,d,e)}}; -cljs.core.subvec=function(a){switch(arguments.length){case 2:return cljs.core.subvec.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.subvec.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.count(a))}; -cljs.core.subvec.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(null==b||null==c)throw Error("Assert failed: (and (not (nil? start)) (not (nil? end)))");return cljs.core.build_subvec(null,a,b|0,c|0,null)};cljs.core.subvec.cljs$lang$maxFixedArity=3;cljs.core.tv_ensure_editable=function(a,b){return a===b.edit?b:new cljs.core.VectorNode(a,cljs.core.aclone(b.arr))};cljs.core.tv_editable_root=function(a){return new cljs.core.VectorNode({},cljs.core.aclone(a.arr))}; -cljs.core.tv_editable_tail=function(a){var b=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];cljs.core.array_copy(a,0,b,0,a.length);return b}; -cljs.core.tv_push_tail=function(a,b,c,d){var e=cljs.core.tv_ensure_editable(a.root.edit,c),f=a.cnt-1>>>b&31;cljs.core.pv_aset(e,f,5===b?d:function(){var c=cljs.core.pv_aget(e,f);if(null!=c){var h=b-5;return cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4?cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4(a,h,c,d):cljs.core.tv_push_tail.call(null,a,h,c,d)}return cljs.core.new_path(a.root.edit,b-5,d)}());return e}; -cljs.core.tv_pop_tail=function(a,b,c){c=cljs.core.tv_ensure_editable(a.root.edit,c);var d=a.cnt-2>>>b&31;if(5=cljs.core.tail_off(a))return a.tail;var c=a.root,d=c;for(a=a.shift;;)if(0>>a&31)),a-=5;else return d.arr};cljs.core.TransientVector=function(a,b,c,d){this.cnt=a;this.shift=b;this.root=c;this.tail=d;this.cljs$lang$protocol_mask$partition1$=88;this.cljs$lang$protocol_mask$partition0$=275}; -cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2=function(a,b){if(this.root.edit){if(32>this.cnt-cljs.core.tail_off(this))this.tail[this.cnt&31]=b;else{a=new cljs.core.VectorNode(this.root.edit,this.tail);var c=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];c[0]=b;this.tail=c;this.cnt>>>5>1<>>a&31;cljs.core.pv_aset(e,f,l(a-5,cljs.core.pv_aget(e,f)))}return e}}(e)(d.shift,d.root)}(),d.root=a),e;if(b===d.cnt)return e.cljs$core$ITransientCollection$_conj_BANG_$arity$2(null, -c);throw Error(["Index ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)," out of bounds for TransientVector of length",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d.cnt)].join(""));}throw Error("assoc! after persistent!");}; -cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_pop_BANG_$arity$1=function(a){if(this.root.edit){if(0===this.cnt)throw Error("Can't pop empty vector");if(1===this.cnt)this.cnt=0;else if(0<(this.cnt-1&31))--this.cnt;else{a=cljs.core.unchecked_editable_array_for(this,this.cnt-2);var b=cljs.core.tv_pop_tail(this,this.shift,this.root);b=null!=b?b:new cljs.core.VectorNode(this.root.edit,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null, -null,null,null,null,null,null,null,null,null,null,null,null]);5b?1:0}; -cljs.core.obj_map__GT_hash_map=function(a,b,c){var d=a.keys,e=d.length,f=a.strobj;a=cljs.core.meta(a);for(var g=0,h=cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);;)if(gcljs.core.ObjMap.HASHMAP_THRESHOLD||this.keys.length>=cljs.core.ObjMap.HASHMAP_THRESHOLD)return cljs.core.obj_map__GT_hash_map(this,b,c);if(null!=cljs.core.scan_array(1,b,this.keys))return a=cljs.core.obj_clone(this.strobj,this.keys),goog.object.set(a,b,c),new cljs.core.ObjMap(this.meta,this.keys,a,this.update_count+1,null);a=cljs.core.obj_clone(this.strobj,this.keys);var d=cljs.core.aclone(this.keys); -goog.object.set(a,b,c);d.push(b);return new cljs.core.ObjMap(this.meta,d,a,this.update_count+1,null)}return cljs.core.obj_map__GT_hash_map(this,b,c)};cljs.core.ObjMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return goog.isString(b)&&null!=cljs.core.scan_array(1,b,this.keys)?!0:!1}; -cljs.core.ObjMap.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){var b=this;return 0=a)return new cljs.core.PersistentArrayMap(this.meta,this.cnt-1,c,null);cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,this.arr[d])?d+=2:(c[e]=this.arr[d],c[e+1]=this.arr[d+1],e+=2,d+=2)}}else return this}; -cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.array_map_index_of(this,b);if(-1===a)return this.cnt>>b&31}; -cljs.core.clone_and_set=function(a){switch(arguments.length){case 3:return cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 5:return cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=cljs.core.aclone(a);a[b]=c;return a};cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){a=cljs.core.aclone(a);a[b]=c;a[d]=e;return a};cljs.core.clone_and_set.cljs$lang$maxFixedArity=5;cljs.core.remove_pair=function(a,b){var c=Array(a.length-2);cljs.core.array_copy(a,0,c,0,2*b);cljs.core.array_copy(a,2*(b+1),c,2*b,c.length-2*b);return c}; -cljs.core.bitmap_indexed_node_index=function(a,b){return cljs.core.bit_count(a&b-1)};cljs.core.bitpos=function(a,b){return 1<<(a>>>b&31)}; -cljs.core.edit_and_set=function(a){switch(arguments.length){case 4:return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 6:return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){a=a.ensure_editable(b);a.arr[c]=d;return a};cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){a=a.ensure_editable(b);a.arr[c]=d;a.arr[e]=f;return a};cljs.core.edit_and_set.cljs$lang$maxFixedArity=6; -cljs.core.inode_kv_reduce=function(a,b,c){for(var d=a.length,e=0,f=c;;)if(eb?4:2*(b+1));cljs.core.array_copy(this.arr,0,c,0,2*b);return new cljs.core.BitmapIndexedNode(a,this.bitmap,c)}; -cljs.core.BitmapIndexedNode.prototype.inode_without_BANG_=function(a,b,c,d,e){var f=1<<(c>>>b&31);if(0===(this.bitmap&f))return this;var g=cljs.core.bitmap_indexed_node_index(this.bitmap,f),h=this.arr[2*g],k=this.arr[2*g+1];return null==h?(b=k.inode_without_BANG_(a,b+5,c,d,e),b===k?this:null!=b?cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,2*g+1,b):this.bitmap===f?null:this.edit_and_remove_pair(a,f,g)):cljs.core.key_test(d,h)?(e.val=!0,this.edit_and_remove_pair(a,f,g)):this}; -cljs.core.BitmapIndexedNode.prototype.edit_and_remove_pair=function(a,b,c){if(this.bitmap===b)return null;a=this.ensure_editable(a);var d=a.arr,e=d.length;a.bitmap^=b;cljs.core.array_copy(d,2*(c+1),d,2*c,e-2*(c+1));d[e-2]=null;d[e-1]=null;return a};cljs.core.BitmapIndexedNode.prototype.inode_seq=function(){return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(this.arr)};cljs.core.BitmapIndexedNode.prototype.kv_reduce=function(a,b){return cljs.core.inode_kv_reduce(this.arr,a,b)}; -cljs.core.BitmapIndexedNode.prototype.inode_lookup=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.bitmap&e))return d;var f=cljs.core.bitmap_indexed_node_index(this.bitmap,e);e=this.arr[2*f];f=this.arr[2*f+1];return null==e?f.inode_lookup(a+5,b,c,d):cljs.core.key_test(c,e)?f:d}; -cljs.core.BitmapIndexedNode.prototype.inode_assoc_BANG_=function(a,b,c,d,e,f){var g=1<<(c>>>b&31),h=cljs.core.bitmap_indexed_node_index(this.bitmap,g);if(0===(this.bitmap&g)){var k=cljs.core.bit_count(this.bitmap);if(2*k>>b&31]=cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(a,b+5,c,d,e,f);for(e=d=0;;)if(32>d)0===(this.bitmap>>>d&1)?d+=1:(h[d]=null!=this.arr[e]?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(a,b+5,cljs.core.hash(this.arr[e]),this.arr[e],this.arr[e+1],f):this.arr[e+1],e+=2,d+=1);else break;return new cljs.core.ArrayNode(a,k+1,h)}b=Array(2*(k+4));cljs.core.array_copy(this.arr,0,b,0,2*h);b[2*h]=d;b[2*h+1]=e;cljs.core.array_copy(this.arr,2*h, -b,2*(h+1),2*(k-h));f.val=!0;a=this.ensure_editable(a);a.arr=b;a.bitmap|=g;return a}k=this.arr[2*h];g=this.arr[2*h+1];if(null==k)return k=g.inode_assoc_BANG_(a,b+5,c,d,e,f),k===g?this:cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,2*h+1,k);if(cljs.core.key_test(d,k))return e===g?this:cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,2*h+1,e);f.val=!0;return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(this,a,2*h,null,2*h+1,cljs.core.create_node.cljs$core$IFn$_invoke$arity$7(a, -b+5,k,g,c,d,e))}; -cljs.core.BitmapIndexedNode.prototype.inode_assoc=function(a,b,c,d,e){var f=1<<(b>>>a&31),g=cljs.core.bitmap_indexed_node_index(this.bitmap,f);if(0===(this.bitmap&f)){var h=cljs.core.bit_count(this.bitmap);if(16<=h){g=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];g[b>>>a&31]=cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(a+5,b,c,d,e);for(d=c=0;;)if(32>c)0===(this.bitmap>>>c&1)?c+=1:(g[c]= -null!=this.arr[d]?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(a+5,cljs.core.hash(this.arr[d]),this.arr[d],this.arr[d+1],e):this.arr[d+1],d+=2,c+=1);else break;return new cljs.core.ArrayNode(null,h+1,g)}a=Array(2*(h+1));cljs.core.array_copy(this.arr,0,a,0,2*g);a[2*g]=c;a[2*g+1]=d;cljs.core.array_copy(this.arr,2*g,a,2*(g+1),2*(h-g));e.val=!0;return new cljs.core.BitmapIndexedNode(null,this.bitmap|f,a)}h=this.arr[2*g];f=this.arr[2*g+1];if(null==h)return h=f.inode_assoc(a+5,b,c,d,e),h===f?this:new cljs.core.BitmapIndexedNode(null, -this.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,2*g+1,h));if(cljs.core.key_test(c,h))return d===f?this:new cljs.core.BitmapIndexedNode(null,this.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,2*g+1,d));e.val=!0;return new cljs.core.BitmapIndexedNode(null,this.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5(this.arr,2*g,null,2*g+1,cljs.core.create_node.cljs$core$IFn$_invoke$arity$6(a+5,h,f,b,c,d)))}; -cljs.core.BitmapIndexedNode.prototype.inode_find=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.bitmap&e))return d;var f=cljs.core.bitmap_indexed_node_index(this.bitmap,e);e=this.arr[2*f];f=this.arr[2*f+1];return null==e?f.inode_find(a+5,b,c,d):cljs.core.key_test(c,e)?new cljs.core.MapEntry(e,f,null):d}; -cljs.core.BitmapIndexedNode.prototype.inode_without=function(a,b,c){var d=1<<(b>>>a&31);if(0===(this.bitmap&d))return this;var e=cljs.core.bitmap_indexed_node_index(this.bitmap,d),f=this.arr[2*e],g=this.arr[2*e+1];return null==f?(a=g.inode_without(a+5,b,c),a===g?this:null!=a?new cljs.core.BitmapIndexedNode(null,this.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,2*e+1,a)):this.bitmap===d?null:new cljs.core.BitmapIndexedNode(null,this.bitmap^d,cljs.core.remove_pair(this.arr, -e))):cljs.core.key_test(c,f)?new cljs.core.BitmapIndexedNode(null,this.bitmap^d,cljs.core.remove_pair(this.arr,e)):this};cljs.core.BitmapIndexedNode.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.NodeIterator(this.arr,0,null,null)}; -cljs.core.BitmapIndexedNode.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$edit,cljs.core.with_meta(cljs.core.cst$sym$bitmap,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null)),cljs.core.with_meta(cljs.core.cst$sym$arr,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null))],null)};cljs.core.BitmapIndexedNode.cljs$lang$type=!0;cljs.core.BitmapIndexedNode.cljs$lang$ctorStr="cljs.core/BitmapIndexedNode"; -cljs.core.BitmapIndexedNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/BitmapIndexedNode")};cljs.core.__GT_BitmapIndexedNode=function(a,b,c){return new cljs.core.BitmapIndexedNode(a,b,c)};cljs.core.BitmapIndexedNode.EMPTY=new cljs.core.BitmapIndexedNode(null,0,[]); -cljs.core.pack_array_node=function(a,b,c){var d=a.arr,e=d.length;a=Array(2*(a.cnt-1));for(var f=0,g=1,h=0;;)if(f>>b&31,g=this.arr[f];if(null==g)return this;b=g.inode_without_BANG_(a,b+5,c,d,e);if(b===g)return this;if(null==b){if(8>=this.cnt)return cljs.core.pack_array_node(this,a,f);a=cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,f,b);--a.cnt;return a}return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,f,b)};cljs.core.ArrayNode.prototype.inode_seq=function(){return cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1(this.arr)}; -cljs.core.ArrayNode.prototype.kv_reduce=function(a,b){for(var c=this.arr.length,d=0;;)if(d>>a&31];return null!=e?e.inode_lookup(a+5,b,c,d):d}; -cljs.core.ArrayNode.prototype.inode_assoc_BANG_=function(a,b,c,d,e,f){var g=c>>>b&31,h=this.arr[g];if(null==h)return a=cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,g,cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(a,b+5,c,d,e,f)),a.cnt+=1,a;b=h.inode_assoc_BANG_(a,b+5,c,d,e,f);return b===h?this:cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,g,b)}; -cljs.core.ArrayNode.prototype.inode_assoc=function(a,b,c,d,e){var f=b>>>a&31,g=this.arr[f];if(null==g)return new cljs.core.ArrayNode(null,this.cnt+1,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,f,cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(a+5,b,c,d,e)));a=g.inode_assoc(a+5,b,c,d,e);return a===g?this:new cljs.core.ArrayNode(null,this.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,f,a))}; -cljs.core.ArrayNode.prototype.inode_find=function(a,b,c,d){var e=this.arr[b>>>a&31];return null!=e?e.inode_find(a+5,b,c,d):d}; -cljs.core.ArrayNode.prototype.inode_without=function(a,b,c){var d=b>>>a&31,e=this.arr[d];return null!=e?(a=e.inode_without(a+5,b,c),a===e?this:null==a?8>=this.cnt?cljs.core.pack_array_node(this,null,d):new cljs.core.ArrayNode(null,this.cnt-1,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,d,a)):new cljs.core.ArrayNode(null,this.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,d,a))):this}; -cljs.core.ArrayNode.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.ArrayNodeIterator(this.arr,0,null)}; -cljs.core.ArrayNode.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$edit,cljs.core.with_meta(cljs.core.cst$sym$cnt,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null)),cljs.core.with_meta(cljs.core.cst$sym$arr,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null))],null)};cljs.core.ArrayNode.cljs$lang$type=!0;cljs.core.ArrayNode.cljs$lang$ctorStr="cljs.core/ArrayNode"; -cljs.core.ArrayNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ArrayNode")};cljs.core.__GT_ArrayNode=function(a,b,c){return new cljs.core.ArrayNode(a,b,c)};cljs.core.hash_collision_node_find_index=function(a,b,c){b*=2;for(var d=0;;)if(da?d:cljs.core.key_test(c,this.arr[a])?this.arr[a+1]:d}; -cljs.core.HashCollisionNode.prototype.inode_assoc_BANG_=function(a,b,c,d,e,f){if(c===this.collision_hash){b=cljs.core.hash_collision_node_find_index(this.arr,this.cnt,d);if(-1===b){if(this.arr.length>2*this.cnt)return a=cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(this,a,2*this.cnt,d,2*this.cnt+1,e),f.val=!0,a.cnt+=1,a;b=this.arr.length;c=Array(b+2);cljs.core.array_copy(this.arr,0,c,0,b);c[b]=d;c[b+1]=e;f.val=!0;return this.ensure_editable_array(a,this.cnt+1,c)}return this.arr[b+1]===e?this: -cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,b+1,e)}return(new cljs.core.BitmapIndexedNode(a,1<<(this.collision_hash>>>b&31),[null,this,null,null])).inode_assoc_BANG_(a,b,c,d,e,f)}; -cljs.core.HashCollisionNode.prototype.inode_assoc=function(a,b,c,d,e){return b===this.collision_hash?(a=cljs.core.hash_collision_node_find_index(this.arr,this.cnt,c),-1===a?(a=2*this.cnt,b=Array(a+2),cljs.core.array_copy(this.arr,0,b,0,a),b[a]=c,b[a+1]=d,e.val=!0,new cljs.core.HashCollisionNode(null,this.collision_hash,this.cnt+1,b)):cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.arr[a+1],d)?this:new cljs.core.HashCollisionNode(null,this.collision_hash,this.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr, -a+1,d))):(new cljs.core.BitmapIndexedNode(null,1<<(this.collision_hash>>>a&31),[null,this])).inode_assoc(a,b,c,d,e)};cljs.core.HashCollisionNode.prototype.ensure_editable_array=function(a,b,c){return a===this.edit?(this.arr=c,this.cnt=b,this):new cljs.core.HashCollisionNode(this.edit,this.collision_hash,b,c)}; -cljs.core.HashCollisionNode.prototype.inode_find=function(a,b,c,d){a=cljs.core.hash_collision_node_find_index(this.arr,this.cnt,c);return 0>a?d:cljs.core.key_test(c,this.arr[a])?new cljs.core.MapEntry(this.arr[a],this.arr[a+1],null):d}; -cljs.core.HashCollisionNode.prototype.inode_without=function(a,b,c){a=cljs.core.hash_collision_node_find_index(this.arr,this.cnt,c);return-1===a?this:1===this.cnt?null:new cljs.core.HashCollisionNode(null,this.collision_hash,this.cnt-1,cljs.core.remove_pair(this.arr,cljs.core.quot(a,2)))};cljs.core.HashCollisionNode.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.NodeIterator(this.arr,0,null,null)}; -cljs.core.HashCollisionNode.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$edit,cljs.core.with_meta(cljs.core.cst$sym$collision_DASH_hash,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null)),cljs.core.with_meta(cljs.core.cst$sym$cnt,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null)),cljs.core.with_meta(cljs.core.cst$sym$arr,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable, -!0],null))],null)};cljs.core.HashCollisionNode.cljs$lang$type=!0;cljs.core.HashCollisionNode.cljs$lang$ctorStr="cljs.core/HashCollisionNode";cljs.core.HashCollisionNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/HashCollisionNode")};cljs.core.__GT_HashCollisionNode=function(a,b,c,d){return new cljs.core.HashCollisionNode(a,b,c,d)}; -cljs.core.create_node=function(a){switch(arguments.length){case 6:return cljs.core.create_node.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);case 7:return cljs.core.create_node.cljs$core$IFn$_invoke$arity$7(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.core.create_node.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){var g=cljs.core.hash(b);if(g===d)return new cljs.core.HashCollisionNode(null,g,2,[b,c,e,f]);var h=new cljs.core.Box(!1);return cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(a,g,b,c,h).inode_assoc(a,d,e,f,h)}; -cljs.core.create_node.cljs$core$IFn$_invoke$arity$7=function(a,b,c,d,e,f,g){var h=cljs.core.hash(c);if(h===e)return new cljs.core.HashCollisionNode(null,h,2,[c,d,f,g]);var k=new cljs.core.Box(!1);return cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(a,b,h,c,d,k).inode_assoc_BANG_(a,b,e,f,g,k)};cljs.core.create_node.cljs$lang$maxFixedArity=7; -cljs.core.NodeSeq=function(a,b,c,d,e){this.meta=a;this.nodes=b;this.i=c;this.s=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=32374988;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.NodeSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.NodeSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)}; -cljs.core.NodeSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}(); -cljs.core.NodeSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}(); -cljs.core.NodeSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.NodeSeq.prototype.cljs$core$INext$_next$arity$1=function(a){return null==this.s?cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(this.nodes,this.i+2,null):cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(this.nodes,this.i,cljs.core.next(this.s))};cljs.core.NodeSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)}; -cljs.core.NodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.NodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)}; -cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.NodeSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return null==this.s?new cljs.core.MapEntry(this.nodes[this.i],this.nodes[this.i+1],null):cljs.core.first(this.s)}; -cljs.core.NodeSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){a=null==this.s?cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(this.nodes,this.i+2,null):cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(this.nodes,this.i,cljs.core.next(this.s));return null!=a?a:cljs.core.List.EMPTY};cljs.core.NodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this}; -cljs.core.NodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.NodeSeq(b,this.nodes,this.i,this.s,this.__hash)};cljs.core.NodeSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)}; -cljs.core.NodeSeq.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$meta,cljs.core.cst$sym$nodes,cljs.core.cst$sym$i,cljs.core.cst$sym$s,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null))],null)};cljs.core.NodeSeq.cljs$lang$type=!0;cljs.core.NodeSeq.cljs$lang$ctorStr="cljs.core/NodeSeq"; -cljs.core.NodeSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/NodeSeq")};cljs.core.__GT_NodeSeq=function(a,b,c,d,e){return new cljs.core.NodeSeq(a,b,c,d,e)};var G__11288_11291=cljs.core.NodeSeq.prototype,G__11289_11292=cljs.core.ITER_SYMBOL,G__11290_11293=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__11288_11291,G__11289_11292);goog.object.set(G__11288_11291,G__11289_11292,G__11290_11293); -cljs.core.create_inode_seq=function(a){switch(arguments.length){case 1:return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(a,0,null)}; -cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(null==c)for(c=a.length;;)if(bthis.cnt?cljs.core.count(cljs.core.next(this))+1:this.cnt};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)}; -cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)}; -cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return cljs.core.peek(this.stack)};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){a=cljs.core.first(this.stack);a=cljs.core.tree_map_seq_push(this.ascending_QMARK_?a.right:a.left,cljs.core.next(this.stack),this.ascending_QMARK_);return null!=a?new cljs.core.PersistentTreeMapSeq(null,a,this.ascending_QMARK_,this.cnt-1,null):cljs.core.List.EMPTY}; -cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.PersistentTreeMapSeq(b,this.stack,this.ascending_QMARK_,this.cnt,this.__hash)};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)}; -cljs.core.PersistentTreeMapSeq.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$meta,cljs.core.cst$sym$stack,cljs.core.with_meta(cljs.core.cst$sym$ascending_QMARK_,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$tag,cljs.core.cst$sym$boolean],null)),cljs.core.cst$sym$cnt,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null))],null)}; -cljs.core.PersistentTreeMapSeq.cljs$lang$type=!0;cljs.core.PersistentTreeMapSeq.cljs$lang$ctorStr="cljs.core/PersistentTreeMapSeq";cljs.core.PersistentTreeMapSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentTreeMapSeq")};cljs.core.__GT_PersistentTreeMapSeq=function(a,b,c,d,e){return new cljs.core.PersistentTreeMapSeq(a,b,c,d,e)}; -var G__11366_11369=cljs.core.PersistentTreeMapSeq.prototype,G__11367_11370=cljs.core.ITER_SYMBOL,G__11368_11371=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__11366_11369,G__11367_11370);goog.object.set(G__11366_11369,G__11367_11370,G__11368_11371);cljs.core.create_tree_map_seq=function(a,b,c){return new cljs.core.PersistentTreeMapSeq(null,cljs.core.tree_map_seq_push(a,null,b),b,c,null)}; -cljs.core.balance_left=function(a,b,c,d){return c instanceof cljs.core.RedNode?c.left instanceof cljs.core.RedNode?new cljs.core.RedNode(c.key,c.val,c.left.blacken(),new cljs.core.BlackNode(a,b,c.right,d,null),null):c.right instanceof cljs.core.RedNode?new cljs.core.RedNode(c.right.key,c.right.val,new cljs.core.BlackNode(c.key,c.val,c.left,c.right.left,null),new cljs.core.BlackNode(a,b,c.right.right,d,null),null):new cljs.core.BlackNode(a,b,c,d,null):new cljs.core.BlackNode(a,b,c,d,null)}; -cljs.core.balance_right=function(a,b,c,d){return d instanceof cljs.core.RedNode?d.right instanceof cljs.core.RedNode?new cljs.core.RedNode(d.key,d.val,new cljs.core.BlackNode(a,b,c,d.left,null),d.right.blacken(),null):d.left instanceof cljs.core.RedNode?new cljs.core.RedNode(d.left.key,d.left.val,new cljs.core.BlackNode(a,b,c,d.left.left,null),new cljs.core.BlackNode(d.key,d.val,d.left.right,d.right,null),null):new cljs.core.BlackNode(a,b,c,d,null):new cljs.core.BlackNode(a,b,c,d,null)}; -cljs.core.balance_left_del=function(a,b,c,d){if(c instanceof cljs.core.RedNode)return new cljs.core.RedNode(a,b,c.blacken(),d,null);if(d instanceof cljs.core.BlackNode)return cljs.core.balance_right(a,b,c,d.redden());if(d instanceof cljs.core.RedNode&&d.left instanceof cljs.core.BlackNode)return new cljs.core.RedNode(d.left.key,d.left.val,new cljs.core.BlackNode(a,b,c,d.left.left,null),cljs.core.balance_right(d.key,d.val,d.left.right,d.right.redden()),null);throw Error("red-black tree invariant violation"); -}; -cljs.core.balance_right_del=function(a,b,c,d){if(d instanceof cljs.core.RedNode)return new cljs.core.RedNode(a,b,c,d.blacken(),null);if(c instanceof cljs.core.BlackNode)return cljs.core.balance_left(a,b,c.redden(),d);if(c instanceof cljs.core.RedNode&&c.right instanceof cljs.core.BlackNode)return new cljs.core.RedNode(c.right.key,c.right.val,cljs.core.balance_left(c.key,c.val,c.left.redden(),c.right.left),new cljs.core.BlackNode(a,b,c.right.right,d,null),null);throw Error("red-black tree invariant violation");}; -cljs.core.tree_map_kv_reduce=function(a,b,c){var d=null!=a.left?function(){var d=a.left;return cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3?cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3(d,b,c):cljs.core.tree_map_kv_reduce.call(null,d,b,c)}():c;if(cljs.core.reduced_QMARK_(d))return d;var e=function(){var c=a.key,e=a.val;return b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(d,c,e):b.call(null,d,c,e)}();if(cljs.core.reduced_QMARK_(e))return e;if(null!=a.right){var f= -a.right;return cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3?cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3(f,b,e):cljs.core.tree_map_kv_reduce.call(null,f,b,e)}return e};cljs.core.BlackNode=function(a,b,c,d,e){this.key=a;this.val=b;this.left=c;this.right=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=166619935;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.BlackNode.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL; -cljs.core.BlackNode.prototype.cljs$core$IFind$_find$arity$2=function(a,b){switch(b){case 0:return new cljs.core.MapEntry(0,this.key,null);case 1:return new cljs.core.MapEntry(1,this.val,null);default:return null}}; -cljs.core.BlackNode.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}(); -cljs.core.BlackNode.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();cljs.core.BlackNode.prototype.add_right=function(a){return a.balance_right(this)}; -cljs.core.BlackNode.prototype.redden=function(){return new cljs.core.RedNode(this.key,this.val,this.left,this.right,null)};cljs.core.BlackNode.prototype.blacken=function(){return this};cljs.core.BlackNode.prototype.add_left=function(a){return a.balance_left(this)};cljs.core.BlackNode.prototype.replace=function(a,b,c,d){return new cljs.core.BlackNode(a,b,c,d,null)};cljs.core.BlackNode.prototype.balance_left=function(a){return new cljs.core.BlackNode(a.key,a.val,this,a.right,null)}; -cljs.core.BlackNode.prototype.balance_right=function(a){return new cljs.core.BlackNode(a.key,a.val,a.left,this,null)};cljs.core.BlackNode.prototype.remove_left=function(a){return cljs.core.balance_left_del(this.key,this.val,a,this.right)};cljs.core.BlackNode.prototype.kv_reduce=function(a,b){return cljs.core.tree_map_kv_reduce(this,a,b)};cljs.core.BlackNode.prototype.remove_right=function(a){return cljs.core.balance_right_del(this.key,this.val,this.left,a)}; -cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,b,null)};cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return this.cljs$core$IIndexed$_nth$arity$3(null,b,c)};cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){if(0===b)return this.key;if(1===b)return this.val;throw Error("Index out of bounds");}; -cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0===b?this.key:1===b?this.val:c};cljs.core.BlackNode.prototype.cljs$core$IVector$_assoc_n$arity$3=function(a,b,c){return(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null)).cljs$core$IVector$_assoc_n$arity$3(null,b,c)};cljs.core.BlackNode.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return null}; -cljs.core.BlackNode.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2};cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_key$arity$1=function(a){return this.key};cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_val$arity$1=function(a){return this.val};cljs.core.BlackNode.prototype.cljs$core$IStack$_peek$arity$1=function(a){return this.val}; -cljs.core.BlackNode.prototype.cljs$core$IStack$_pop$arity$1=function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key],null)};cljs.core.BlackNode.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){return new cljs.core.IndexedSeq([this.val,this.key],0,null)};cljs.core.BlackNode.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)}; -cljs.core.BlackNode.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.BlackNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return null};cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(this,b)}; -cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(this,b,c)};cljs.core.BlackNode.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null),b,c)}; -cljs.core.BlackNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return 0===b||1===b};cljs.core.BlackNode.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return new cljs.core.IndexedSeq([this.key,this.val],0,null)};cljs.core.BlackNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return cljs.core._with_meta(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null),b)}; -cljs.core.BlackNode.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val,b],null)}; -cljs.core.BlackNode.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$IIndexed$_nth$arity$2(null,c);case 3:return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$IIndexed$_nth$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)};return a}(); -cljs.core.BlackNode.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$IIndexed$_nth$arity$2(null,a)};cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,a,b)}; -cljs.core.BlackNode.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$key,cljs.core.cst$sym$val,cljs.core.cst$sym$left,cljs.core.cst$sym$right,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null))],null)};cljs.core.BlackNode.cljs$lang$type=!0;cljs.core.BlackNode.cljs$lang$ctorStr="cljs.core/BlackNode"; -cljs.core.BlackNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/BlackNode")};cljs.core.__GT_BlackNode=function(a,b,c,d,e){return new cljs.core.BlackNode(a,b,c,d,e)};var G__11387_11390=cljs.core.BlackNode.prototype,G__11388_11391=cljs.core.ITER_SYMBOL,G__11389_11392=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__11387_11390,G__11388_11391);goog.object.set(G__11387_11390,G__11388_11391,G__11389_11392); -cljs.core.RedNode=function(a,b,c,d,e){this.key=a;this.val=b;this.left=c;this.right=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=166619935;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.RedNode.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;cljs.core.RedNode.prototype.cljs$core$IFind$_find$arity$2=function(a,b){switch(b){case 0:return new cljs.core.MapEntry(0,this.key,null);case 1:return new cljs.core.MapEntry(1,this.val,null);default:return null}}; -cljs.core.RedNode.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}(); -cljs.core.RedNode.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}(); -cljs.core.RedNode.prototype.add_right=function(a){return new cljs.core.RedNode(this.key,this.val,this.left,a,null)};cljs.core.RedNode.prototype.redden=function(){throw Error("red-black tree invariant violation");};cljs.core.RedNode.prototype.blacken=function(){return new cljs.core.BlackNode(this.key,this.val,this.left,this.right,null)};cljs.core.RedNode.prototype.add_left=function(a){return new cljs.core.RedNode(this.key,this.val,a,this.right,null)}; -cljs.core.RedNode.prototype.replace=function(a,b,c,d){return new cljs.core.RedNode(a,b,c,d,null)}; -cljs.core.RedNode.prototype.balance_left=function(a){return this.left instanceof cljs.core.RedNode?new cljs.core.RedNode(this.key,this.val,this.left.blacken(),new cljs.core.BlackNode(a.key,a.val,this.right,a.right,null),null):this.right instanceof cljs.core.RedNode?new cljs.core.RedNode(this.right.key,this.right.val,new cljs.core.BlackNode(this.key,this.val,this.left,this.right.left,null),new cljs.core.BlackNode(a.key,a.val,this.right.right,a.right,null),null):new cljs.core.BlackNode(a.key,a.val, -this,a.right,null)}; -cljs.core.RedNode.prototype.balance_right=function(a){return this.right instanceof cljs.core.RedNode?new cljs.core.RedNode(this.key,this.val,new cljs.core.BlackNode(a.key,a.val,a.left,this.left,null),this.right.blacken(),null):this.left instanceof cljs.core.RedNode?new cljs.core.RedNode(this.left.key,this.left.val,new cljs.core.BlackNode(a.key,a.val,a.left,this.left.left,null),new cljs.core.BlackNode(this.key,this.val,this.left.right,this.right,null),null):new cljs.core.BlackNode(a.key,a.val,a.left, -this,null)};cljs.core.RedNode.prototype.remove_left=function(a){return new cljs.core.RedNode(this.key,this.val,a,this.right,null)};cljs.core.RedNode.prototype.kv_reduce=function(a,b){return cljs.core.tree_map_kv_reduce(this,a,b)};cljs.core.RedNode.prototype.remove_right=function(a){return new cljs.core.RedNode(this.key,this.val,this.left,a,null)};cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,b,null)}; -cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return this.cljs$core$IIndexed$_nth$arity$3(null,b,c)};cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){if(0===b)return this.key;if(1===b)return this.val;throw Error("Index out of bounds");};cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0===b?this.key:1===b?this.val:c}; -cljs.core.RedNode.prototype.cljs$core$IVector$_assoc_n$arity$3=function(a,b,c){return(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null)).cljs$core$IVector$_assoc_n$arity$3(null,b,c)};cljs.core.RedNode.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return null};cljs.core.RedNode.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2};cljs.core.RedNode.prototype.cljs$core$IMapEntry$_key$arity$1=function(a){return this.key}; -cljs.core.RedNode.prototype.cljs$core$IMapEntry$_val$arity$1=function(a){return this.val};cljs.core.RedNode.prototype.cljs$core$IStack$_peek$arity$1=function(a){return this.val};cljs.core.RedNode.prototype.cljs$core$IStack$_pop$arity$1=function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key],null)};cljs.core.RedNode.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){return new cljs.core.IndexedSeq([this.val,this.key],0,null)}; -cljs.core.RedNode.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.RedNode.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.RedNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return null}; -cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(this,b)};cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(this,b,c)}; -cljs.core.RedNode.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null),b,c)};cljs.core.RedNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return 0===b||1===b};cljs.core.RedNode.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return new cljs.core.IndexedSeq([this.key,this.val],0,null)}; -cljs.core.RedNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return cljs.core._with_meta(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null),b)};cljs.core.RedNode.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val,b],null)}; -cljs.core.RedNode.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$IIndexed$_nth$arity$2(null,c);case 3:return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$IIndexed$_nth$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)};return a}(); -cljs.core.RedNode.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$IIndexed$_nth$arity$2(null,a)};cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,a,b)}; -cljs.core.RedNode.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$key,cljs.core.cst$sym$val,cljs.core.cst$sym$left,cljs.core.cst$sym$right,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null))],null)};cljs.core.RedNode.cljs$lang$type=!0;cljs.core.RedNode.cljs$lang$ctorStr="cljs.core/RedNode"; -cljs.core.RedNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/RedNode")};cljs.core.__GT_RedNode=function(a,b,c,d,e){return new cljs.core.RedNode(a,b,c,d,e)};var G__11399_11402=cljs.core.RedNode.prototype,G__11400_11403=cljs.core.ITER_SYMBOL,G__11401_11404=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__11399_11402,G__11400_11403);goog.object.set(G__11399_11402,G__11400_11403,G__11401_11404); -cljs.core.tree_map_add=function(a,b,c,d,e){if(null==b)return new cljs.core.RedNode(c,d,null,null,null);var f=function(){var d=b.key;return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,d):a.call(null,c,d)}();if(0===f)return e[0]=b,null;if(0>f)return f=function(){var f=b.left;return cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5?cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(a,f,c,d,e):cljs.core.tree_map_add.call(null,a,f,c,d,e)}(),null!=f?b.add_left(f):null;f=function(){var f= -b.right;return cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5?cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(a,f,c,d,e):cljs.core.tree_map_add.call(null,a,f,c,d,e)}();return null!=f?b.add_right(f):null}; -cljs.core.tree_map_append=function(a,b){if(null==a)return b;if(null==b)return a;if(a instanceof cljs.core.RedNode){if(b instanceof cljs.core.RedNode){var c=function(){var c=a.right,e=b.left;return cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2?cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(c,e):cljs.core.tree_map_append.call(null,c,e)}();return c instanceof cljs.core.RedNode?new cljs.core.RedNode(c.key,c.val,new cljs.core.RedNode(a.key,a.val,a.left,c.left,null),new cljs.core.RedNode(b.key, -b.val,c.right,b.right,null),null):new cljs.core.RedNode(a.key,a.val,a.left,new cljs.core.RedNode(b.key,b.val,c,b.right,null),null)}return new cljs.core.RedNode(a.key,a.val,a.left,function(){var c=a.right;return cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2?cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(c,b):cljs.core.tree_map_append.call(null,c,b)}(),null)}if(b instanceof cljs.core.RedNode)return new cljs.core.RedNode(b.key,b.val,function(){var c=b.left;return cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2? -cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(a,c):cljs.core.tree_map_append.call(null,a,c)}(),b.right,null);c=function(){var c=a.right,e=b.left;return cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2?cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(c,e):cljs.core.tree_map_append.call(null,c,e)}();return c instanceof cljs.core.RedNode?new cljs.core.RedNode(c.key,c.val,new cljs.core.BlackNode(a.key,a.val,a.left,c.left,null),new cljs.core.BlackNode(b.key,b.val,c.right,b.right, -null),null):cljs.core.balance_left_del(a.key,a.val,a.left,new cljs.core.BlackNode(b.key,b.val,c,b.right,null))}; -cljs.core.tree_map_remove=function(a,b,c,d){if(null!=b){var e=function(){var d=b.key;return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,d):a.call(null,c,d)}();if(0===e)return d[0]=b,cljs.core.tree_map_append(b.left,b.right);if(0>e)return e=function(){var e=b.left;return cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4?cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(a,e,c,d):cljs.core.tree_map_remove.call(null,a,e,c,d)}(),null!=e||null!=d[0]?b.left instanceof cljs.core.BlackNode? -cljs.core.balance_left_del(b.key,b.val,e,b.right):new cljs.core.RedNode(b.key,b.val,e,b.right,null):null;e=function(){var e=b.right;return cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4?cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(a,e,c,d):cljs.core.tree_map_remove.call(null,a,e,c,d)}();return null!=e||null!=d[0]?b.right instanceof cljs.core.BlackNode?cljs.core.balance_right_del(b.key,b.val,b.left,e):new cljs.core.RedNode(b.key,b.val,b.left,e,null):null}return null}; -cljs.core.tree_map_replace=function(a,b,c,d){var e=b.key,f=a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,e):a.call(null,c,e);return 0===f?b.replace(e,d,b.left,b.right):0>f?b.replace(e,b.val,function(){var e=b.left;return cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4?cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(a,e,c,d):cljs.core.tree_map_replace.call(null,a,e,c,d)}(),b.right):b.replace(e,b.val,b.left,function(){var e=b.right;return cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4? -cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(a,e,c,d):cljs.core.tree_map_replace.call(null,a,e,c,d)}())};cljs.core.PersistentTreeMap=function(a,b,c,d,e){this.comp=a;this.tree=b;this.cnt=c;this.meta=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=418776847;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$_find$arity$2=function(a,b){return this.entry_at(b)}; -cljs.core.PersistentTreeMap.prototype.forEach=function(a){for(var b=cljs.core.seq(this),c=null,d=0,e=0;;)if(ec?b.left:b.right}else return null};cljs.core.PersistentTreeMap.prototype.has=function(a){return cljs.core.contains_QMARK_(this,a)}; -cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){a=this.entry_at(b);return null!=a?a.val:c};cljs.core.PersistentTreeMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return null!=this.tree?cljs.core.unreduced(cljs.core.tree_map_kv_reduce(this.tree,b,c)):c}; -cljs.core.PersistentTreeMap.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.PersistentTreeMap.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.PersistentTreeMap(this.comp,this.tree,this.cnt,this.meta,this.__hash)};cljs.core.PersistentTreeMap.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.cnt}; -cljs.core.PersistentTreeMap.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){return 0e?(a=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,d),d=d.left):d=d.right:0< -e?(a=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,d),d=d.right):d=d.left}else return null==a?null:new cljs.core.PersistentTreeMapSeq(null,a,c,-1,null)}else return null};cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_entry_key$arity$2=function(a,b){return cljs.core.key(b)};cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_comparator$arity$1=function(a){return this.comp}; -cljs.core.PersistentTreeMap.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$comp,cljs.core.cst$sym$tree,cljs.core.cst$sym$cnt,cljs.core.cst$sym$meta,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null))],null)};cljs.core.PersistentTreeMap.cljs$lang$type=!0;cljs.core.PersistentTreeMap.cljs$lang$ctorStr="cljs.core/PersistentTreeMap"; -cljs.core.PersistentTreeMap.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentTreeMap")};cljs.core.__GT_PersistentTreeMap=function(a,b,c,d,e){return new cljs.core.PersistentTreeMap(a,b,c,d,e)};cljs.core.PersistentTreeMap.EMPTY=new cljs.core.PersistentTreeMap(cljs.core.compare,null,0,null,cljs.core.empty_unordered_hash); -var G__11491_11494=cljs.core.PersistentTreeMap.prototype,G__11492_11495=cljs.core.ITER_SYMBOL,G__11493_11496=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__11491_11494,G__11492_11495);goog.object.set(G__11491_11494,G__11492_11495,G__11493_11496);cljs.core.hash_map=function(a){for(var b=[],c=arguments.length,d=0;;)if(d(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c))?b:c}; -cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b,c){return cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(a,b,c)},cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(a,b,c),d)};cljs.core.max_key.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);d=cljs.core.next(d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)}; -cljs.core.max_key.cljs$lang$maxFixedArity=3; -cljs.core.min_key=function(a){switch(arguments.length){case 2:return cljs.core.min_key.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:for(var b=[],c=arguments.length,d=0;;)if(d=this.count)throw Error("-drop-first of empty chunk");return new cljs.core.RangeChunk(this.start+this.step,this.step,this.count-1)}; -cljs.core.RangeChunk.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$start,cljs.core.cst$sym$step,cljs.core.cst$sym$count],null)};cljs.core.RangeChunk.cljs$lang$type=!0;cljs.core.RangeChunk.cljs$lang$ctorStr="cljs.core/RangeChunk";cljs.core.RangeChunk.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/RangeChunk")};cljs.core.__GT_RangeChunk=function(a,b,c){return new cljs.core.RangeChunk(a,b,c)}; -cljs.core.RangeIterator=function(a,b,c){this.i=a;this.end=b;this.step=c};cljs.core.RangeIterator.prototype.hasNext=function(){return 0this.end};cljs.core.RangeIterator.prototype.next=function(){var a=this.i;this.i+=this.step;return a}; -cljs.core.RangeIterator.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(cljs.core.cst$sym$i,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null)),cljs.core.cst$sym$end,cljs.core.cst$sym$step],null)};cljs.core.RangeIterator.cljs$lang$type=!0;cljs.core.RangeIterator.cljs$lang$ctorStr="cljs.core/RangeIterator";cljs.core.RangeIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/RangeIterator")}; -cljs.core.__GT_RangeIterator=function(a,b,c){return new cljs.core.RangeIterator(a,b,c)};cljs.core.Range=function(a,b,c,d,e,f,g){this.meta=a;this.start=b;this.end=c;this.step=d;this.chunk=e;this.chunk_next=f;this.__hash=g;this.cljs$lang$protocol_mask$partition0$=32375006;this.cljs$lang$protocol_mask$partition1$=140800};cljs.core.Range.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.Range.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)}; -cljs.core.Range.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}(); -cljs.core.Range.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}(); -cljs.core.Range.prototype.forceChunk=function(){if(null==this.chunk){var a=this.cljs$core$ICounted$_count$arity$1(null);return 32this.end&&0===this.step)return this.start;throw Error("Index out of bounds");};cljs.core.Range.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0<=b&&bthis.end&&0===this.step?this.start:c}; -cljs.core.Range.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RangeIterator(this.start,this.end,this.step)};cljs.core.Range.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.Range.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.Range(this.meta,this.start,this.end,this.step,this.chunk,this.chunk_next,this.__hash)}; -cljs.core.Range.prototype.cljs$core$INext$_next$arity$1=function(a){return 0this.end?new cljs.core.Range(null,this.start+this.step,this.end,this.step,null,null,null):null};cljs.core.Range.prototype.cljs$core$ICounted$_count$arity$1=function(a){return Math.ceil((this.end-this.start)/this.step)}; -cljs.core.Range.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.Range.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.Range.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY}; -cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(this,b)};cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){for(a=this.start;;)if(0this.end){c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,a):b.call(null,c,a);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c);a+=this.step}else return c}; -cljs.core.Range.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.start};cljs.core.Range.prototype.cljs$core$ISeq$_rest$arity$1=function(a){a=this.cljs$core$INext$_next$arity$1(null);return null==a?cljs.core.List.EMPTY:a};cljs.core.Range.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.Range.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1=function(a){this.forceChunk();return this.chunk}; -cljs.core.Range.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1=function(a){this.forceChunk();return null==this.chunk_next?cljs.core.List.EMPTY:this.chunk_next};cljs.core.Range.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.Range(b,this.start,this.end,this.step,this.chunk,this.chunk_next,this.__hash)};cljs.core.Range.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)}; -cljs.core.Range.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1=function(a){return cljs.core.seq(this.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null))}; -cljs.core.Range.getBasis=function(){return new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$meta,cljs.core.cst$sym$start,cljs.core.cst$sym$end,cljs.core.cst$sym$step,cljs.core.with_meta(cljs.core.cst$sym$chunk,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null)),cljs.core.with_meta(cljs.core.cst$sym$chunk_DASH_next,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null)),cljs.core.with_meta(cljs.core.cst$sym$__hash, -new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null))],null)};cljs.core.Range.cljs$lang$type=!0;cljs.core.Range.cljs$lang$ctorStr="cljs.core/Range";cljs.core.Range.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Range")};cljs.core.__GT_Range=function(a,b,c,d,e,f,g){return new cljs.core.Range(a,b,c,d,e,f,g)}; -var G__11772_11775=cljs.core.Range.prototype,G__11773_11776=cljs.core.ITER_SYMBOL,G__11774_11777=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__11772_11775,G__11773_11776);goog.object.set(G__11772_11775,G__11773_11776,G__11774_11777); -cljs.core.range=function(a){switch(arguments.length){case 0:return cljs.core.range.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.range.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.range.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.range.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.core.range.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.range.cljs$core$IFn$_invoke$arity$3(0,Number.MAX_VALUE,1)};cljs.core.range.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.range.cljs$core$IFn$_invoke$arity$3(0,a,1)};cljs.core.range.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.range.cljs$core$IFn$_invoke$arity$3(a,b,1)}; -cljs.core.range.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return 0c?b>=a?cljs.core.List.EMPTY:new cljs.core.Range(null,a,b,c,null,null,null):b===a?cljs.core.List.EMPTY:cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(a)};cljs.core.range.cljs$lang$maxFixedArity=3; -cljs.core.take_nth=function(a){switch(arguments.length){case 1:return cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1=function(a){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return function(b){return function(c){return function(){var d=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},g=function(d,e){var f=c.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,c.cljs$core$IDeref$_deref$arity$1(null)+ -1);return 0===cljs.core.rem(f,a)?b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,e):b.call(null,d,e):d};d=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}(cljs.core.volatile_BANG_(-1))}}; -cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2=function(a,b){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);return c?cljs.core.cons(cljs.core.first(c),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2(a,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(a,c))):null},null,null)};cljs.core.take_nth.cljs$lang$maxFixedArity=2; -cljs.core.split_with=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(a,b),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2(a,b)],null)}; -cljs.core.partition_by=function(a){switch(arguments.length){case 1:return cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){var c=cljs.core.array_list(),d=cljs.core.volatile_BANG_(cljs.core.cst$kw$cljs$core_SLASH_none);return function(c,d){return function(){var e=null,f=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},k=function(a){if(!cljs.core.truth_(c.isEmpty())){var d=cljs.core.vec(c.toArray());c.clear();a=cljs.core.unreduced(b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(a, -d):b.call(null,a,d))}return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},l=function(e,f){var g=cljs.core.deref(d),h=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(f):a.call(null,f);cljs.core.vreset_BANG_(d,h);if(cljs.core.keyword_identical_QMARK_(g,cljs.core.cst$kw$cljs$core_SLASH_none)||cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(h,g))return c.add(f),e;g=cljs.core.vec(c.toArray());c.clear();e=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(e, -g):b.call(null,e,g);cljs.core.reduced_QMARK_(e)||c.add(f);return e};e=function(a,b){switch(arguments.length){case 0:return f.call(this);case 1:return k.call(this,a);case 2:return l.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};e.cljs$core$IFn$_invoke$arity$0=f;e.cljs$core$IFn$_invoke$arity$1=k;e.cljs$core$IFn$_invoke$arity$2=l;return e}()}(c,d)}}; -cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);if(c){var d=cljs.core.first(c),e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d),f=cljs.core.cons(d,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(function(b,c,d,e){return function(b){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b))}}(d,e,c, -c),cljs.core.next(c)));return cljs.core.cons(f,cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2(a,new cljs.core.LazySeq(null,function(a,b,c,d,e){return function(){return cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(c),d)}}(d,e,f,c,c),null,null)))}return null},null,null)};cljs.core.partition_by.cljs$lang$maxFixedArity=2; -cljs.core.frequencies=function(a){return cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a,c){return cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(a,c,cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,c,0)+1)},cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),a))}; -cljs.core.reductions=function(a){switch(arguments.length){case 2:return cljs.core.reductions.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.core.reductions.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);return c?cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(a,cljs.core.first(c),cljs.core.rest(c)):new cljs.core.List(null,a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null),null,1,null)},null,null)}; -cljs.core.reductions.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.reduced_QMARK_(b)?new cljs.core.List(null,cljs.core.deref(b),null,1,null):cljs.core.cons(b,new cljs.core.LazySeq(null,function(){var d=cljs.core.seq(c);return d?cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(a,function(){var c=cljs.core.first(d);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c)}(),cljs.core.rest(d)):null},null,null))}; -cljs.core.reductions.cljs$lang$maxFixedArity=3; -cljs.core.juxt=function(a){switch(arguments.length){case 1:return cljs.core.juxt.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.juxt.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:for(var b=[],c=arguments.length,d=0;;)if(dd?1:d);return d<=b.length?(d=cljs.core.subs.cljs$core$IFn$_invoke$arity$2(b,d),cljs.core.re_seq_STAR_.cljs$core$IFn$_invoke$arity$2?cljs.core.re_seq_STAR_.cljs$core$IFn$_invoke$arity$2(a,d):cljs.core.re_seq_STAR_.call(null,a,d)):null}}(d,e,c,c),null,null))}; -cljs.core.re_seq=function(a,b){if("string"===typeof b)return cljs.core.re_seq_STAR_(a,b);throw new TypeError("re-seq must match against a string.");};cljs.core.re_pattern=function(a){if(a instanceof RegExp)return a;var b=cljs.core.re_find(/^\(\?([idmsux]*)\)/,a),c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null);a=cljs.core.subs.cljs$core$IFn$_invoke$arity$2(a,cljs.core.count(c));c=RegExp;b=cljs.core.truth_(b)?b:"";return new c(a,b)}; -cljs.core.pr_sequential_writer=function(a,b,c,d,e,f,g){var h=cljs.core._STAR_print_level_STAR_;cljs.core._STAR_print_level_STAR_=null==cljs.core._STAR_print_level_STAR_?null:cljs.core._STAR_print_level_STAR_-1;try{if(null!=cljs.core._STAR_print_level_STAR_&&0>cljs.core._STAR_print_level_STAR_)return cljs.core._write(a,"#");cljs.core._write(a,c);if(0===cljs.core.cst$kw$print_DASH_length.cljs$core$IFn$_invoke$arity$1(f))cljs.core.seq(g)&&cljs.core._write(a,function(){var a=cljs.core.cst$kw$more_DASH_marker.cljs$core$IFn$_invoke$arity$1(f); -return cljs.core.truth_(a)?a:"..."}());else{if(cljs.core.seq(g)){var k=cljs.core.first(g);b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(k,a,f):b.call(null,k,a,f)}for(var l=cljs.core.next(g),m=cljs.core.cst$kw$print_DASH_length.cljs$core$IFn$_invoke$arity$1(f)-1;;)if(!l||null!=m&&0===m){cljs.core.seq(l)&&0===m&&(cljs.core._write(a,d),cljs.core._write(a,function(){var a=cljs.core.cst$kw$more_DASH_marker.cljs$core$IFn$_invoke$arity$1(f);return cljs.core.truth_(a)?a:"..."}()));break}else{cljs.core._write(a, -d);var n=cljs.core.first(l);c=a;g=f;b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(n,c,g):b.call(null,n,c,g);var p=cljs.core.next(l);c=m-1;l=p;m=c}}return cljs.core._write(a,e)}finally{cljs.core._STAR_print_level_STAR_=h}};cljs.core.write_all=function(a){for(var b=[],c=arguments.length,d=0;;)if(d=cljs.core.count(b)&&cljs.core.every_QMARK_(function(b){return cljs.core.contains_QMARK_(a,b)},b)};clojure.string={};clojure.string.seq_reverse=function(a){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,a)};clojure.string.re_surrogate_pair=/([\uD800-\uDBFF])([\uDC00-\uDFFF])/g;clojure.string.reverse=function(a){return a.replace(clojure.string.re_surrogate_pair,"$2$1").split("").reverse().join("")}; -clojure.string.replace_all=function(a,b,c){var d=RegExp,e=b.source;var f=cljs.core.truth_(b.ignoreCase)?"gi":"g";f=cljs.core.truth_(b.multiline)?[f,"m"].join(""):f;b=cljs.core.truth_(b.unicode)?[f,"u"].join(""):f;d=new d(e,b);return a.replace(d,c)}; -clojure.string.replace_with=function(a){return function(){var b=function(b){b=cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2(2,b);if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(b),1))return b=cljs.core.first(b),a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);b=cljs.core.vec(b);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)},c=function(a){var c=null;if(0=b||b>=2+cljs.core.count(a))return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(cljs.core.cons("",cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.seq(a)))),"");var c=cljs.core._EQ__EQ_;if(cljs.core.truth_(c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(1,b):c.call(null,1,b)))return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null);if(cljs.core.truth_(c.cljs$core$IFn$_invoke$arity$2? -c.cljs$core$IFn$_invoke$arity$2(2,b):c.call(null,2,b)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["",a],null);b-=2;return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(cljs.core.cons("",cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.seq(a))),0,b))),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(a,b))}; -clojure.string.split=function(a){switch(arguments.length){case 2:return clojure.string.split.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return clojure.string.split.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};clojure.string.split.cljs$core$IFn$_invoke$arity$2=function(a,b){return clojure.string.split.cljs$core$IFn$_invoke$arity$3(a,b,0)}; -clojure.string.split.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return clojure.string.discard_trailing_if_needed(c,"/(?:)/"===cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)?clojure.string.split_with_empty_regex(a,c):1>c?cljs.core.vec(cljs.core.str.cljs$core$IFn$_invoke$arity$1(a).split(b)):function(){for(var d=a,e=c,f=cljs.core.PersistentVector.EMPTY;;){if(1===e)return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(f,d);var g=cljs.core.re_find(b,d);if(null!=g){var h=d.indexOf(g);g=d.substring(h+ -cljs.core.count(g));--e;f=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(f,d.substring(0,h));d=g}else return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(f,d)}}())};clojure.string.split.cljs$lang$maxFixedArity=3;clojure.string.split_lines=function(a){return clojure.string.split.cljs$core$IFn$_invoke$arity$2(a,/\n|\r\n/)};clojure.string.trim=function(a){return goog.string.trim(a)};clojure.string.triml=function(a){return goog.string.trimLeft(a)};clojure.string.trimr=function(a){return goog.string.trimRight(a)}; -clojure.string.trim_newline=function(a){for(var b=a.length;;){if(0===b)return"";var c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b-1);if("\n"===c||"\r"===c)--b;else return a.substring(0,b)}};clojure.string.blank_QMARK_=function(a){return goog.string.isEmptySafe(a)}; -clojure.string.escape=function(a,b){for(var c=new goog.string.StringBuffer,d=a.length,e=0;;){if(d===e)return c.toString();var f=a.charAt(e),g=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,f);null!=g?c.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(g)):c.append(f);e+=1}}; -clojure.string.index_of=function(a){switch(arguments.length){case 2:return clojure.string.index_of.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return clojure.string.index_of.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};clojure.string.index_of.cljs$core$IFn$_invoke$arity$2=function(a,b){a=a.indexOf(b);return 0>a?null:a}; -clojure.string.index_of.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=a.indexOf(b,c);return 0>a?null:a};clojure.string.index_of.cljs$lang$maxFixedArity=3; -clojure.string.last_index_of=function(a){switch(arguments.length){case 2:return clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2=function(a,b){a=a.lastIndexOf(b);return 0>a?null:a};clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=a.lastIndexOf(b,c);return 0>a?null:a};clojure.string.last_index_of.cljs$lang$maxFixedArity=3;clojure.string.starts_with_QMARK_=function(a,b){return goog.string.startsWith(a,b)};clojure.string.ends_with_QMARK_=function(a,b){return goog.string.endsWith(a,b)}; -clojure.string.includes_QMARK_=function(a,b){return goog.string.contains(a,b)};clojure.walk={}; -clojure.walk.walk=function(a,b,c){if(cljs.core.list_QMARK_(c)){var d=cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,cljs.core.map.cljs$core$IFn$_invoke$arity$2(a,c));return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d)}return cljs.core.map_entry_QMARK_(c)?(d=new cljs.core.MapEntry(function(){var b=cljs.core.key(c);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}(),function(){var b=cljs.core.val(c);return a.cljs$core$IFn$_invoke$arity$1? -a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}(),null),b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d)):cljs.core.seq_QMARK_(c)?(d=cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(a,c)),b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d)):cljs.core.record_QMARK_(c)?(d=cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b,c){return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(b,a.cljs$core$IFn$_invoke$arity$1? -a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c))},c,c),b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d)):cljs.core.coll_QMARK_(c)?(d=cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.empty(c),cljs.core.map.cljs$core$IFn$_invoke$arity$2(a,c)),b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d)):b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)}; -clojure.walk.postwalk=function(a,b){return clojure.walk.walk(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(clojure.walk.postwalk,a),a,b)};clojure.walk.prewalk=function(a,b){return clojure.walk.walk(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(clojure.walk.prewalk,a),cljs.core.identity,a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b))}; -clojure.walk.keywordize_keys=function(a){return clojure.walk.postwalk(function(a){return function(b){return cljs.core.map_QMARK_(b)?cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(a,b)):b}}(function(a){var b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,1,null);return"string"===typeof b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(b), -a],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}),a)}; -clojure.walk.stringify_keys=function(a){return clojure.walk.postwalk(function(a){return function(b){return cljs.core.map_QMARK_(b)?cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(a,b)):b}}(function(a){var b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,1,null);return b instanceof cljs.core.Keyword?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE, -[cljs.core.name(b),a],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}),a)};clojure.walk.prewalk_replace=function(a,b){return clojure.walk.prewalk(function(b){return cljs.core.contains_QMARK_(a,b)?a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b):b},b)}; -clojure.walk.postwalk_replace=function(a,b){return clojure.walk.postwalk(function(b){return cljs.core.contains_QMARK_(a,b)?a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b):b},b)};var gadjett={collections:{}};gadjett.collections.infinity=Infinity;gadjett.collections.abs=function(a){var b=-a;return a>b?a:b};gadjett.collections.scale=function(a,b){return 0===a||0===b?1:gadjett.collections.abs(a)}; -gadjett.collections.almost_EQ_=function(a){switch(arguments.length){case 2:return gadjett.collections.almost_EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return gadjett.collections.almost_EQ_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -gadjett.collections.almost_EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return gadjett.collections.almost_EQ_.cljs$core$IFn$_invoke$arity$3(a,b,1E-5)};gadjett.collections.almost_EQ_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)||gadjett.collections.abs(a-b)<=gadjett.collections.scale(a,b)*c};gadjett.collections.almost_EQ_.cljs$lang$maxFixedArity=3; -gadjett.collections._EQ_set=function(a,b){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashSet.EMPTY,a),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashSet.EMPTY,b))}; -gadjett.collections._EQ_without_keys_QMARK_=function(a,b,c){return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core._EQ_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a){return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc,a,c)},new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)))};gadjett.collections.vec__GT_map=function(a){return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,a)}; -gadjett.collections.map_2d_vec=function(a,b){return cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(b){var c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)],null)},b)}; -gadjett.collections.map_2d_vec_kv=function(a,b,c){return cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(c){var d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d),b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)],null)},c)}; -gadjett.collections.map_object=function(a,b){return gadjett.collections.vec__GT_map(gadjett.collections.map_2d_vec(a,b))}; -gadjett.collections.map_object_with_key=function(a,b){return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(b){var c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,b):a.call(null,c,b)],null)},b))}; -gadjett.collections.map_object_kv=function(a,b,c){return gadjett.collections.vec__GT_map(gadjett.collections.map_2d_vec_kv(a,b,c))}; -gadjett.collections.map_reverse_hierarchy=function(a){var b=cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.merge_with,cljs.core.conj,function(){return function e(a){return new cljs.core.LazySeq(null,function(){for(var b=a;;){var d=cljs.core.seq(b);if(d){var h=d,k=cljs.core.first(h),l=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(k,0,null),m=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(k,1,null);d=function(a,b,d,e,f,g){return function x(h){return new cljs.core.LazySeq(null,function(a,b,d,e,f, -g){return function(){for(;;){var a=cljs.core.seq(h);if(a){if(cljs.core.chunked_seq_QMARK_(a)){var b=cljs.core.chunk_first(a),e=cljs.core.count(b),f=cljs.core.chunk_buffer(e);a:for(var g=0;;)if(g=c&&cljs.core.every_QMARK_(b,a)}}(a),a);return cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a,b){return function(a){return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,a)}}(a,d),d)}; -gadjett.collections.split_by_predicate_positions=function(a,b,c,d){b=cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a){return d*a},cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.count,gadjett.collections.split_by_predicate(cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2(d,a),b,c/d)));return gadjett.collections.positions.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$max_DASH_val,cljs.core.count(a)],0))}; -gadjett.collections.submap_QMARK_=function(a,b){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,cljs.core.select_keys(b,cljs.core.keys(a)))};gadjett.collections.subsequence=function(a,b,c){return cljs.core.take.cljs$core$IFn$_invoke$arity$2(c-b,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(b,a))}; -gadjett.collections.index_of=function(a,b){a=cljs.core.ffirst(cljs.core.filter.cljs$core$IFn$_invoke$arity$2(function(a){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.second(a),b)},cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)},a)));return cljs.core.truth_(a)?a:-1}; -gadjett.collections.flatten_keys_STAR_=function(a,b,c){return cljs.core.map_QMARK_(c)?cljs.core.seq(c)?cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(cljs.core.into,cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(c){var d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);d=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(b,d);return gadjett.collections.flatten_keys_STAR_.cljs$core$IFn$_invoke$arity$3?gadjett.collections.flatten_keys_STAR_.cljs$core$IFn$_invoke$arity$3(a, -d,c):gadjett.collections.flatten_keys_STAR_.call(null,a,d,c)},cljs.core.seq(c))):cljs.core.PersistentArrayMap.EMPTY:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,c)};gadjett.collections.flatten_keys=function(a){return gadjett.collections.flatten_keys_STAR_(cljs.core.PersistentArrayMap.EMPTY,cljs.core.PersistentVector.EMPTY,a)};gadjett.collections.unflatten_keys=function(a){return cljs.core.reduce_kv(function(a,c,d){return cljs.core.assoc_in(a,c,d)},cljs.core.PersistentArrayMap.EMPTY,a)}; -gadjett.collections.take_from_map=function(a,b){return gadjett.collections.unflatten_keys(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,gadjett.collections.flatten_keys(b))))};gadjett.collections.deep_merge_STAR_=function(a){for(var b=[],c=arguments.length,d=0;;)if(db}; -gadjett.collections.partition_between=function(a,b){a=cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(cljs.core.not_EQ_,!0,cljs.core.map.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.rest(b)));return cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.map,cljs.core.first),cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2(cljs.core.second,cljs.core.map.cljs$core$IFn$_invoke$arity$3(cljs.core.list,b,a)))}; -gadjett.collections.collify=function(a){return cljs.core.coll_QMARK_(a)?a:new cljs.core.List(null,a,null,1,null)}; -gadjett.collections.edn_zip=function(a){return clojure.zip.zipper(function(a){return cljs.core.vector_QMARK_(a)||cljs.core.map_QMARK_(a)||cljs.core.seq_QMARK_(a)},function(a){return cljs.core.vector_QMARK_(a)?cljs.core.vec(a):cljs.core.map_QMARK_(a)?cljs.core.vec(a):cljs.core.seq_QMARK_(a)?cljs.core.seq(a):null},function(a,c){return cljs.core.with_meta(cljs.core.vector_QMARK_(a)?cljs.core.vec(c):cljs.core.map_QMARK_(a)?cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY, -c):cljs.core.seq_QMARK_(a)?c:null,cljs.core.meta(a))},a)}; -gadjett.collections.loc_my_replace=function(a,b){a=cljs.core.find(a,clojure.zip.node(b));if(cljs.core.truth_(a)){var c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null),d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,1,null),e=cljs.core.seq(d),f=cljs.core.first(e),g=cljs.core.next(e),h=clojure.zip.replace(b,f);return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a,b,c,d,e,f,g,h,t,v,w){return function(a,b){return clojure.zip.insert_right(a,b)}}(b,h,a,c,d,e,f,g,f,g,a),h,cljs.core.reverse(g))}return b}; -gadjett.collections.my_replace=function(a,b){if(!cljs.core.every_QMARK_(cljs.core.seq_QMARK_,cljs.core.vals(a)))throw Error("Assert failed: (every? seq? (vals smap))");for(b=gadjett.collections.edn_zip(b);;){if(clojure.zip.end_QMARK_(b))return clojure.zip.root(b);b=clojure.zip.next(gadjett.collections.loc_my_replace(a,b))}};gadjett.collections.comment_QMARK_=function(a){return cljs.core.re_matches(/\s*;.*/,a)}; -gadjett.collections.remove_ending_comments=function(a){return clojure.string.join.cljs$core$IFn$_invoke$arity$2("\n",cljs.core.reverse(cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2(gadjett.collections.comment_QMARK_,cljs.core.reverse(clojure.string.split_lines(a)))))}; -gadjett.collections.fix_blank_lines=function(a){return clojure.string.join.cljs$core$IFn$_invoke$arity$2("\n",cljs.core.reverse(cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2(clojure.string.blank_QMARK_,cljs.core.reverse(cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2(clojure.string.blank_QMARK_,clojure.string.split_lines(a))))))}; -gadjett.collections.remove_blank_lines=function(a){return clojure.string.join.cljs$core$IFn$_invoke$arity$2("\n",cljs.core.remove.cljs$core$IFn$_invoke$arity$2(clojure.string.blank_QMARK_,clojure.string.split_lines(a)))};gadjett.collections.compact=function(a){for(var b=[],c=arguments.length,d=0;;)if(dc?0:c}())};gadjett.collections.substr.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=function(){var c=cljs.core.count(a);c=bc?0:c}(),e=function(){var b=cljs.core.count(a);return ba-b}}(c),b))}; -gadjett.core_fn.add_event=function(a,b,c){return cljs.core.update.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.partial.cljs$core$IFn$_invoke$arity$2(gadjett.core_fn.add_event_and_filter,c))};gadjett.core_fn.record_function_call=function(a,b){cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(gadjett.core_fn.history,gadjett.core_fn.add_event,a,(new Date).valueOf());return cljs.core.count(cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(gadjett.core_fn.history),a))<=cljs.core.cst$kw$max_DASH_function_DASH_calls.cljs$core$IFn$_invoke$arity$1(gadjett.core_fn.settings)}; -gadjett.core_fn.sort_history=function(a){return cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2(cljs.core.second,gadjett.collections.map_object(cljs.core.count,a))}; -gadjett.core_fn.the_history=function(a){switch(arguments.length){case 1:return gadjett.core_fn.the_history.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 0:return gadjett.core_fn.the_history.cljs$core$IFn$_invoke$arity$0();default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -gadjett.core_fn.the_history.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(gadjett.core_fn.history),a)};gadjett.core_fn.the_history.cljs$core$IFn$_invoke$arity$0=function(){return gadjett.core_fn.sort_history(cljs.core.deref(gadjett.core_fn.history))};gadjett.core_fn.the_history.cljs$lang$maxFixedArity=1; -gadjett.core_fn.function_call_err_msg=function(a,b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)," was called too much over the last ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$kw$timeslot_DASH_function_DASH_calls_DASH_msec.cljs$core$IFn$_invoke$arity$1(gadjett.core_fn.settings))," msec: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")};var klipse={core:{}};cljs.core.enable_console_print_BANG_();gadjett.core_fn.settings_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$max_DASH_function_DASH_calls,100],0));klipse.core.version="7.9.6";console.info("Klipse ",klipse.core.version);console.info("Clojurescript ",cljs.core._STAR_clojurescript_version_STAR_);goog.labs={};goog.labs.userAgent={};goog.labs.userAgent.util={};goog.labs.userAgent.util.getNativeUserAgentString_=function(){var a=goog.labs.userAgent.util.getNavigator_();return a&&(a=a.userAgent)?a:""};goog.labs.userAgent.util.getNavigator_=function(){return goog.global.navigator};goog.labs.userAgent.util.userAgent_=goog.labs.userAgent.util.getNativeUserAgentString_();goog.labs.userAgent.util.setUserAgent=function(a){goog.labs.userAgent.util.userAgent_=a||goog.labs.userAgent.util.getNativeUserAgentString_()}; -goog.labs.userAgent.util.getUserAgent=function(){return goog.labs.userAgent.util.userAgent_};goog.labs.userAgent.util.matchUserAgent=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.contains(b,a)};goog.labs.userAgent.util.matchUserAgentIgnoreCase=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.caseInsensitiveContains(b,a)}; -goog.labs.userAgent.util.extractVersionTuples=function(a){for(var b=/(\w[\w ]+)\/([^\s]+)\s*(?:\((.*?)\))?/g,c=[],d;d=b.exec(a);)c.push([d[1],d[2],d[3]||void 0]);return c};goog.labs.userAgent.browser={};goog.labs.userAgent.browser.matchOpera_=function(){return goog.labs.userAgent.util.matchUserAgent("Opera")};goog.labs.userAgent.browser.matchIE_=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.browser.matchEdge_=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")};goog.labs.userAgent.browser.matchFirefox_=function(){return goog.labs.userAgent.util.matchUserAgent("Firefox")}; -goog.labs.userAgent.browser.matchSafari_=function(){return goog.labs.userAgent.util.matchUserAgent("Safari")&&!(goog.labs.userAgent.browser.matchChrome_()||goog.labs.userAgent.browser.matchCoast_()||goog.labs.userAgent.browser.matchOpera_()||goog.labs.userAgent.browser.matchEdge_()||goog.labs.userAgent.browser.isSilk()||goog.labs.userAgent.util.matchUserAgent("Android"))};goog.labs.userAgent.browser.matchCoast_=function(){return goog.labs.userAgent.util.matchUserAgent("Coast")}; -goog.labs.userAgent.browser.matchIosWebview_=function(){return(goog.labs.userAgent.util.matchUserAgent("iPad")||goog.labs.userAgent.util.matchUserAgent("iPhone"))&&!goog.labs.userAgent.browser.matchSafari_()&&!goog.labs.userAgent.browser.matchChrome_()&&!goog.labs.userAgent.browser.matchCoast_()&&goog.labs.userAgent.util.matchUserAgent("AppleWebKit")}; -goog.labs.userAgent.browser.matchChrome_=function(){return(goog.labs.userAgent.util.matchUserAgent("Chrome")||goog.labs.userAgent.util.matchUserAgent("CriOS"))&&!goog.labs.userAgent.browser.matchEdge_()};goog.labs.userAgent.browser.matchAndroidBrowser_=function(){return goog.labs.userAgent.util.matchUserAgent("Android")&&!(goog.labs.userAgent.browser.isChrome()||goog.labs.userAgent.browser.isFirefox()||goog.labs.userAgent.browser.isOpera()||goog.labs.userAgent.browser.isSilk())}; -goog.labs.userAgent.browser.isOpera=goog.labs.userAgent.browser.matchOpera_;goog.labs.userAgent.browser.isIE=goog.labs.userAgent.browser.matchIE_;goog.labs.userAgent.browser.isEdge=goog.labs.userAgent.browser.matchEdge_;goog.labs.userAgent.browser.isFirefox=goog.labs.userAgent.browser.matchFirefox_;goog.labs.userAgent.browser.isSafari=goog.labs.userAgent.browser.matchSafari_;goog.labs.userAgent.browser.isCoast=goog.labs.userAgent.browser.matchCoast_;goog.labs.userAgent.browser.isIosWebview=goog.labs.userAgent.browser.matchIosWebview_; -goog.labs.userAgent.browser.isChrome=goog.labs.userAgent.browser.matchChrome_;goog.labs.userAgent.browser.isAndroidBrowser=goog.labs.userAgent.browser.matchAndroidBrowser_;goog.labs.userAgent.browser.isSilk=function(){return goog.labs.userAgent.util.matchUserAgent("Silk")}; -goog.labs.userAgent.browser.getVersion=function(){function a(a){a=goog.array.find(a,d);return c[a]||""}var b=goog.labs.userAgent.util.getUserAgent();if(goog.labs.userAgent.browser.isIE())return goog.labs.userAgent.browser.getIEVersion_(b);b=goog.labs.userAgent.util.extractVersionTuples(b);var c={};goog.array.forEach(b,function(a){c[a[0]]=a[1]});var d=goog.partial(goog.object.containsKey,c);return goog.labs.userAgent.browser.isOpera()?a(["Version","Opera"]):goog.labs.userAgent.browser.isEdge()?a(["Edge"]): -goog.labs.userAgent.browser.isChrome()?a(["Chrome","CriOS"]):(b=b[2])&&b[1]||""};goog.labs.userAgent.browser.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.browser.getVersion(),a)}; -goog.labs.userAgent.browser.getIEVersion_=function(a){var b=/rv: *([\d\.]*)/.exec(a);if(b&&b[1])return b[1];b="";var c=/MSIE +([\d\.]+)/.exec(a);if(c&&c[1])if(a=/Trident\/(\d.\d)/.exec(a),"7.0"==c[1])if(a&&a[1])switch(a[1]){case "4.0":b="8.0";break;case "5.0":b="9.0";break;case "6.0":b="10.0";break;case "7.0":b="11.0"}else b="7.0";else b=c[1];return b};goog.labs.userAgent.engine={};goog.labs.userAgent.engine.isPresto=function(){return goog.labs.userAgent.util.matchUserAgent("Presto")};goog.labs.userAgent.engine.isTrident=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.engine.isEdge=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")}; -goog.labs.userAgent.engine.isWebKit=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("WebKit")&&!goog.labs.userAgent.engine.isEdge()};goog.labs.userAgent.engine.isGecko=function(){return goog.labs.userAgent.util.matchUserAgent("Gecko")&&!goog.labs.userAgent.engine.isWebKit()&&!goog.labs.userAgent.engine.isTrident()&&!goog.labs.userAgent.engine.isEdge()}; -goog.labs.userAgent.engine.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent();if(a){a=goog.labs.userAgent.util.extractVersionTuples(a);var b=goog.labs.userAgent.engine.getEngineTuple_(a);if(b)return"Gecko"==b[0]?goog.labs.userAgent.engine.getVersionForKey_(a,"Firefox"):b[1];a=a[0];var c;if(a&&(c=a[2])&&(c=/Trident\/([^\s;]+)/.exec(c)))return c[1]}return""}; -goog.labs.userAgent.engine.getEngineTuple_=function(a){if(!goog.labs.userAgent.engine.isEdge())return a[1];for(var b=0;bparseFloat(a))?String(b):a}; -goog.userAgent.getVersionRegexResult_=function(){var a=goog.userAgent.getUserAgentString();if(goog.userAgent.GECKO)return/rv:([^\);]+)(\)|;)/.exec(a);if(goog.userAgent.EDGE)return/Edge\/([\d\.]+)/.exec(a);if(goog.userAgent.IE)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(goog.userAgent.WEBKIT)return/WebKit\/(\S+)/.exec(a);if(goog.userAgent.OPERA)return/(?:Version)[ \/]?(\S+)/.exec(a)};goog.userAgent.getDocumentMode_=function(){var a=goog.global.document;return a?a.documentMode:void 0}; -goog.userAgent.VERSION=goog.userAgent.determineVersion_();goog.userAgent.compare=function(a,b){return goog.string.compareVersions(a,b)};goog.userAgent.isVersionOrHigherCache_={};goog.userAgent.isVersionOrHigher=function(a){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,a,function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,a)})};goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher; -goog.userAgent.isDocumentModeOrHigher=function(a){return Number(goog.userAgent.DOCUMENT_MODE)>=a};goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher;goog.userAgent.DOCUMENT_MODE=function(){var a=goog.global.document,b=goog.userAgent.getDocumentMode_();if(a&&goog.userAgent.IE)return b||("CSS1Compat"==a.compatMode?parseInt(goog.userAgent.VERSION,10):5)}();goog.dom.BrowserFeature={CAN_ADD_NAME_OR_TYPE_ATTRIBUTES:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),CAN_USE_CHILDREN_ATTRIBUTE:!goog.userAgent.GECKO&&!goog.userAgent.IE||goog.userAgent.IE&&goog.userAgent.isDocumentModeOrHigher(9)||goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9.1"),CAN_USE_INNER_TEXT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),CAN_USE_PARENT_ELEMENT_PROPERTY:goog.userAgent.IE||goog.userAgent.OPERA||goog.userAgent.WEBKIT,INNER_HTML_NEEDS_SCOPED_ELEMENT:goog.userAgent.IE, -LEGACY_IE_RANGES:goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)};goog.dom.HtmlElement=function(){};goog.dom.TagName=function(a){this.tagName_=a};goog.dom.TagName.prototype.toString=function(){return this.tagName_};goog.dom.TagName.A=new goog.dom.TagName("A");goog.dom.TagName.ABBR=new goog.dom.TagName("ABBR");goog.dom.TagName.ACRONYM=new goog.dom.TagName("ACRONYM");goog.dom.TagName.ADDRESS=new goog.dom.TagName("ADDRESS");goog.dom.TagName.APPLET=new goog.dom.TagName("APPLET");goog.dom.TagName.AREA=new goog.dom.TagName("AREA");goog.dom.TagName.ARTICLE=new goog.dom.TagName("ARTICLE"); -goog.dom.TagName.ASIDE=new goog.dom.TagName("ASIDE");goog.dom.TagName.AUDIO=new goog.dom.TagName("AUDIO");goog.dom.TagName.B=new goog.dom.TagName("B");goog.dom.TagName.BASE=new goog.dom.TagName("BASE");goog.dom.TagName.BASEFONT=new goog.dom.TagName("BASEFONT");goog.dom.TagName.BDI=new goog.dom.TagName("BDI");goog.dom.TagName.BDO=new goog.dom.TagName("BDO");goog.dom.TagName.BIG=new goog.dom.TagName("BIG");goog.dom.TagName.BLOCKQUOTE=new goog.dom.TagName("BLOCKQUOTE");goog.dom.TagName.BODY=new goog.dom.TagName("BODY"); -goog.dom.TagName.BR=new goog.dom.TagName("BR");goog.dom.TagName.BUTTON=new goog.dom.TagName("BUTTON");goog.dom.TagName.CANVAS=new goog.dom.TagName("CANVAS");goog.dom.TagName.CAPTION=new goog.dom.TagName("CAPTION");goog.dom.TagName.CENTER=new goog.dom.TagName("CENTER");goog.dom.TagName.CITE=new goog.dom.TagName("CITE");goog.dom.TagName.CODE=new goog.dom.TagName("CODE");goog.dom.TagName.COL=new goog.dom.TagName("COL");goog.dom.TagName.COLGROUP=new goog.dom.TagName("COLGROUP"); -goog.dom.TagName.COMMAND=new goog.dom.TagName("COMMAND");goog.dom.TagName.DATA=new goog.dom.TagName("DATA");goog.dom.TagName.DATALIST=new goog.dom.TagName("DATALIST");goog.dom.TagName.DD=new goog.dom.TagName("DD");goog.dom.TagName.DEL=new goog.dom.TagName("DEL");goog.dom.TagName.DETAILS=new goog.dom.TagName("DETAILS");goog.dom.TagName.DFN=new goog.dom.TagName("DFN");goog.dom.TagName.DIALOG=new goog.dom.TagName("DIALOG");goog.dom.TagName.DIR=new goog.dom.TagName("DIR");goog.dom.TagName.DIV=new goog.dom.TagName("DIV"); -goog.dom.TagName.DL=new goog.dom.TagName("DL");goog.dom.TagName.DT=new goog.dom.TagName("DT");goog.dom.TagName.EM=new goog.dom.TagName("EM");goog.dom.TagName.EMBED=new goog.dom.TagName("EMBED");goog.dom.TagName.FIELDSET=new goog.dom.TagName("FIELDSET");goog.dom.TagName.FIGCAPTION=new goog.dom.TagName("FIGCAPTION");goog.dom.TagName.FIGURE=new goog.dom.TagName("FIGURE");goog.dom.TagName.FONT=new goog.dom.TagName("FONT");goog.dom.TagName.FOOTER=new goog.dom.TagName("FOOTER");goog.dom.TagName.FORM=new goog.dom.TagName("FORM"); -goog.dom.TagName.FRAME=new goog.dom.TagName("FRAME");goog.dom.TagName.FRAMESET=new goog.dom.TagName("FRAMESET");goog.dom.TagName.H1=new goog.dom.TagName("H1");goog.dom.TagName.H2=new goog.dom.TagName("H2");goog.dom.TagName.H3=new goog.dom.TagName("H3");goog.dom.TagName.H4=new goog.dom.TagName("H4");goog.dom.TagName.H5=new goog.dom.TagName("H5");goog.dom.TagName.H6=new goog.dom.TagName("H6");goog.dom.TagName.HEAD=new goog.dom.TagName("HEAD");goog.dom.TagName.HEADER=new goog.dom.TagName("HEADER"); -goog.dom.TagName.HGROUP=new goog.dom.TagName("HGROUP");goog.dom.TagName.HR=new goog.dom.TagName("HR");goog.dom.TagName.HTML=new goog.dom.TagName("HTML");goog.dom.TagName.I=new goog.dom.TagName("I");goog.dom.TagName.IFRAME=new goog.dom.TagName("IFRAME");goog.dom.TagName.IMG=new goog.dom.TagName("IMG");goog.dom.TagName.INPUT=new goog.dom.TagName("INPUT");goog.dom.TagName.INS=new goog.dom.TagName("INS");goog.dom.TagName.ISINDEX=new goog.dom.TagName("ISINDEX");goog.dom.TagName.KBD=new goog.dom.TagName("KBD"); -goog.dom.TagName.KEYGEN=new goog.dom.TagName("KEYGEN");goog.dom.TagName.LABEL=new goog.dom.TagName("LABEL");goog.dom.TagName.LEGEND=new goog.dom.TagName("LEGEND");goog.dom.TagName.LI=new goog.dom.TagName("LI");goog.dom.TagName.LINK=new goog.dom.TagName("LINK");goog.dom.TagName.MAP=new goog.dom.TagName("MAP");goog.dom.TagName.MARK=new goog.dom.TagName("MARK");goog.dom.TagName.MATH=new goog.dom.TagName("MATH");goog.dom.TagName.MENU=new goog.dom.TagName("MENU");goog.dom.TagName.META=new goog.dom.TagName("META"); -goog.dom.TagName.METER=new goog.dom.TagName("METER");goog.dom.TagName.NAV=new goog.dom.TagName("NAV");goog.dom.TagName.NOFRAMES=new goog.dom.TagName("NOFRAMES");goog.dom.TagName.NOSCRIPT=new goog.dom.TagName("NOSCRIPT");goog.dom.TagName.OBJECT=new goog.dom.TagName("OBJECT");goog.dom.TagName.OL=new goog.dom.TagName("OL");goog.dom.TagName.OPTGROUP=new goog.dom.TagName("OPTGROUP");goog.dom.TagName.OPTION=new goog.dom.TagName("OPTION");goog.dom.TagName.OUTPUT=new goog.dom.TagName("OUTPUT"); -goog.dom.TagName.P=new goog.dom.TagName("P");goog.dom.TagName.PARAM=new goog.dom.TagName("PARAM");goog.dom.TagName.PRE=new goog.dom.TagName("PRE");goog.dom.TagName.PROGRESS=new goog.dom.TagName("PROGRESS");goog.dom.TagName.Q=new goog.dom.TagName("Q");goog.dom.TagName.RP=new goog.dom.TagName("RP");goog.dom.TagName.RT=new goog.dom.TagName("RT");goog.dom.TagName.RUBY=new goog.dom.TagName("RUBY");goog.dom.TagName.S=new goog.dom.TagName("S");goog.dom.TagName.SAMP=new goog.dom.TagName("SAMP"); -goog.dom.TagName.SCRIPT=new goog.dom.TagName("SCRIPT");goog.dom.TagName.SECTION=new goog.dom.TagName("SECTION");goog.dom.TagName.SELECT=new goog.dom.TagName("SELECT");goog.dom.TagName.SMALL=new goog.dom.TagName("SMALL");goog.dom.TagName.SOURCE=new goog.dom.TagName("SOURCE");goog.dom.TagName.SPAN=new goog.dom.TagName("SPAN");goog.dom.TagName.STRIKE=new goog.dom.TagName("STRIKE");goog.dom.TagName.STRONG=new goog.dom.TagName("STRONG");goog.dom.TagName.STYLE=new goog.dom.TagName("STYLE"); -goog.dom.TagName.SUB=new goog.dom.TagName("SUB");goog.dom.TagName.SUMMARY=new goog.dom.TagName("SUMMARY");goog.dom.TagName.SUP=new goog.dom.TagName("SUP");goog.dom.TagName.SVG=new goog.dom.TagName("SVG");goog.dom.TagName.TABLE=new goog.dom.TagName("TABLE");goog.dom.TagName.TBODY=new goog.dom.TagName("TBODY");goog.dom.TagName.TD=new goog.dom.TagName("TD");goog.dom.TagName.TEMPLATE=new goog.dom.TagName("TEMPLATE");goog.dom.TagName.TEXTAREA=new goog.dom.TagName("TEXTAREA");goog.dom.TagName.TFOOT=new goog.dom.TagName("TFOOT"); -goog.dom.TagName.TH=new goog.dom.TagName("TH");goog.dom.TagName.THEAD=new goog.dom.TagName("THEAD");goog.dom.TagName.TIME=new goog.dom.TagName("TIME");goog.dom.TagName.TITLE=new goog.dom.TagName("TITLE");goog.dom.TagName.TR=new goog.dom.TagName("TR");goog.dom.TagName.TRACK=new goog.dom.TagName("TRACK");goog.dom.TagName.TT=new goog.dom.TagName("TT");goog.dom.TagName.U=new goog.dom.TagName("U");goog.dom.TagName.UL=new goog.dom.TagName("UL");goog.dom.TagName.VAR=new goog.dom.TagName("VAR"); -goog.dom.TagName.VIDEO=new goog.dom.TagName("VIDEO");goog.dom.TagName.WBR=new goog.dom.TagName("WBR");goog.dom.asserts={};goog.dom.asserts.assertIsLocation=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.Location&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.Location||!(a instanceof b.Element)),"Argument is not a Location (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a}; -goog.dom.asserts.assertIsHTMLAnchorElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.HTMLAnchorElement&&"undefined"!=typeof b.Location&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.HTMLAnchorElement||!(a instanceof b.Location||a instanceof b.Element)),"Argument is not a HTMLAnchorElement (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a}; -goog.dom.asserts.assertIsHTMLLinkElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.HTMLLinkElement&&"undefined"!=typeof b.Location&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.HTMLLinkElement||!(a instanceof b.Location||a instanceof b.Element)),"Argument is not a HTMLLinkElement (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a}; -goog.dom.asserts.assertIsHTMLImageElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.HTMLImageElement&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.HTMLImageElement||!(a instanceof b.Element)),"Argument is not a HTMLImageElement (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a}; -goog.dom.asserts.assertIsHTMLEmbedElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.HTMLEmbedElement&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.HTMLEmbedElement||!(a instanceof b.Element)),"Argument is not a HTMLEmbedElement (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a}; -goog.dom.asserts.assertIsHTMLFrameElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.HTMLFrameElement&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.HTMLFrameElement||!(a instanceof b.Element)),"Argument is not a HTMLFrameElement (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a}; -goog.dom.asserts.assertIsHTMLIFrameElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.HTMLIFrameElement&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.HTMLIFrameElement||!(a instanceof b.Element)),"Argument is not a HTMLIFrameElement (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a}; -goog.dom.asserts.assertIsHTMLObjectElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.HTMLObjectElement&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.HTMLObjectElement||!(a instanceof b.Element)),"Argument is not a HTMLObjectElement (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a}; -goog.dom.asserts.assertIsHTMLScriptElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.HTMLScriptElement&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.HTMLScriptElement||!(a instanceof b.Element)),"Argument is not a HTMLScriptElement (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a}; -goog.dom.asserts.debugStringForType_=function(a){return goog.isObject(a)?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):void 0===a?"undefined":null===a?"null":typeof a};goog.dom.asserts.getWindow_=function(a){return(a=a&&a.ownerDocument)&&(a.defaultView||a.parentWindow)||goog.global};goog.dom.tags={};goog.dom.tags.VOID_TAGS_={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0};goog.dom.tags.isVoidTag=function(a){return!0===goog.dom.tags.VOID_TAGS_[a]};goog.string.TypedString=function(){};goog.string.Const=function(){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_="";this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_};goog.string.Const.prototype.implementsGoogStringTypedString=!0;goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_}; -goog.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"};goog.string.Const.unwrap=function(a){if(a instanceof goog.string.Const&&a.constructor===goog.string.Const&&a.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_)return a.stringConstValueWithSecurityContract__googStringSecurityPrivate_;goog.asserts.fail("expected object of type Const, got '"+a+"'");return"type_error:Const"}; -goog.string.Const.from=function(a){return goog.string.Const.create__googStringSecurityPrivate_(a)};goog.string.Const.TYPE_MARKER_={};goog.string.Const.create__googStringSecurityPrivate_=function(a){var b=new goog.string.Const;b.stringConstValueWithSecurityContract__googStringSecurityPrivate_=a;return b};goog.string.Const.EMPTY=goog.string.Const.from("");goog.html={};goog.html.SafeScript=function(){this.privateDoNotAccessOrElseSafeScriptWrappedValue_="";this.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeScript.prototype.implementsGoogStringTypedString=!0;goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.SafeScript.fromConstant=function(a){a=goog.string.Const.unwrap(a);return 0===a.length?goog.html.SafeScript.EMPTY:goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(a)}; -goog.html.SafeScript.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeScriptWrappedValue_};goog.DEBUG&&(goog.html.SafeScript.prototype.toString=function(){return"SafeScript{"+this.privateDoNotAccessOrElseSafeScriptWrappedValue_+"}"}); -goog.html.SafeScript.unwrap=function(a){if(a instanceof goog.html.SafeScript&&a.constructor===goog.html.SafeScript&&a.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeScriptWrappedValue_;goog.asserts.fail("expected object of type SafeScript, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeScript"};goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse=function(a){return(new goog.html.SafeScript).initSecurityPrivateDoNotAccessOrElse_(a)}; -goog.html.SafeScript.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a){this.privateDoNotAccessOrElseSafeScriptWrappedValue_=a;return this};goog.html.SafeScript.EMPTY=goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse("");goog.fs={};goog.fs.url={};goog.fs.url.createObjectUrl=function(a){return goog.fs.url.getUrlObject_().createObjectURL(a)};goog.fs.url.revokeObjectUrl=function(a){goog.fs.url.getUrlObject_().revokeObjectURL(a)};goog.fs.url.getUrlObject_=function(){var a=goog.fs.url.findUrlObject_();if(null!=a)return a;throw Error("This browser doesn't seem to support blob URLs");}; -goog.fs.url.findUrlObject_=function(){return goog.isDef(goog.global.URL)&&goog.isDef(goog.global.URL.createObjectURL)?goog.global.URL:goog.isDef(goog.global.webkitURL)&&goog.isDef(goog.global.webkitURL.createObjectURL)?goog.global.webkitURL:goog.isDef(goog.global.createObjectURL)?goog.global:null};goog.fs.url.browserSupportsObjectUrls=function(){return null!=goog.fs.url.findUrlObject_()};goog.i18n={};goog.i18n.bidi={};goog.i18n.bidi.FORCE_RTL=!1; -goog.i18n.bidi.IS_RTL=goog.i18n.bidi.FORCE_RTL||("ar"==goog.LOCALE.substring(0,2).toLowerCase()||"fa"==goog.LOCALE.substring(0,2).toLowerCase()||"he"==goog.LOCALE.substring(0,2).toLowerCase()||"iw"==goog.LOCALE.substring(0,2).toLowerCase()||"ps"==goog.LOCALE.substring(0,2).toLowerCase()||"sd"==goog.LOCALE.substring(0,2).toLowerCase()||"ug"==goog.LOCALE.substring(0,2).toLowerCase()||"ur"==goog.LOCALE.substring(0,2).toLowerCase()||"yi"==goog.LOCALE.substring(0,2).toLowerCase())&&(2==goog.LOCALE.length|| -"-"==goog.LOCALE.substring(2,3)||"_"==goog.LOCALE.substring(2,3))||3<=goog.LOCALE.length&&"ckb"==goog.LOCALE.substring(0,3).toLowerCase()&&(3==goog.LOCALE.length||"-"==goog.LOCALE.substring(3,4)||"_"==goog.LOCALE.substring(3,4));goog.i18n.bidi.Format={LRE:"‪",RLE:"‫",PDF:"‬",LRM:"‎",RLM:"‏"};goog.i18n.bidi.Dir={LTR:1,RTL:-1,NEUTRAL:0};goog.i18n.bidi.RIGHT="right";goog.i18n.bidi.LEFT="left";goog.i18n.bidi.I18N_RIGHT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT; -goog.i18n.bidi.I18N_LEFT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT;goog.i18n.bidi.toDir=function(a,b){return"number"==typeof a?0a?goog.i18n.bidi.Dir.RTL:b?null:goog.i18n.bidi.Dir.NEUTRAL:null==a?null:a?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR};goog.i18n.bidi.ltrChars_="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-￿";goog.i18n.bidi.rtlChars_="֑-ۯۺ-߿‏יִ-﷿ﹰ-ﻼ";goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g; -goog.i18n.bidi.stripHtmlIfNeeded_=function(a,b){return b?a.replace(goog.i18n.bidi.htmlSkipReg_,""):a};goog.i18n.bidi.rtlCharReg_=new RegExp("["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.ltrCharReg_=new RegExp("["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.hasAnyRtl=function(a,b){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl; -goog.i18n.bidi.hasAnyLtr=function(a,b){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.ltrRe_=new RegExp("^["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.rtlRe_=new RegExp("^["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.isRtlChar=function(a){return goog.i18n.bidi.rtlRe_.test(a)};goog.i18n.bidi.isLtrChar=function(a){return goog.i18n.bidi.ltrRe_.test(a)};goog.i18n.bidi.isNeutralChar=function(a){return!goog.i18n.bidi.isLtrChar(a)&&!goog.i18n.bidi.isRtlChar(a)}; -goog.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.startsWithRtl=function(a,b){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl; -goog.i18n.bidi.startsWithLtr=function(a,b){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr;goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/;goog.i18n.bidi.isNeutralText=function(a,b){a=goog.i18n.bidi.stripHtmlIfNeeded_(a,b);return goog.i18n.bidi.isRequiredLtrRe_.test(a)||!goog.i18n.bidi.hasAnyLtr(a)&&!goog.i18n.bidi.hasAnyRtl(a)}; -goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$");goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$");goog.i18n.bidi.endsWithLtr=function(a,b){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr; -goog.i18n.bidi.endsWithRtl=function(a,b){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl;goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Arab|Hebr|Thaa|Nkoo|Tfng))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;goog.i18n.bidi.isRtlLanguage=function(a){return goog.i18n.bidi.rtlLocalesRe_.test(a)};goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g; -goog.i18n.bidi.guardBracketInText=function(a,b){b=(void 0===b?goog.i18n.bidi.hasAnyRtl(a):b)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM;return a.replace(goog.i18n.bidi.bracketGuardTextRe_,b+"$\x26"+b)};goog.i18n.bidi.enforceRtlInHtml=function(a){return"\x3c"==a.charAt(0)?a.replace(/<\w+/,"$\x26 dir\x3drtl"):"\n\x3cspan dir\x3drtl\x3e"+a+"\x3c/span\x3e"};goog.i18n.bidi.enforceRtlInText=function(a){return goog.i18n.bidi.Format.RLE+a+goog.i18n.bidi.Format.PDF}; -goog.i18n.bidi.enforceLtrInHtml=function(a){return"\x3c"==a.charAt(0)?a.replace(/<\w+/,"$\x26 dir\x3dltr"):"\n\x3cspan dir\x3dltr\x3e"+a+"\x3c/span\x3e"};goog.i18n.bidi.enforceLtrInText=function(a){return goog.i18n.bidi.Format.LRE+a+goog.i18n.bidi.Format.PDF};goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g;goog.i18n.bidi.leftRe_=/left/gi;goog.i18n.bidi.rightRe_=/right/gi;goog.i18n.bidi.tempRe_=/%%%%/g; -goog.i18n.bidi.mirrorCSS=function(a){return a.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)};goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g;goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g; -goog.i18n.bidi.normalizeHebrewQuote=function(a){return a.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1״").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1׳")};goog.i18n.bidi.wordSeparatorRe_=/\s+/;goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/;goog.i18n.bidi.rtlDetectionThreshold_=.4; -goog.i18n.bidi.estimateDirection=function(a,b){var c=0,d=0,e=!1;a=goog.i18n.bidi.stripHtmlIfNeeded_(a,b).split(goog.i18n.bidi.wordSeparatorRe_);for(b=0;bgoog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR}; -goog.i18n.bidi.detectRtlDirectionality=function(a,b){return goog.i18n.bidi.estimateDirection(a,b)==goog.i18n.bidi.Dir.RTL};goog.i18n.bidi.setElementDirAndAlign=function(a,b){a&&(b=goog.i18n.bidi.toDir(b))&&(a.style.textAlign=b==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,a.dir=b==goog.i18n.bidi.Dir.RTL?"rtl":"ltr")}; -goog.i18n.bidi.setElementDirByTextDirectionality=function(a,b){switch(goog.i18n.bidi.estimateDirection(b)){case goog.i18n.bidi.Dir.LTR:a.dir="ltr";break;case goog.i18n.bidi.Dir.RTL:a.dir="rtl";break;default:a.removeAttribute("dir")}};goog.i18n.bidi.DirectionalString=function(){};goog.html.TrustedResourceUrl=function(){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_="";this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0;goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_}; -goog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0;goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR};goog.DEBUG&&(goog.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"}); -goog.html.TrustedResourceUrl.unwrap=function(a){if(a instanceof goog.html.TrustedResourceUrl&&a.constructor===goog.html.TrustedResourceUrl&&a.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_;goog.asserts.fail("expected object of type TrustedResourceUrl, got '"+a+"' of type "+goog.typeOf(a));return"type_error:TrustedResourceUrl"}; -goog.html.TrustedResourceUrl.format=function(a,b){a=goog.html.TrustedResourceUrl.format_(a,b);return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(a)}; -goog.html.TrustedResourceUrl.format_=function(a,b){var c=goog.string.Const.unwrap(a);if(!goog.html.TrustedResourceUrl.BASE_URL_.test(c))throw Error("Invalid TrustedResourceUrl format: "+c);return c.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_,function(a,e){if(!Object.prototype.hasOwnProperty.call(b,e))throw Error('Found marker, "'+e+'", in format string, "'+c+'", but no valid label mapping found in args: '+JSON.stringify(b));a=b[e];return a instanceof goog.string.Const?goog.string.Const.unwrap(a): -encodeURIComponent(String(a))})};goog.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\w+)}/g;goog.html.TrustedResourceUrl.BASE_URL_=/^(?:https:)?\/\/[0-9a-z.:[\]-]+\/|^\/[^\/\\]|^about:blank(#|$)/i;goog.html.TrustedResourceUrl.formatWithParams=function(a,b,c){a=goog.html.TrustedResourceUrl.format_(a,b);b=/\?/.test(a)?"\x26":"?";for(var d in c)null!=c[d]&&(a+=b+encodeURIComponent(d)+"\x3d"+encodeURIComponent(String(c[d])),b="\x26");return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(a)}; -goog.html.TrustedResourceUrl.fromConstant=function(a){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(a))};goog.html.TrustedResourceUrl.fromConstants=function(a){for(var b="",c=0;c]/.test(a),"Forbidden characters in style string: "+a)};goog.html.SafeStyle.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_};goog.DEBUG&&(goog.html.SafeStyle.prototype.toString=function(){return"SafeStyle{"+this.privateDoNotAccessOrElseSafeStyleWrappedValue_+"}"}); -goog.html.SafeStyle.unwrap=function(a){if(a instanceof goog.html.SafeStyle&&a.constructor===goog.html.SafeStyle&&a.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeStyleWrappedValue_;goog.asserts.fail("expected object of type SafeStyle, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeStyle"};goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse=function(a){return(new goog.html.SafeStyle).initSecurityPrivateDoNotAccessOrElse_(a)}; -goog.html.SafeStyle.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a){this.privateDoNotAccessOrElseSafeStyleWrappedValue_=a;return this};goog.html.SafeStyle.EMPTY=goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse("");goog.html.SafeStyle.INNOCUOUS_STRING="zClosurez"; -goog.html.SafeStyle.create=function(a){var b="",c;for(c in a){if(!/^[-_a-zA-Z0-9]+$/.test(c))throw Error("Name allows only [-_a-zA-Z0-9], got: "+c);var d=a[c];null!=d&&(d=goog.isArray(d)?goog.array.map(d,goog.html.SafeStyle.sanitizePropertyValue_).join(" "):goog.html.SafeStyle.sanitizePropertyValue_(d),b+=c+":"+d+";")}if(!b)return goog.html.SafeStyle.EMPTY;goog.html.SafeStyle.checkStyle_(b);return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b)}; -goog.html.SafeStyle.sanitizePropertyValue_=function(a){if(a instanceof goog.html.SafeUrl)return'url("'+goog.html.SafeUrl.unwrap(a).replace(/+~[\]()=^$|]+$/.test(c))throw Error("Selector allows only [-_a-zA-Z0-9#.:* ,\x3e+~[\\]()\x3d^$|] and strings, got: "+a);if(!goog.html.SafeStyleSheet.hasBalancedBrackets_(c))throw Error("() and [] in selector must be balanced, got: "+a);b instanceof goog.html.SafeStyle||(b=goog.html.SafeStyle.create(b)); -a=a+"{"+goog.html.SafeStyle.unwrap(b)+"}";return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(a)};goog.html.SafeStyleSheet.hasBalancedBrackets_=function(a){for(var b={"(":")","[":"]"},c=[],d=0;da.aspectRatio()?a.width/this.width:a.height/this.height;return this.scale(a)};goog.dom.ASSUME_QUIRKS_MODE=!1;goog.dom.ASSUME_STANDARDS_MODE=!1;goog.dom.COMPAT_MODE_KNOWN_=goog.dom.ASSUME_QUIRKS_MODE||goog.dom.ASSUME_STANDARDS_MODE;goog.dom.getDomHelper=function(a){return a?new goog.dom.DomHelper(goog.dom.getOwnerDocument(a)):goog.dom.defaultDomHelper_||(goog.dom.defaultDomHelper_=new goog.dom.DomHelper)};goog.dom.getDocument=function(){return document};goog.dom.getElement=function(a){return goog.dom.getElementHelper_(document,a)}; -goog.dom.getElementHelper_=function(a,b){return goog.isString(b)?a.getElementById(b):b};goog.dom.getRequiredElement=function(a){return goog.dom.getRequiredElementHelper_(document,a)};goog.dom.getRequiredElementHelper_=function(a,b){goog.asserts.assertString(b);a=goog.dom.getElementHelper_(a,b);return a=goog.asserts.assertElement(a,"No element found with id: "+b)};goog.dom.$=goog.dom.getElement;goog.dom.getElementsByTagName=function(a,b){return(b||document).getElementsByTagName(String(a))}; -goog.dom.getElementsByTagNameAndClass=function(a,b,c){return goog.dom.getElementsByTagNameAndClass_(document,a,b,c)};goog.dom.getElementByTagNameAndClass=function(a,b,c){return goog.dom.getElementByTagNameAndClass_(document,a,b,c)};goog.dom.getElementsByClass=function(a,b){var c=b||document;return goog.dom.canUseQuerySelector_(c)?c.querySelectorAll("."+a):goog.dom.getElementsByTagNameAndClass_(document,"*",a,b)}; -goog.dom.getElementByClass=function(a,b){var c=b||document;return(c.getElementsByClassName?c.getElementsByClassName(a)[0]:goog.dom.getElementByTagNameAndClass_(document,"*",a,b))||null};goog.dom.getRequiredElementByClass=function(a,b){b=goog.dom.getElementByClass(a,b);return goog.asserts.assert(b,"No element found with className: "+a)};goog.dom.canUseQuerySelector_=function(a){return!(!a.querySelectorAll||!a.querySelector)}; -goog.dom.getElementsByTagNameAndClass_=function(a,b,c,d){a=d||a;b=b&&"*"!=b?String(b).toUpperCase():"";if(goog.dom.canUseQuerySelector_(a)&&(b||c))return a.querySelectorAll(b+(c?"."+c:""));if(c&&a.getElementsByClassName){a=a.getElementsByClassName(c);if(b){d={};for(var e=0,f=0,g;g=a[f];f++)b==g.nodeName&&(d[e++]=g);d.length=e;return d}return a}a=a.getElementsByTagName(b||"*");if(c){d={};for(f=e=0;g=a[f];f++)b=g.className,"function"==typeof b.split&&goog.array.contains(b.split(/\s+/),c)&&(d[e++]=g); -d.length=e;return d}return a};goog.dom.getElementByTagNameAndClass_=function(a,b,c,d){var e=d||a,f=b&&"*"!=b?String(b).toUpperCase():"";return goog.dom.canUseQuerySelector_(e)&&(f||c)?e.querySelector(f+(c?"."+c:"")):goog.dom.getElementsByTagNameAndClass_(a,b,c,d)[0]||null};goog.dom.$$=goog.dom.getElementsByTagNameAndClass; -goog.dom.setProperties=function(a,b){goog.object.forEach(b,function(b,d){b&&b.implementsGoogStringTypedString&&(b=b.getTypedStringValue());"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:goog.dom.DIRECT_ATTRIBUTE_MAP_.hasOwnProperty(d)?a.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[d],b):goog.string.startsWith(d,"aria-")||goog.string.startsWith(d,"data-")?a.setAttribute(d,b):a[d]=b})}; -goog.dom.DIRECT_ATTRIBUTE_MAP_={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"};goog.dom.getViewportSize=function(a){return goog.dom.getViewportSize_(a||window)};goog.dom.getViewportSize_=function(a){a=a.document;a=goog.dom.isCss1CompatMode_(a)?a.documentElement:a.body;return new goog.math.Size(a.clientWidth,a.clientHeight)}; -goog.dom.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(window)};goog.dom.getDocumentHeightForWindow=function(a){return goog.dom.getDocumentHeight_(a)}; -goog.dom.getDocumentHeight_=function(a){var b=a.document,c=0;if(b){c=b.body;var d=b.documentElement;if(!d||!c)return 0;a=goog.dom.getViewportSize_(a).height;if(goog.dom.isCss1CompatMode_(b)&&d.scrollHeight)c=d.scrollHeight!=a?d.scrollHeight:d.offsetHeight;else{b=d.scrollHeight;var e=d.offsetHeight;d.clientHeight!=e&&(b=c.scrollHeight,e=c.offsetHeight);c=b>a?b>e?b:e:ba};goog.dom.nativelySupportsFocus_=function(a){return"A"==a.tagName||"INPUT"==a.tagName||"TEXTAREA"==a.tagName||"SELECT"==a.tagName||"BUTTON"==a.tagName};goog.dom.hasNonZeroBoundingRect_=function(a){a=!goog.isFunction(a.getBoundingClientRect)||goog.userAgent.IE&&null==a.parentElement?{height:a.offsetHeight,width:a.offsetWidth}:a.getBoundingClientRect();return goog.isDefAndNotNull(a)&&0=this.branches_&&this.cancel()};goog.async.Deferred.prototype.continue_=function(a,b){this.blocked_=!1;this.updateResult_(a,b)};goog.async.Deferred.prototype.updateResult_=function(a,b){this.fired_=!0;this.result_=b;this.hadError_=!a;this.fire_()};goog.async.Deferred.prototype.check_=function(){if(this.hasFired()){if(!this.silentlyCanceled_)throw new goog.async.Deferred.AlreadyCalledError(this);this.silentlyCanceled_=!1}}; -goog.async.Deferred.prototype.callback=function(a){this.check_();this.assertNotDeferred_(a);this.updateResult_(!0,a)};goog.async.Deferred.prototype.errback=function(a){this.check_();this.assertNotDeferred_(a);this.makeStackTraceLong_(a);this.updateResult_(!1,a)};goog.async.Deferred.prototype.makeStackTraceLong_=function(a){goog.async.Deferred.LONG_STACK_TRACES&&this.constructorStack_&&goog.isObject(a)&&a.stack&&/^[^\n]+(\n [^\n]+)+/.test(a.stack)&&(a.stack=a.stack+"\nDEFERRED OPERATION:\n"+this.constructorStack_)}; -goog.async.Deferred.prototype.assertNotDeferred_=function(a){goog.asserts.assert(!(a instanceof goog.async.Deferred),"An execution sequence may not be initiated with a blocking Deferred.")};goog.async.Deferred.prototype.addCallback=function(a,b){return this.addCallbacks(a,null,b)};goog.async.Deferred.prototype.addErrback=function(a,b){return this.addCallbacks(null,a,b)};goog.async.Deferred.prototype.addBoth=function(a,b){return this.addCallbacks(a,a,b)}; -goog.async.Deferred.prototype.addFinally=function(a,b){return this.addCallbacks(a,function(b){var c=a.call(this,b);if(!goog.isDef(c))throw b;return c},b)};goog.async.Deferred.prototype.addCallbacks=function(a,b,c){goog.asserts.assert(!this.blocking_,"Blocking Deferreds can not be re-used");this.sequence_.push([a,b,c]);this.hasFired()&&this.fire_();return this}; -goog.async.Deferred.prototype.then=function(a,b,c){var d,e,f=new goog.Promise(function(a,b){d=a;e=b});this.addCallbacks(d,function(a){a instanceof goog.async.Deferred.CanceledError?f.cancel():e(a)});return f.then(a,b,c)};goog.Thenable.addImplementation(goog.async.Deferred);goog.async.Deferred.prototype.chainDeferred=function(a){this.addCallbacks(a.callback,a.errback,a);return this}; -goog.async.Deferred.prototype.awaitDeferred=function(a){return a instanceof goog.async.Deferred?this.addCallback(goog.bind(a.branch,a)):this.addCallback(function(){return a})};goog.async.Deferred.prototype.branch=function(a){var b=new goog.async.Deferred;this.chainDeferred(b);a&&(b.parent_=this,this.branches_++);return b};goog.async.Deferred.prototype.hasFired=function(){return this.fired_};goog.async.Deferred.prototype.isError=function(a){return a instanceof Error}; -goog.async.Deferred.prototype.hasErrback_=function(){return goog.array.some(this.sequence_,function(a){return goog.isFunction(a[1])})}; -goog.async.Deferred.prototype.fire_=function(){this.unhandledErrorId_&&this.hasFired()&&this.hasErrback_()&&(goog.async.Deferred.unscheduleError_(this.unhandledErrorId_),this.unhandledErrorId_=0);this.parent_&&(this.parent_.branches_--,delete this.parent_);for(var a=this.result_,b=!1,c=!1;this.sequence_.length&&!this.blocked_;){var d=this.sequence_.shift(),e=d[0],f=d[1];d=d[2];if(e=this.hadError_?f:e)try{var g=e.call(d||this.defaultScope_,a);goog.isDef(g)&&(this.hadError_=this.hadError_&&(g==a||this.isError(g)), -this.result_=a=g);if(goog.Thenable.isImplementedBy(a)||"function"===typeof goog.global.Promise&&a instanceof goog.global.Promise)this.blocked_=c=!0}catch(h){a=h,this.hadError_=!0,this.makeStackTraceLong_(a),this.hasErrback_()||(b=!0)}}this.result_=a;c?(c=goog.bind(this.continue_,this,!0),g=goog.bind(this.continue_,this,!1),a instanceof goog.async.Deferred?(a.addCallbacks(c,g),a.blocking_=!0):a.then(c,g)):!goog.async.Deferred.STRICT_ERRORS||!this.isError(a)||a instanceof goog.async.Deferred.CanceledError|| -(b=this.hadError_=!0);b&&(this.unhandledErrorId_=goog.async.Deferred.scheduleError_(a))};goog.async.Deferred.succeed=function(a){var b=new goog.async.Deferred;b.callback(a);return b};goog.async.Deferred.fromPromise=function(a){var b=new goog.async.Deferred;b.callback();b.addCallback(function(){return a});return b};goog.async.Deferred.fail=function(a){var b=new goog.async.Deferred;b.errback(a);return b};goog.async.Deferred.canceled=function(){var a=new goog.async.Deferred;a.cancel();return a}; -goog.async.Deferred.when=function(a,b,c){return a instanceof goog.async.Deferred?a.branch(!0).addCallback(b,c):goog.async.Deferred.succeed(a).addCallback(b,c)};goog.async.Deferred.AlreadyCalledError=function(a){goog.debug.Error.call(this);this.deferred=a};goog.inherits(goog.async.Deferred.AlreadyCalledError,goog.debug.Error);goog.async.Deferred.AlreadyCalledError.prototype.message="Deferred has already fired";goog.async.Deferred.AlreadyCalledError.prototype.name="AlreadyCalledError"; -goog.async.Deferred.CanceledError=function(a){goog.debug.Error.call(this);this.deferred=a};goog.inherits(goog.async.Deferred.CanceledError,goog.debug.Error);goog.async.Deferred.CanceledError.prototype.message="Deferred was canceled";goog.async.Deferred.CanceledError.prototype.name="CanceledError";goog.async.Deferred.Error_=function(a){this.id_=goog.global.setTimeout(goog.bind(this.throwError,this),0);this.error_=a}; -goog.async.Deferred.Error_.prototype.throwError=function(){goog.asserts.assert(goog.async.Deferred.errorMap_[this.id_],"Cannot throw an error that is not scheduled.");delete goog.async.Deferred.errorMap_[this.id_];throw this.error_;};goog.async.Deferred.Error_.prototype.resetTimer=function(){goog.global.clearTimeout(this.id_)};goog.async.Deferred.errorMap_={};goog.async.Deferred.scheduleError_=function(a){a=new goog.async.Deferred.Error_(a);goog.async.Deferred.errorMap_[a.id_]=a;return a.id_}; -goog.async.Deferred.unscheduleError_=function(a){var b=goog.async.Deferred.errorMap_[a];b&&(b.resetTimer(),delete goog.async.Deferred.errorMap_[a])};goog.async.Deferred.assertNoErrors=function(){var a=goog.async.Deferred.errorMap_,b;for(b in a){var c=a[b];c.resetTimer();c.throwError()}};goog.net={};goog.net.jsloader={};goog.net.jsloader.GLOBAL_VERIFY_OBJS_="closure_verification";goog.net.jsloader.DEFAULT_TIMEOUT=5E3;goog.net.jsloader.scriptsToLoad_=[]; -goog.net.jsloader.safeLoadMany=function(a,b){if(!a.length)return goog.async.Deferred.succeed(null);var c=goog.net.jsloader.scriptsToLoad_.length;goog.array.extend(goog.net.jsloader.scriptsToLoad_,a);if(c)return goog.net.jsloader.scriptLoadingDeferred_;a=goog.net.jsloader.scriptsToLoad_;var d=function(){var c=a.shift();c=goog.net.jsloader.safeLoad(c,b);a.length&&c.addBoth(d);return c};goog.net.jsloader.scriptLoadingDeferred_=d();return goog.net.jsloader.scriptLoadingDeferred_}; -goog.net.jsloader.safeLoad=function(a,b){var c=b||{};b=c.document||document;var d=goog.html.TrustedResourceUrl.unwrap(a),e=goog.dom.createElement("SCRIPT"),f={script_:e,timeout_:void 0},g=new goog.async.Deferred(goog.net.jsloader.cancel_,f),h=null,k=goog.isDefAndNotNull(c.timeout)?c.timeout:goog.net.jsloader.DEFAULT_TIMEOUT;0=a.keyCode)a.keyCode=-1}catch(b){}};goog.events.BrowserEvent.prototype.getBrowserEvent=function(){return this.event_};goog.events.Listenable=function(){};goog.events.Listenable.IMPLEMENTED_BY_PROP="closure_listenable_"+(1E6*Math.random()|0);goog.events.Listenable.addImplementation=function(a){a.prototype[goog.events.Listenable.IMPLEMENTED_BY_PROP]=!0};goog.events.Listenable.isImplementedBy=function(a){return!(!a||!a[goog.events.Listenable.IMPLEMENTED_BY_PROP])};goog.events.ListenableKey=function(){};goog.events.ListenableKey.counter_=0;goog.events.ListenableKey.reserveKey=function(){return++goog.events.ListenableKey.counter_};goog.events.Listener=function(a,b,c,d,e,f){goog.events.Listener.ENABLE_MONITORING&&(this.creationStack=Error().stack);this.listener=a;this.proxy=b;this.src=c;this.type=d;this.capture=!!e;this.handler=f;this.key=goog.events.ListenableKey.reserveKey();this.removed=this.callOnce=!1};goog.events.Listener.ENABLE_MONITORING=!1;goog.events.Listener.prototype.markAsRemoved=function(){this.removed=!0;this.handler=this.src=this.proxy=this.listener=null};goog.events.ListenerMap=function(a){this.src=a;this.listeners={};this.typeCount_=0};goog.events.ListenerMap.prototype.getTypeCount=function(){return this.typeCount_};goog.events.ListenerMap.prototype.getListenerCount=function(){var a=0,b;for(b in this.listeners)a+=this.listeners[b].length;return a}; -goog.events.ListenerMap.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.listeners[f];a||(a=this.listeners[f]=[],this.typeCount_++);var g=goog.events.ListenerMap.findListenerIndex_(a,b,d,e);-1a.keyCode||void 0!=a.returnValue}; -goog.events.uniqueIdCounter_=0;goog.events.getUniqueId=function(a){return a+"_"+goog.events.uniqueIdCounter_++};goog.events.getListenerMap_=function(a){a=a[goog.events.LISTENER_MAP_PROP_];return a instanceof goog.events.ListenerMap?a:null};goog.events.LISTENER_WRAPPER_PROP_="__closure_events_fn_"+(1E9*Math.random()>>>0); -goog.events.wrapListener=function(a){goog.asserts.assert(a,"Listener can not be null.");if(goog.isFunction(a))return a;goog.asserts.assert(a.handleEvent,"An object listener must have handleEvent method.");a[goog.events.LISTENER_WRAPPER_PROP_]||(a[goog.events.LISTENER_WRAPPER_PROP_]=function(b){return a.handleEvent(b)});return a[goog.events.LISTENER_WRAPPER_PROP_]};goog.debug.entryPointRegistry.register(function(a){goog.events.handleBrowserEvent_=a(goog.events.handleBrowserEvent_)});goog.events.EventTarget=function(){goog.Disposable.call(this);this.eventTargetListeners_=new goog.events.ListenerMap(this);this.actualEventTarget_=this;this.parentEventTarget_=null};goog.inherits(goog.events.EventTarget,goog.Disposable);goog.events.Listenable.addImplementation(goog.events.EventTarget);goog.events.EventTarget.MAX_ANCESTORS_=1E3;goog.events.EventTarget.prototype.getParentEventTarget=function(){return this.parentEventTarget_}; -goog.events.EventTarget.prototype.setParentEventTarget=function(a){this.parentEventTarget_=a};goog.events.EventTarget.prototype.addEventListener=function(a,b,c,d){goog.events.listen(this,a,b,c,d)};goog.events.EventTarget.prototype.removeEventListener=function(a,b,c,d){goog.events.unlisten(this,a,b,c,d)}; -goog.events.EventTarget.prototype.dispatchEvent=function(a){this.assertInitialized_();var b=this.getParentEventTarget();if(b){var c=[];for(var d=1;b;b=b.getParentEventTarget())c.push(b),goog.asserts.assert(++dgoog.Timer.MAX_TIMEOUT_?goog.Timer.INVALID_TIMEOUT_ID_:goog.Timer.defaultTimerObject.setTimeout(a,b||0)};goog.Timer.clear=function(a){goog.Timer.defaultTimerObject.clearTimeout(a)}; -goog.Timer.promise=function(a,b){var c=null;return(new goog.Promise(function(d,e){c=goog.Timer.callOnce(function(){d(b)},a);c==goog.Timer.INVALID_TIMEOUT_ID_&&e(Error("Failed to schedule timer."))})).thenCatch(function(a){goog.Timer.clear(c);throw a;})};goog.json={};goog.json.USE_NATIVE_JSON=!1;goog.json.TRY_NATIVE_JSON=!1;goog.json.isValid=function(a){return/^\s*$/.test(a)?!1:/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/(?:"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)[\s\u2028\u2029]*(?=:|,|]|}|$)/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,""))};goog.json.errorLogger_=goog.nullFunction;goog.json.setErrorLogger=function(a){goog.json.errorLogger_=a}; -goog.json.parse=goog.json.USE_NATIVE_JSON?goog.global.JSON.parse:function(a){if(goog.json.TRY_NATIVE_JSON)try{return goog.global.JSON.parse(a)}catch(d){var b=d}a=String(a);if(goog.json.isValid(a))try{var c=eval("("+a+")");b&&goog.json.errorLogger_("Invalid JSON: "+a,b);return c}catch(d){}throw Error("Invalid JSON string: "+a);}; -goog.json.unsafeParse=goog.json.USE_NATIVE_JSON?goog.global.JSON.parse:function(a){if(goog.json.TRY_NATIVE_JSON)try{return goog.global.JSON.parse(a)}catch(d){var b=d}var c=eval("("+a+")");b&&goog.json.errorLogger_("Invalid JSON: "+a,b);return c};goog.json.serialize=goog.json.USE_NATIVE_JSON?goog.global.JSON.stringify:function(a,b){return(new goog.json.Serializer(b)).serialize(a)};goog.json.Serializer=function(a){this.replacer_=a}; -goog.json.Serializer.prototype.serialize=function(a){var b=[];this.serializeInternal(a,b);return b.join("")}; -goog.json.Serializer.prototype.serializeInternal=function(a,b){if(null==a)b.push("null");else{if("object"==typeof a){if(goog.isArray(a)){this.serializeArray(a,b);return}if(a instanceof String||a instanceof Number||a instanceof Boolean)a=a.valueOf();else{this.serializeObject_(a,b);return}}switch(typeof a){case "string":this.serializeString_(a,b);break;case "number":this.serializeNumber_(a,b);break;case "boolean":b.push(String(a));break;case "function":b.push("null");break;default:throw Error("Unknown type: "+ -typeof a);}}};goog.json.Serializer.charToJsonCharCache_={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"};goog.json.Serializer.charsToReplace_=/\uffff/.test("￿")?/[\\"\x00-\x1f\x7f-\uffff]/g:/[\\"\x00-\x1f\x7f-\xff]/g; -goog.json.Serializer.prototype.serializeString_=function(a,b){b.push('"',a.replace(goog.json.Serializer.charsToReplace_,function(a){var b=goog.json.Serializer.charToJsonCharCache_[a];b||(b="\\u"+(a.charCodeAt(0)|65536).toString(16).substr(1),goog.json.Serializer.charToJsonCharCache_[a]=b);return b}),'"')};goog.json.Serializer.prototype.serializeNumber_=function(a,b){b.push(isFinite(a)&&!isNaN(a)?String(a):"null")}; -goog.json.Serializer.prototype.serializeArray=function(a,b){var c=a.length;b.push("[");for(var d="",e=0;e=goog.debug.MAX_STACK_DEPTH){b.push("[...long stack...]");break}}a&&d>=a?b.push("[...reached max depth limit...]"):b.push("[end]");return b.join("")}; -goog.debug.MAX_STACK_DEPTH=50;goog.debug.getNativeStackTrace_=function(a){var b=Error();if(Error.captureStackTrace)return Error.captureStackTrace(b,a),String(b.stack);try{throw b;}catch(c){b=c}return(a=b.stack)?String(a):null};goog.debug.getStacktrace=function(a){var b;goog.debug.FORCE_SLOPPY_STACKS||(b=goog.debug.getNativeStackTrace_(a||goog.debug.getStacktrace));b||(b=goog.debug.getStacktraceHelper_(a||arguments.callee.caller,[]));return b}; -goog.debug.getStacktraceHelper_=function(a,b){var c=[];if(goog.array.contains(b,a))c.push("[...circular reference...]");else if(a&&b.length=this.getEffectiveLevel().value}; -goog.debug.Logger.prototype.log=function(a,b,c){goog.debug.LOGGING_ENABLED&&this.isLoggable(a)&&(goog.isFunction(b)&&(b=b()),this.doLogRecord_(this.getLogRecord(a,b,c)))};goog.debug.Logger.prototype.getLogRecord=function(a,b,c){a=goog.debug.LogBuffer.isBufferingEnabled()?goog.debug.LogBuffer.getInstance().addRecord(a,b,this.name_):new goog.debug.LogRecord(a,String(b),this.name_);c&&a.setException(c);return a}; -goog.debug.Logger.prototype.shout=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.SHOUT,a,b)};goog.debug.Logger.prototype.severe=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.SEVERE,a,b)};goog.debug.Logger.prototype.warning=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.WARNING,a,b)};goog.debug.Logger.prototype.info=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.INFO,a,b)}; -goog.debug.Logger.prototype.config=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.CONFIG,a,b)};goog.debug.Logger.prototype.fine=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINE,a,b)};goog.debug.Logger.prototype.finer=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINER,a,b)};goog.debug.Logger.prototype.finest=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINEST,a,b)}; -goog.debug.Logger.prototype.logRecord=function(a){goog.debug.LOGGING_ENABLED&&this.isLoggable(a.getLevel())&&this.doLogRecord_(a)};goog.debug.Logger.prototype.doLogRecord_=function(a){goog.debug.Logger.logToProfilers("log:"+a.getMessage());if(goog.debug.Logger.ENABLE_HIERARCHY)for(var b=this;b;)b.callPublish_(a),b=b.getParent();else{b=0;for(var c;c=goog.debug.Logger.rootHandlers_[b++];)c(a)}};goog.debug.Logger.prototype.callPublish_=function(a){if(this.handlers_)for(var b=0,c;c=this.handlers_[b];b++)c(a)}; -goog.debug.Logger.prototype.setParent_=function(a){this.parent_=a};goog.debug.Logger.prototype.addChild_=function(a,b){this.getChildren()[a]=b};goog.debug.LogManager={};goog.debug.LogManager.loggers_={};goog.debug.LogManager.rootLogger_=null; -goog.debug.LogManager.initialize=function(){goog.debug.LogManager.rootLogger_||(goog.debug.LogManager.rootLogger_=new goog.debug.Logger(goog.debug.Logger.ROOT_LOGGER_NAME),goog.debug.LogManager.loggers_[goog.debug.Logger.ROOT_LOGGER_NAME]=goog.debug.LogManager.rootLogger_,goog.debug.LogManager.rootLogger_.setLevel(goog.debug.Logger.Level.CONFIG))};goog.debug.LogManager.getLoggers=function(){return goog.debug.LogManager.loggers_}; -goog.debug.LogManager.getRoot=function(){goog.debug.LogManager.initialize();return goog.debug.LogManager.rootLogger_};goog.debug.LogManager.getLogger=function(a){goog.debug.LogManager.initialize();return goog.debug.LogManager.loggers_[a]||goog.debug.LogManager.createLogger_(a)};goog.debug.LogManager.createFunctionForCatchErrors=function(a){return function(b){(a||goog.debug.LogManager.getRoot()).severe("Error: "+b.message+" ("+b.fileName+" @ Line: "+b.line+")")}}; -goog.debug.LogManager.createLogger_=function(a){var b=new goog.debug.Logger(a);if(goog.debug.Logger.ENABLE_HIERARCHY){var c=a.lastIndexOf("."),d=a.substr(0,c);c=a.substr(c+1);d=goog.debug.LogManager.getLogger(d);d.addChild_(c,b);b.setParent_(d)}return goog.debug.LogManager.loggers_[a]=b};goog.log={};goog.log.ENABLED=goog.debug.LOGGING_ENABLED;goog.log.ROOT_LOGGER_NAME=goog.debug.Logger.ROOT_LOGGER_NAME;goog.log.Logger=goog.debug.Logger;goog.log.Level=goog.debug.Logger.Level;goog.log.LogRecord=goog.debug.LogRecord;goog.log.getLogger=function(a,b){return goog.log.ENABLED?(a=goog.debug.LogManager.getLogger(a),b&&a&&a.setLevel(b),a):null};goog.log.addHandler=function(a,b){goog.log.ENABLED&&a&&a.addHandler(b)}; -goog.log.removeHandler=function(a,b){return goog.log.ENABLED&&a?a.removeHandler(b):!1};goog.log.log=function(a,b,c,d){goog.log.ENABLED&&a&&a.log(b,c,d)};goog.log.error=function(a,b,c){goog.log.ENABLED&&a&&a.severe(b,c)};goog.log.warning=function(a,b,c){goog.log.ENABLED&&a&&a.warning(b,c)};goog.log.info=function(a,b,c){goog.log.ENABLED&&a&&a.info(b,c)};goog.log.fine=function(a,b,c){goog.log.ENABLED&&a&&a.fine(b,c)};goog.net.ErrorCode={NO_ERROR:0,ACCESS_DENIED:1,FILE_NOT_FOUND:2,FF_SILENT_ERROR:3,CUSTOM_ERROR:4,EXCEPTION:5,HTTP_ERROR:6,ABORT:7,TIMEOUT:8,OFFLINE:9}; -goog.net.ErrorCode.getDebugMessage=function(a){switch(a){case goog.net.ErrorCode.NO_ERROR:return"No Error";case goog.net.ErrorCode.ACCESS_DENIED:return"Access denied to content document";case goog.net.ErrorCode.FILE_NOT_FOUND:return"File not found";case goog.net.ErrorCode.FF_SILENT_ERROR:return"Firefox silently errored";case goog.net.ErrorCode.CUSTOM_ERROR:return"Application custom error";case goog.net.ErrorCode.EXCEPTION:return"An exception occurred";case goog.net.ErrorCode.HTTP_ERROR:return"Http response at 400 or 500 level"; -case goog.net.ErrorCode.ABORT:return"Request was aborted";case goog.net.ErrorCode.TIMEOUT:return"Request timed out";case goog.net.ErrorCode.OFFLINE:return"The resource is not available offline";default:return"Unrecognized error code"}};goog.net.EventType={COMPLETE:"complete",SUCCESS:"success",ERROR:"error",ABORT:"abort",READY:"ready",READY_STATE_CHANGE:"readystatechange",TIMEOUT:"timeout",INCREMENTAL_DATA:"incrementaldata",PROGRESS:"progress",DOWNLOAD_PROGRESS:"downloadprogress",UPLOAD_PROGRESS:"uploadprogress"};goog.net.HttpStatus={CONTINUE:100,SWITCHING_PROTOCOLS:101,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411, -PRECONDITION_FAILED:412,REQUEST_ENTITY_TOO_LARGE:413,REQUEST_URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,REQUEST_RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,NETWORK_AUTHENTICATION_REQUIRED:511,QUIRK_IE_NO_CONTENT:1223}; -goog.net.HttpStatus.isSuccess=function(a){switch(a){case goog.net.HttpStatus.OK:case goog.net.HttpStatus.CREATED:case goog.net.HttpStatus.ACCEPTED:case goog.net.HttpStatus.NO_CONTENT:case goog.net.HttpStatus.PARTIAL_CONTENT:case goog.net.HttpStatus.NOT_MODIFIED:case goog.net.HttpStatus.QUIRK_IE_NO_CONTENT:return!0;default:return!1}};goog.net.XhrLike=function(){};goog.net.XhrLike.prototype.open=function(a,b,c,d,e){};goog.net.XhrLike.prototype.send=function(a){};goog.net.XhrLike.prototype.abort=function(){};goog.net.XhrLike.prototype.setRequestHeader=function(a,b){};goog.net.XhrLike.prototype.getResponseHeader=function(a){};goog.net.XhrLike.prototype.getAllResponseHeaders=function(){};goog.net.XmlHttpFactory=function(){};goog.net.XmlHttpFactory.prototype.cachedOptions_=null;goog.net.XmlHttpFactory.prototype.createInstance=goog.abstractMethod;goog.net.XmlHttpFactory.prototype.getOptions=function(){return this.cachedOptions_||(this.cachedOptions_=this.internalGetOptions())};goog.net.XmlHttpFactory.prototype.internalGetOptions=goog.abstractMethod;goog.net.WrapperXmlHttpFactory=function(a,b){goog.net.XmlHttpFactory.call(this);this.xhrFactory_=a;this.optionsFactory_=b};goog.inherits(goog.net.WrapperXmlHttpFactory,goog.net.XmlHttpFactory);goog.net.WrapperXmlHttpFactory.prototype.createInstance=function(){return this.xhrFactory_()};goog.net.WrapperXmlHttpFactory.prototype.getOptions=function(){return this.optionsFactory_()};goog.net.XmlHttp=function(){return goog.net.XmlHttp.factory_.createInstance()};goog.net.XmlHttp.ASSUME_NATIVE_XHR=!1;goog.net.XmlHttpDefines={};goog.net.XmlHttpDefines.ASSUME_NATIVE_XHR=!1;goog.net.XmlHttp.getOptions=function(){return goog.net.XmlHttp.factory_.getOptions()};goog.net.XmlHttp.OptionType={USE_NULL_FUNCTION:0,LOCAL_REQUEST_ERROR:1};goog.net.XmlHttp.ReadyState={UNINITIALIZED:0,LOADING:1,LOADED:2,INTERACTIVE:3,COMPLETE:4}; -goog.net.XmlHttp.setFactory=function(a,b){goog.net.XmlHttp.setGlobalFactory(new goog.net.WrapperXmlHttpFactory(goog.asserts.assert(a),goog.asserts.assert(b)))};goog.net.XmlHttp.setGlobalFactory=function(a){goog.net.XmlHttp.factory_=a};goog.net.DefaultXmlHttpFactory=function(){goog.net.XmlHttpFactory.call(this)};goog.inherits(goog.net.DefaultXmlHttpFactory,goog.net.XmlHttpFactory); -goog.net.DefaultXmlHttpFactory.prototype.createInstance=function(){var a=this.getProgId_();return a?new ActiveXObject(a):new XMLHttpRequest};goog.net.DefaultXmlHttpFactory.prototype.internalGetOptions=function(){var a={};this.getProgId_()&&(a[goog.net.XmlHttp.OptionType.USE_NULL_FUNCTION]=!0,a[goog.net.XmlHttp.OptionType.LOCAL_REQUEST_ERROR]=!0);return a}; -goog.net.DefaultXmlHttpFactory.prototype.getProgId_=function(){if(goog.net.XmlHttp.ASSUME_NATIVE_XHR||goog.net.XmlHttpDefines.ASSUME_NATIVE_XHR)return"";if(!this.ieProgId_&&"undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var a=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],b=0;bgoog.net.XmlHttp.ReadyState.LOADED?this.xhr_.status:-1}catch(a){return-1}};goog.net.XhrIo.prototype.getStatusText=function(){try{return this.getReadyState()>goog.net.XmlHttp.ReadyState.LOADED?this.xhr_.statusText:""}catch(a){return goog.log.fine(this.logger_,"Can not get status: "+a.message),""}};goog.net.XhrIo.prototype.getLastUri=function(){return String(this.lastUri_)}; -goog.net.XhrIo.prototype.getResponseText=function(){try{return this.xhr_?this.xhr_.responseText:""}catch(a){return goog.log.fine(this.logger_,"Can not get responseText: "+a.message),""}};goog.net.XhrIo.prototype.getResponseBody=function(){try{if(this.xhr_&&"responseBody"in this.xhr_)return this.xhr_.responseBody}catch(a){goog.log.fine(this.logger_,"Can not get responseBody: "+a.message)}return null}; -goog.net.XhrIo.prototype.getResponseXml=function(){try{return this.xhr_?this.xhr_.responseXML:null}catch(a){return goog.log.fine(this.logger_,"Can not get responseXML: "+a.message),null}};goog.net.XhrIo.prototype.getResponseJson=function(a){if(this.xhr_){var b=this.xhr_.responseText;a&&0==b.indexOf(a)&&(b=b.substring(a.length));return goog.json.hybrid.parse(b)}}; -goog.net.XhrIo.prototype.getResponse=function(){try{if(!this.xhr_)return null;if("response"in this.xhr_)return this.xhr_.response;switch(this.responseType_){case goog.net.XhrIo.ResponseType.DEFAULT:case goog.net.XhrIo.ResponseType.TEXT:return this.xhr_.responseText;case goog.net.XhrIo.ResponseType.ARRAY_BUFFER:if("mozResponseArrayBuffer"in this.xhr_)return this.xhr_.mozResponseArrayBuffer}goog.log.error(this.logger_,"Response type "+this.responseType_+" is not supported on this browser");return null}catch(a){return goog.log.fine(this.logger_, -"Can not get response: "+a.message),null}};goog.net.XhrIo.prototype.getResponseHeader=function(a){if(this.xhr_&&this.isComplete())return a=this.xhr_.getResponseHeader(a),goog.isNull(a)?void 0:a};goog.net.XhrIo.prototype.getAllResponseHeaders=function(){return this.xhr_&&this.isComplete()?this.xhr_.getAllResponseHeaders():""}; -goog.net.XhrIo.prototype.getResponseHeaders=function(){for(var a={},b=this.getAllResponseHeaders().split("\r\n"),c=0;c>=8);b[c++]=e}return b};goog.crypt.byteArrayToString=function(a){if(8192>=a.length)return String.fromCharCode.apply(null,a);for(var b="",c=0;ce?b[c++]=e:(2048>e?b[c++]=e>>6|192:(55296==(e&64512)&&d+1>18|240,b[c++]=e>>12&63|128):b[c++]=e>>12|224,b[c++]=e>>6&63|128),b[c++]=e&63|128)}return b}; -goog.crypt.utf8ByteArrayToString=function(a){for(var b=[],c=0,d=0;ce)b[d++]=String.fromCharCode(e);else if(191e){var f=a[c++];b[d++]=String.fromCharCode((e&31)<<6|f&63)}else if(239e){f=a[c++];var g=a[c++],h=a[c++];e=((e&7)<<18|(f&63)<<12|(g&63)<<6|h&63)-65536;b[d++]=String.fromCharCode(55296+(e>>10));b[d++]=String.fromCharCode(56320+(e&1023))}else f=a[c++],g=a[c++],b[d++]=String.fromCharCode((e&15)<<12|(f&63)<<6|g&63)}return b.join("")}; -goog.crypt.xorByteArray=function(a,b){goog.asserts.assert(a.length==b.length,"XOR array lengths must match");for(var c=[],d=0;d>2;e=(e&3)<<4|g>>4;g=(g&15)<<2|k>>6;k&=63;h||(k=64,f||(g=64));c.push(b[l],b[e],b[g],b[k])}return c.join("")}; -goog.crypt.base64.encodeString=function(a,b){return goog.crypt.base64.HAS_NATIVE_ENCODE_&&!b?goog.global.btoa(a):goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(a),b)};goog.crypt.base64.decodeString=function(a,b){if(goog.crypt.base64.HAS_NATIVE_DECODE_&&!b)return goog.global.atob(a);var c="";goog.crypt.base64.decodeStringInternal_(a,function(a){c+=String.fromCharCode(a)});return c}; -goog.crypt.base64.decodeStringToByteArray=function(a,b){var c=[];goog.crypt.base64.decodeStringInternal_(a,function(a){c.push(a)});return c};goog.crypt.base64.decodeStringToUint8Array=function(a){goog.asserts.assert(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10"),"Browser does not support typed arrays");var b=new Uint8Array(Math.ceil(3*a.length/4)),c=0;goog.crypt.base64.decodeStringInternal_(a,function(a){b[c++]=a});return b.subarray(0,c)}; -goog.crypt.base64.decodeStringInternal_=function(a,b){function c(b){for(;d>4);64!=g&&(b(f<<4&240|g>>2),64!=h&&b(g<<6&192|h))}}; -goog.crypt.base64.init_=function(){if(!goog.crypt.base64.byteToCharMap_){goog.crypt.base64.byteToCharMap_={};goog.crypt.base64.charToByteMap_={};goog.crypt.base64.byteToCharMapWebSafe_={};for(var a=0;a=goog.crypt.base64.ENCODED_VALS_BASE.length&& -(goog.crypt.base64.charToByteMap_[goog.crypt.base64.ENCODED_VALS_WEBSAFE.charAt(a)]=a)}};cljs.tools={};cljs.tools.reader={};cljs.tools.reader.impl={};cljs.tools.reader.impl.utils={};cljs.tools.reader.impl.utils.char$=function(a){return null==a?null:cljs.core.char$(a)};cljs.tools.reader.impl.utils.ex_info_QMARK_=function(a){return a instanceof cljs.core.ExceptionInfo}; -cljs.tools.reader.impl.utils.ReaderConditional=function(a,b,c,d,e){this.splicing_QMARK_=a;this.form=b;this.__meta=c;this.__extmap=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264};cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)}; -cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "splicing?":return this.splicing_QMARK_;case "form":return this.form;default:return cljs.core.get.cljs$core$IFn$_invoke$arity$3(this.__extmap,b,c)}}; -cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,c){var d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);return b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(a,d,c):b.call(null,a,d,c)}}(this),c,this)}; -cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer(b,a,"#cljs.tools.reader.impl.utils.ReaderConditional{",", ","}",c,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null, -2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$splicing_QMARK_,this.splicing_QMARK_],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$form,this.form],null)],null),this.__extmap))}; -cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,2,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$splicing_QMARK_,cljs.core.cst$kw$form],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator(this.__extmap):cljs.core.nil_iter())};cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta}; -cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.tools.reader.impl.utils.ReaderConditional(this.splicing_QMARK_,this.form,this.__meta,this.__extmap,this.__hash)};cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2+cljs.core.count(this.__extmap)}; -cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IHash$_hash$arity$1=function(a){var b=this,c=this.__hash;return null!=c?c:this.__hash=a=function(){return function(a,b){return function(a){return-209062840^cljs.core.hash_unordered_coll(a)}}(c,b)(b)}()}; -cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.splicing_QMARK_,b.splicing_QMARK_)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.form,b.form)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.__extmap,b.__extmap)}; -cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$kw$splicing_QMARK_,null,cljs.core.cst$kw$form,null],null),null),b)?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.tools.reader.impl.utils.ReaderConditional(this.splicing_QMARK_, -this.form,this.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(this.__extmap,b)),null)}; -cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){var d=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(function(){var a=cljs.core.cst$kw$splicing_QMARK_;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.tools.reader.impl.utils.ReaderConditional(c,this.form,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$form;return d.cljs$core$IFn$_invoke$arity$2? -d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.tools.reader.impl.utils.ReaderConditional(this.splicing_QMARK_,c,this.__meta,this.__extmap,null):new cljs.tools.reader.impl.utils.ReaderConditional(this.splicing_QMARK_,this.form,this.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this.__extmap,b,c),null)}; -cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(cljs.core.cst$kw$splicing_QMARK_,this.splicing_QMARK_,null),new cljs.core.MapEntry(cljs.core.cst$kw$form,this.form,null)],null),this.__extmap))}; -cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.tools.reader.impl.utils.ReaderConditional(this.splicing_QMARK_,this.form,b,this.__extmap,this.__hash)}; -cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_(b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,1)):cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this,b)}; -cljs.tools.reader.impl.utils.ReaderConditional.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$splicing_QMARK_,cljs.core.cst$sym$form],null)};cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$type=!0;cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.tools.reader.impl.utils/ReaderConditional",null,1,null)}; -cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write(b,"cljs.tools.reader.impl.utils/ReaderConditional")};cljs.tools.reader.impl.utils.__GT_ReaderConditional=function(a,b){return new cljs.tools.reader.impl.utils.ReaderConditional(a,b,null,null,null)}; -cljs.tools.reader.impl.utils.map__GT_ReaderConditional=function(a){var b=cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(a,cljs.core.cst$kw$splicing_QMARK_,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$form],0));b=cljs.core.record_QMARK_(a)?cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.tools.reader.impl.utils.ReaderConditional(cljs.core.cst$kw$splicing_QMARK_.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$form.cljs$core$IFn$_invoke$arity$1(a), -null,cljs.core.not_empty(b),null)};cljs.tools.reader.impl.utils.reader_conditional_QMARK_=function(a){return a instanceof cljs.tools.reader.impl.utils.ReaderConditional};cljs.tools.reader.impl.utils.reader_conditional=function(a,b){return new cljs.tools.reader.impl.utils.ReaderConditional(b,a,null,null,null)};cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL; -cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){cljs.core._write(b,["#?",cljs.core.truth_(cljs.core.cst$kw$splicing_QMARK_.cljs$core$IFn$_invoke$arity$1(this))?"@":null].join(""));return cljs.core.pr_writer(cljs.core.cst$kw$form.cljs$core$IFn$_invoke$arity$1(this),b,c)};cljs.tools.reader.impl.utils.ws_rx=/[\s]/;cljs.tools.reader.impl.utils.whitespace_QMARK_=function(a){return null==a?null:","===a?!0:cljs.tools.reader.impl.utils.ws_rx.test(a)}; -cljs.tools.reader.impl.utils.numeric_QMARK_=function(a){return null==a?null:goog.string.isNumeric(a)};cljs.tools.reader.impl.utils.newline_QMARK_=function(a){return"\n"===a||"\n"===a||null==a}; -cljs.tools.reader.impl.utils.desugar_meta=function(a){return a instanceof cljs.core.Keyword?cljs.core.PersistentArrayMap.createAsIfByAssoc([a,!0]):a instanceof cljs.core.Symbol?new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$tag,a],null):"string"===typeof a?new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$tag,a],null):a};cljs.tools.reader.impl.utils.last_id=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(0); -cljs.tools.reader.impl.utils.next_id=function(){return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.impl.utils.last_id,cljs.core.inc)}; -cljs.tools.reader.impl.utils.namespace_keys=function(a,b){return function e(b){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq(b);if(d){if(cljs.core.chunked_seq_QMARK_(d)){var g=cljs.core.chunk_first(d),h=cljs.core.count(g),k=cljs.core.chunk_buffer(h);return function(){for(var b=0;;)if(bthis.s_pos?(a=this.s.charAt(this.s_pos),this.s_pos+=1,a):null};cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1=function(a){return this.s_len>this.s_pos?this.s.charAt(this.s_pos):null}; -cljs.tools.reader.reader_types.StringReader.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$s,cljs.core.cst$sym$s_DASH_len,cljs.core.with_meta(cljs.core.cst$sym$s_DASH_pos,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null))],null)};cljs.tools.reader.reader_types.StringReader.cljs$lang$type=!0;cljs.tools.reader.reader_types.StringReader.cljs$lang$ctorStr="cljs.tools.reader.reader-types/StringReader"; -cljs.tools.reader.reader_types.StringReader.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.tools.reader.reader-types/StringReader")};cljs.tools.reader.reader_types.__GT_StringReader=function(a,b,c){return new cljs.tools.reader.reader_types.StringReader(a,b,c)};cljs.tools.reader.reader_types.NodeReadableReader=function(a,b){this.readable=a;this.buf=b};cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$=cljs.core.PROTOCOL_SENTINEL; -cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1=function(a){if(cljs.core.truth_(this.buf))return a=this.buf[0],this.buf=null,cljs.tools.reader.impl.utils.char$(a);a=cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.readable.read(1));return cljs.core.truth_(a)?cljs.tools.reader.impl.utils.char$(a):null}; -cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1=function(a){cljs.core.truth_(this.buf)||(this.buf=cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.readable.read(1)));return cljs.core.truth_(this.buf)?cljs.tools.reader.impl.utils.char$(this.buf[0]):null}; -cljs.tools.reader.reader_types.NodeReadableReader.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$readable,cljs.core.with_meta(cljs.core.cst$sym$buf,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null))],null)};cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$type=!0;cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$ctorStr="cljs.tools.reader.reader-types/NodeReadableReader"; -cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.tools.reader.reader-types/NodeReadableReader")};cljs.tools.reader.reader_types.__GT_NodeReadableReader=function(a,b){return new cljs.tools.reader.reader_types.NodeReadableReader(a,b)};cljs.tools.reader.reader_types.PushbackReader=function(a,b,c,d){this.rdr=a;this.buf=b;this.buf_len=c;this.buf_pos=d}; -cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$=cljs.core.PROTOCOL_SENTINEL;cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1=function(a){a=this.buf_posc?'..."':'"';return['"',cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.substring(0,function(){var a=b.length;return cd?"...}":"}")}); -cljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$kw$set,function(a,b){return cljs.tools.reader.impl.inspect.inspect_STAR__col(a,b,"#{","}")});cljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$kw$vector,function(a,b){return cljs.tools.reader.impl.inspect.inspect_STAR__col(a,b,"[","]")}); -cljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$kw$default,function(a,b){return cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(b)],0))}); -cljs.tools.reader.impl.inspect.inspect=function(a){switch(arguments.length){case 1:return cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IFn$_invoke$arity$2?cljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IFn$_invoke$arity$2(!1,a):cljs.tools.reader.impl.inspect.inspect_STAR_.call(null,!1,a)}; -cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IFn$_invoke$arity$2?cljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IFn$_invoke$arity$2(a,b):cljs.tools.reader.impl.inspect.inspect_STAR_.call(null,a,b)};cljs.tools.reader.impl.inspect.inspect.cljs$lang$maxFixedArity=2;cljs.tools.reader.impl.errors={}; -cljs.tools.reader.impl.errors.ex_details=function(a,b){b=new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$kw$type,cljs.core.cst$kw$reader_DASH_exception,cljs.core.cst$kw$ex_DASH_kind,b],null);return cljs.tools.reader.reader_types.indexing_reader_QMARK_(a)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.cst$kw$file,cljs.tools.reader.reader_types.get_file_name(a),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$line,cljs.tools.reader.reader_types.get_line_number(a),cljs.core.cst$kw$col, -cljs.tools.reader.reader_types.get_column_number(a)],0)):b};cljs.tools.reader.impl.errors.throw_ex=function(a){for(var b=[],c=arguments.length,d=0;;)if(d=parseInt(a,b)}; -cljs.tools.reader.read_char_STAR_=function(a,b,c,d){b=a.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);if(null!=b){b=cljs.tools.reader.macro_terminating_QMARK_(b)||cljs.tools.reader.impl.utils.whitespace_QMARK_(b)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(b):cljs.tools.reader.read_token(a,cljs.core.cst$kw$character,b);c=b.length;if(1===c)return b.charAt(0);if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,"newline"))return"\n";if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,"space"))return" "; -if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,"tab"))return"\t";if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,"backspace"))return"\b";if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,"formfeed"))return"\f";if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,"return"))return"\r";if(cljs.core.truth_(goog.string.startsWith(b,"u")))return b=cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4(b,1,4,16),c=b.charCodeAt(0),c>cljs.tools.reader.upper_limit&&cc;return a?c:a}()):null}; -cljs.tools.reader.check_reserved_features=function(a,b){return cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.RESERVED_FEATURES,b))?cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(a,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["Feature name ",b," is reserved"],0)):null}; -cljs.tools.reader.check_invalid_read_cond=function(a,b,c){return a===cljs.tools.reader.READ_FINISHED?0>c?cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["read-cond requires an even number of forms"],0)):cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["read-cond starting on line ",c," requires an even number of forms"],0)):null}; -cljs.tools.reader.read_suppress=function(a,b,c,d){var e=cljs.tools.reader._STAR_suppress_read_STAR_;cljs.tools.reader._STAR_suppress_read_STAR_=!0;try{var f=cljs.tools.reader.READ_EOF;var g=cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6?cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(b,!1,f,")",c,d):cljs.tools.reader.read_STAR_.call(null,b,!1,f,")",c,d);cljs.tools.reader.check_eof_error(g,b,a);return g===cljs.tools.reader.READ_FINISHED?cljs.tools.reader.READ_FINISHED:null}finally{cljs.tools.reader._STAR_suppress_read_STAR_= -e}};if("undefined"===typeof cljs||"undefined"===typeof cljs.tools||"undefined"===typeof cljs.tools.reader||"undefined"===typeof cljs.tools.reader.NO_MATCH)cljs.tools.reader.NO_MATCH={}; -cljs.tools.reader.match_feature=function(a,b,c,d){var e=function(){var a=cljs.tools.reader.READ_EOF;return cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6?cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(b,!1,a,")",c,d):cljs.tools.reader.read_STAR_.call(null,b,!1,a,")",c,d)}();cljs.tools.reader.check_eof_error(e,b,a);if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(e,cljs.tools.reader.READ_FINISHED))return cljs.tools.reader.READ_FINISHED;cljs.tools.reader.check_reserved_features(b, -e);if(cljs.tools.reader.has_feature_QMARK_(b,e,c))return e=function(){var a=cljs.tools.reader.READ_EOF;return cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6?cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(b,!1,a,")",c,d):cljs.tools.reader.read_STAR_.call(null,b,!1,a,")",c,d)}(),cljs.tools.reader.check_eof_error(e,b,a),cljs.tools.reader.check_invalid_read_cond(e,b,a),e;a=cljs.tools.reader.read_suppress(a,b,c,d);return cljs.core.truth_(a)?a:cljs.tools.reader.NO_MATCH}; -cljs.tools.reader.read_cond_delimited=function(a,b,c,d){var e=cljs.tools.reader.reader_types.indexing_reader_QMARK_(a)?cljs.tools.reader.reader_types.get_line_number(a):-1;a:for(var f=cljs.tools.reader.NO_MATCH,g=null;;)if(f===cljs.tools.reader.NO_MATCH)if(f=cljs.tools.reader.match_feature(e,a,c,d),f===cljs.tools.reader.READ_FINISHED){c=cljs.tools.reader.READ_FINISHED;break a}else g=null;else if(g!==cljs.tools.reader.READ_FINISHED)g=cljs.tools.reader.read_suppress(e,a,c,d);else{c=f;break a}return c=== -cljs.tools.reader.READ_FINISHED?a:cljs.core.truth_(b)?null!=c&&(c.cljs$lang$protocol_mask$partition0$&16777216||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISequential$)?(b=cljs.core.to_array(c),goog.array.insertArrayAt(d,b,0),a):cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(a,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["Spliced form list in read-cond-splicing must implement ISequential"],0)):c}; -cljs.tools.reader.read_cond=function(a,b,c,d){if(cljs.core.not(function(){if(cljs.core.truth_(c)){var a=cljs.core.cst$kw$read_DASH_cond.cljs$core$IFn$_invoke$arity$1(c),b=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$kw$preserve,null,cljs.core.cst$kw$allow,null],null),null);return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)}return c}()))throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("Conditional read not allowed", -new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$type,cljs.core.cst$kw$runtime_DASH_exception],null));var e=a.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);if(cljs.core.truth_(e))if(e=(b=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(e,"@"))?a.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null):e,b&&(cljs.tools.reader._STAR_read_delim_STAR_||cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(a,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["cond-splice not in list"], -0))),e=cljs.tools.reader.impl.utils.whitespace_QMARK_(e)?cljs.tools.reader.impl.commons.read_past(cljs.tools.reader.impl.utils.whitespace_QMARK_,a):e,cljs.core.truth_(e)){if(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(e,"("))throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("read-cond body must be a list",new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$type,cljs.core.cst$kw$runtime_DASH_exception],null));var f=cljs.tools.reader._STAR_suppress_read_STAR_,g=function(){var a=cljs.tools.reader._STAR_suppress_read_STAR_; -return cljs.core.truth_(a)?a:cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$preserve,cljs.core.cst$kw$read_DASH_cond.cljs$core$IFn$_invoke$arity$1(c))}();cljs.tools.reader._STAR_suppress_read_STAR_=g;try{return cljs.core.truth_(cljs.tools.reader._STAR_suppress_read_STAR_)?cljs.tools.reader.impl.utils.reader_conditional(cljs.tools.reader.read_list(a,e,c,d),b):cljs.tools.reader.read_cond_delimited(a,b,c,d)}finally{cljs.tools.reader._STAR_suppress_read_STAR_=f}}else return cljs.tools.reader.impl.errors.throw_eof_in_character(a); -else return cljs.tools.reader.impl.errors.throw_eof_in_character(a)};cljs.tools.reader.arg_env=null;cljs.tools.reader.garg=function(a){return cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([-1===a?"rest":["p",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),"__",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.impl.utils.next_id()),"#"].join(""))}; -cljs.tools.reader.read_fn=function(a,b,c,d){if(cljs.core.truth_(cljs.tools.reader.arg_env))throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("Nested #()s are not allowed",new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$type,cljs.core.cst$kw$illegal_DASH_state],null));b=cljs.tools.reader.arg_env;var e=cljs.core.sorted_map();cljs.tools.reader.arg_env=e;try{cljs.tools.reader.reader_types.unread(a,"(");var f=cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5?cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(a, -!0,null,c,d):cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d);var g=cljs.core.rseq(cljs.tools.reader.arg_env),h=g?function(){var a=cljs.core.key(cljs.core.first(g)),b=function(){for(var b=1,c=cljs.core.transient$(cljs.core.PersistentVector.EMPTY);;){if(b>a)return cljs.core.persistent_BANG_(c);var d=b+1;c=cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(c,function(){var a=cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.arg_env,b);return cljs.core.truth_(a)?a:cljs.tools.reader.garg(b)}()); -b=d}}();return cljs.core.truth_(cljs.tools.reader.arg_env.cljs$core$IFn$_invoke$arity$1?cljs.tools.reader.arg_env.cljs$core$IFn$_invoke$arity$1(-1):cljs.tools.reader.arg_env.call(null,-1))?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.cst$sym$_AMPERSAND_,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.tools.reader.arg_env.cljs$core$IFn$_invoke$arity$1?cljs.tools.reader.arg_env.cljs$core$IFn$_invoke$arity$1(-1):cljs.tools.reader.arg_env.call(null,-1)],0)):b}():cljs.core.PersistentVector.EMPTY; -return new cljs.core.List(null,cljs.core.cst$sym$fn_STAR_,new cljs.core.List(null,h,new cljs.core.List(null,f,null,1,null),2,null),3,null)}finally{cljs.tools.reader.arg_env=b}}; -cljs.tools.reader.register_arg=function(a){if(cljs.core.truth_(cljs.tools.reader.arg_env)){var b=cljs.tools.reader.arg_env.cljs$core$IFn$_invoke$arity$1?cljs.tools.reader.arg_env.cljs$core$IFn$_invoke$arity$1(a):cljs.tools.reader.arg_env.call(null,a);if(cljs.core.truth_(b))return b;b=cljs.tools.reader.garg(a);cljs.tools.reader.arg_env=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.tools.reader.arg_env,a,b);return b}throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("Arg literal not in #()", -new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$type,cljs.core.cst$kw$illegal_DASH_state],null));}; -cljs.tools.reader.read_arg=function(a,b,c,d){if(null==cljs.tools.reader.arg_env)return cljs.tools.reader.read_symbol(a,b);b=a.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);if(cljs.tools.reader.impl.utils.whitespace_QMARK_(b)||cljs.tools.reader.macro_terminating_QMARK_(b)||null==b)return cljs.tools.reader.register_arg(1);if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,"\x26"))return a.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null),cljs.tools.reader.register_arg(-1); -a=cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5?cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(a,!0,null,c,d):cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d);if(cljs.core.integer_QMARK_(a))return cljs.tools.reader.register_arg(a);throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("Arg literal must be %, %\x26 or %integer",new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$type,cljs.core.cst$kw$illegal_DASH_state],null));};cljs.tools.reader.gensym_env=null; -cljs.tools.reader.read_unquote=function(a,b,c,d){b=a.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);if(cljs.core.truth_(b)){if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2("@",b))return a.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null),b=cljs.tools.reader.wrapping_reader(cljs.core.cst$sym$clojure$core_SLASH_unquote_DASH_splicing),b.cljs$core$IFn$_invoke$arity$4?b.cljs$core$IFn$_invoke$arity$4(a,"@",c,d):b.call(null,a,"@",c,d);b=cljs.tools.reader.wrapping_reader(cljs.core.cst$sym$clojure$core_SLASH_unquote); -return b.cljs$core$IFn$_invoke$arity$4?b.cljs$core$IFn$_invoke$arity$4(a,"~",c,d):b.call(null,a,"~",c,d)}return null};cljs.tools.reader.unquote_splicing_QMARK_=function(a){return cljs.core.seq_QMARK_(a)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(a),cljs.core.cst$sym$clojure$core_SLASH_unquote_DASH_splicing)};cljs.tools.reader.unquote_QMARK_=function(a){return cljs.core.seq_QMARK_(a)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(a),cljs.core.cst$sym$clojure$core_SLASH_unquote)}; -cljs.tools.reader.expand_list=function(a){a=cljs.core.seq(a);for(var b=cljs.core.transient$(cljs.core.PersistentVector.EMPTY);;)if(a){var c=cljs.core.first(a);b=cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(b,cljs.tools.reader.unquote_QMARK_(c)?new cljs.core.List(null,cljs.core.cst$sym$clojure$core_SLASH_list,new cljs.core.List(null,cljs.core.second(c),null,1,null),2,null):cljs.tools.reader.unquote_splicing_QMARK_(c)?cljs.core.second(c):new cljs.core.List(null,cljs.core.cst$sym$clojure$core_SLASH_list, -new cljs.core.List(null,cljs.tools.reader.syntax_quote_STAR_.cljs$core$IFn$_invoke$arity$1?cljs.tools.reader.syntax_quote_STAR_.cljs$core$IFn$_invoke$arity$1(c):cljs.tools.reader.syntax_quote_STAR_.call(null,c),null,1,null),2,null));a=cljs.core.next(a)}else return cljs.core.seq(cljs.core.persistent_BANG_(b))}; -cljs.tools.reader.flatten_map=function(a){a=cljs.core.seq(a);for(var b=cljs.core.transient$(cljs.core.PersistentVector.EMPTY);;)if(a){var c=cljs.core.first(a);a=cljs.core.next(a);b=cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(b,cljs.core.key(c)),cljs.core.val(c))}else return cljs.core.seq(cljs.core.persistent_BANG_(b))}; -cljs.tools.reader.register_gensym=function(a){if(cljs.core.not(cljs.tools.reader.gensym_env))throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("Gensym literal not in syntax-quote",new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$type,cljs.core.cst$kw$illegal_DASH_state],null));var b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.gensym_env,a);if(cljs.core.truth_(b))return b;b=cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(cljs.core.name(a), -0,cljs.core.count(cljs.core.name(a))-1)),"__",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.impl.utils.next_id()),"__auto__"].join(""));cljs.tools.reader.gensym_env=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.tools.reader.gensym_env,a,b);return b}; -cljs.tools.reader.add_meta=function(a,b){return function(){var b=null!=a?a.cljs$lang$protocol_mask$partition0$&262144||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IWithMeta$?!0:!1:!1;return b?cljs.core.seq(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(a),cljs.core.cst$kw$line,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$column,cljs.core.cst$kw$end_DASH_line,cljs.core.cst$kw$end_DASH_column,cljs.core.cst$kw$file,cljs.core.cst$kw$source],0))):b}()?new cljs.core.List(null, -cljs.core.cst$sym$cljs$core_SLASH_with_DASH_meta,new cljs.core.List(null,b,new cljs.core.List(null,function(){var b=cljs.core.meta(a);return cljs.tools.reader.syntax_quote_STAR_.cljs$core$IFn$_invoke$arity$1?cljs.tools.reader.syntax_quote_STAR_.cljs$core$IFn$_invoke$arity$1(b):cljs.tools.reader.syntax_quote_STAR_.call(null,b)}(),null,1,null),2,null),3,null):b}; -cljs.tools.reader.syntax_quote_coll=function(a,b){b=new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH_sequence,new cljs.core.List(null,cljs.core.cons(cljs.core.cst$sym$cljs$core_SLASH_concat,cljs.tools.reader.expand_list(b)),null,1,null),2,null);return cljs.core.truth_(a)?new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH_apply,new cljs.core.List(null,a,new cljs.core.List(null,b,null,1,null),2,null),3,null):b}; -cljs.tools.reader.map_func=function(a){return 16<=cljs.core.count(a)?cljs.core.cst$sym$cljs$core_SLASH_hash_DASH_map:cljs.core.cst$sym$cljs$core_SLASH_array_DASH_map};cljs.tools.reader.bool_QMARK_=function(a){return a instanceof Boolean||!0===a||!1===a};cljs.tools.reader.resolve_symbol=function(a){throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("resolve-symbol is not implemented",new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$sym,a],null));}; -cljs.tools.reader.syntax_quote_STAR_=function(a){return cljs.tools.reader.add_meta(a,cljs.core.special_symbol_QMARK_(a)?new cljs.core.List(null,cljs.core.cst$sym$quote,new cljs.core.List(null,a,null,1,null),2,null):a instanceof cljs.core.Symbol?new cljs.core.List(null,cljs.core.cst$sym$quote,new cljs.core.List(null,cljs.core.truth_(function(){var b=cljs.core.not(cljs.core.namespace(a));return b?(b=cljs.core.name(a),goog.string.endsWith(b,"#")):b}())?cljs.tools.reader.register_gensym(a):function(){var b= -cljs.core.str.cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(goog.string.endsWith(b,"."))?(b=cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(b,0,cljs.core.count(b)-1)),cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.resolve_symbol.cljs$core$IFn$_invoke$arity$1?cljs.tools.reader.resolve_symbol.cljs$core$IFn$_invoke$arity$1(b):cljs.tools.reader.resolve_symbol.call(null,b)),"."].join(""))): -cljs.tools.reader.resolve_symbol.cljs$core$IFn$_invoke$arity$1?cljs.tools.reader.resolve_symbol.cljs$core$IFn$_invoke$arity$1(a):cljs.tools.reader.resolve_symbol.call(null,a)}(),null,1,null),2,null):cljs.tools.reader.unquote_QMARK_(a)?cljs.core.second(a):cljs.tools.reader.unquote_splicing_QMARK_(a)?function(){throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("unquote-splice not in list",new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$type,cljs.core.cst$kw$illegal_DASH_state],null)); -}():cljs.core.coll_QMARK_(a)?null!=a&&(a.cljs$lang$protocol_mask$partition0$&67108864||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IRecord$)?a:cljs.core.map_QMARK_(a)?cljs.tools.reader.syntax_quote_coll(cljs.tools.reader.map_func(a),cljs.tools.reader.flatten_map(a)):cljs.core.vector_QMARK_(a)?new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH_vec,new cljs.core.List(null,cljs.tools.reader.syntax_quote_coll(null,a),null,1,null),2,null):cljs.core.set_QMARK_(a)?cljs.tools.reader.syntax_quote_coll(cljs.core.cst$sym$cljs$core_SLASH_hash_DASH_set, -a):cljs.core.seq_QMARK_(a)||cljs.core.list_QMARK_(a)?function(){var b=cljs.core.seq(a);return b?cljs.tools.reader.syntax_quote_coll(null,b):cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH_list)}():function(){throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("Unknown Collection type",new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$type,cljs.core.cst$kw$unsupported_DASH_operation],null));}():a instanceof cljs.core.Keyword||"number"===typeof a||"string"===typeof a||null==a||cljs.tools.reader.bool_QMARK_(a)|| -a instanceof RegExp?a:new cljs.core.List(null,cljs.core.cst$sym$quote,new cljs.core.List(null,a,null,1,null),2,null))}; -cljs.tools.reader.read_syntax_quote=function(a,b,c,d){b=cljs.tools.reader.gensym_env;cljs.tools.reader.gensym_env=cljs.core.PersistentArrayMap.EMPTY;try{return cljs.tools.reader.syntax_quote_STAR_(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5?cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(a,!0,null,c,d):cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d))}finally{cljs.tools.reader.gensym_env=b}}; -cljs.tools.reader.read_namespaced_map=function(a,b,c,d){var e=cljs.tools.reader.read_token(a,cljs.core.cst$kw$namespaced_DASH_map,cljs.tools.reader.reader_types.read_char(a));b=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(e,":")?cljs.core.ns_name(cljs.core._STAR_ns_STAR_):cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(":",cljs.core.first(e))?function(){var a=null==e?null:cljs.core.subs.cljs$core$IFn$_invoke$arity$2(e,1);a=null==a?null:cljs.tools.reader.impl.commons.parse_symbol(a);a=null==a?null:cljs.tools.reader.impl.utils.second_SINGLEQUOTE_(a); -a=null==a?null:cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(a);return null==a?null:cljs.tools.reader.resolve_ns(a)}():function(){var a=null==e?null:cljs.tools.reader.impl.commons.parse_symbol(e);return null==a?null:cljs.tools.reader.impl.utils.second_SINGLEQUOTE_(a)}();return cljs.core.truth_(b)?"{"===cljs.tools.reader.impl.commons.read_past(cljs.tools.reader.impl.utils.whitespace_QMARK_,a)?(c=cljs.tools.reader.read_delimited(cljs.core.cst$kw$namespaced_DASH_map,"}",a,c,d),cljs.core.odd_QMARK_(cljs.core.count(c))&& -cljs.tools.reader.impl.errors.throw_odd_map(a,null,null,c),d=cljs.tools.reader.impl.utils.namespace_keys(cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2(2,c)),c=cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2(2,cljs.core.rest(c)),cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(cljs.core.set(d)),cljs.core.count(d))||cljs.tools.reader.impl.errors.throw_dup_keys(a,cljs.core.cst$kw$namespaced_DASH_map,d),cljs.core.zipmap(d,c)):cljs.tools.reader.impl.errors.throw_ns_map_no_map(a, -e):cljs.tools.reader.impl.errors.throw_bad_ns(a,e)}; -cljs.tools.reader.macros=function(a){switch(a){case '"':return cljs.tools.reader.read_string_STAR_;case ":":return cljs.tools.reader.read_keyword;case ";":return cljs.tools.reader.impl.commons.read_comment;case "'":return cljs.tools.reader.wrapping_reader(cljs.core.cst$sym$quote);case "@":return cljs.tools.reader.wrapping_reader(cljs.core.cst$sym$clojure$core_SLASH_deref);case "^":return cljs.tools.reader.read_meta;case "`":return cljs.tools.reader.read_syntax_quote;case "~":return cljs.tools.reader.read_unquote; -case "(":return cljs.tools.reader.read_list;case ")":return cljs.tools.reader.read_unmatched_delimiter;case "[":return cljs.tools.reader.read_vector;case "]":return cljs.tools.reader.read_unmatched_delimiter;case "{":return cljs.tools.reader.read_map;case "}":return cljs.tools.reader.read_unmatched_delimiter;case "\\":return cljs.tools.reader.read_char_STAR_;case "%":return cljs.tools.reader.read_arg;case "#":return cljs.tools.reader.read_dispatch;default:return null}}; -cljs.tools.reader.dispatch_macros=function(a){switch(a){case "^":return cljs.tools.reader.read_meta;case "'":return cljs.tools.reader.wrapping_reader(cljs.core.cst$sym$var);case "(":return cljs.tools.reader.read_fn;case "{":return cljs.tools.reader.read_set;case "\x3c":return cljs.tools.reader.impl.commons.throwing_reader("Unreadable form");case "\x3d":return cljs.tools.reader.impl.commons.throwing_reader("read-eval not supported");case '"':return cljs.tools.reader.read_regex;case "!":return cljs.tools.reader.impl.commons.read_comment; -case "_":return cljs.tools.reader.read_discard;case "?":return cljs.tools.reader.read_cond;case ":":return cljs.tools.reader.read_namespaced_map;case "#":return cljs.tools.reader.read_symbolic_value;default:return null}}; -cljs.tools.reader.read_tagged=function(a,b,c,d){b=cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5?cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(a,!0,null,c,d):cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d);b instanceof cljs.core.Symbol||cljs.tools.reader.impl.errors.throw_bad_reader_tag(a,b);if(cljs.core.truth_(cljs.tools.reader._STAR_suppress_read_STAR_))return cljs.core.tagged_literal(b,cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5?cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(a, -!0,null,c,d):cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d));var e=cljs.tools.reader._STAR_data_readers_STAR_.cljs$core$IFn$_invoke$arity$1?cljs.tools.reader._STAR_data_readers_STAR_.cljs$core$IFn$_invoke$arity$1(b):cljs.tools.reader._STAR_data_readers_STAR_.call(null,b);e=cljs.core.truth_(e)?e:cljs.tools.reader.default_data_readers.cljs$core$IFn$_invoke$arity$1?cljs.tools.reader.default_data_readers.cljs$core$IFn$_invoke$arity$1(b):cljs.tools.reader.default_data_readers.call(null,b);if(cljs.core.truth_(e))return a= -cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5?cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(a,!0,null,c,d):cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d),e.cljs$core$IFn$_invoke$arity$1?e.cljs$core$IFn$_invoke$arity$1(a):e.call(null,a);e=cljs.tools.reader._STAR_default_data_reader_fn_STAR_;return cljs.core.truth_(e)?(a=cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5?cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(a,!0,null,c,d):cljs.tools.reader.read_STAR_.call(null, -a,!0,null,c,d),e.cljs$core$IFn$_invoke$arity$2?e.cljs$core$IFn$_invoke$arity$2(b,a):e.call(null,b,a)):cljs.tools.reader.impl.errors.throw_unknown_reader_tag(a,b)};cljs.tools.reader._STAR_data_readers_STAR_=cljs.core.PersistentArrayMap.EMPTY;cljs.tools.reader._STAR_default_data_reader_fn_STAR_=null;cljs.tools.reader._STAR_suppress_read_STAR_=!1;cljs.tools.reader.default_data_readers=cljs.core.PersistentArrayMap.EMPTY; -cljs.tools.reader.read_STAR__internal=function(a,b,c,d,e,f){for(;;){if(cljs.tools.reader.reader_types.source_logging_reader_QMARK_(a)&&!cljs.tools.reader.impl.utils.whitespace_QMARK_(a.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null)))return cljs.tools.reader.reader_types.log_source_STAR_(a,function(){for(;;)if(goog.array.isEmpty(f)){var g=a.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);if(!cljs.tools.reader.impl.utils.whitespace_QMARK_(g)){if(null==g)return b?cljs.tools.reader.impl.errors.throw_eof_error(a, -null):c;if(g===d)return cljs.tools.reader.READ_FINISHED;if(cljs.tools.reader.impl.commons.number_literal_QMARK_(a,g))return cljs.tools.reader.read_number(a,g);var h=cljs.tools.reader.macros(g);if(null!=h){if(g=h.cljs$core$IFn$_invoke$arity$4?h.cljs$core$IFn$_invoke$arity$4(a,g,e,f):h.call(null,a,g,e,f),g!==a)return g}else return cljs.tools.reader.read_symbol(a,g)}}else return g=f[0],goog.array.removeAt(f,0),g});if(goog.array.isEmpty(f)){var g=a.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null); -if(!cljs.tools.reader.impl.utils.whitespace_QMARK_(g)){if(null==g)return b?cljs.tools.reader.impl.errors.throw_eof_error(a,null):c;if(g===d)return cljs.tools.reader.READ_FINISHED;if(cljs.tools.reader.impl.commons.number_literal_QMARK_(a,g))return cljs.tools.reader.read_number(a,g);var h=cljs.tools.reader.macros(g);if(null!=h){if(g=h.cljs$core$IFn$_invoke$arity$4?h.cljs$core$IFn$_invoke$arity$4(a,g,e,f):h.call(null,a,g,e,f),g!==a)return g}else return cljs.tools.reader.read_symbol(a,g)}}else return g= -f[0],goog.array.removeAt(f,0),g}}; -cljs.tools.reader.read_STAR_=function(a){switch(arguments.length){case 5:return cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(a,b,c,null,d,e)}; -cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){try{return cljs.tools.reader.read_STAR__internal(a,b,c,d,e,f)}catch(g){if(g instanceof Error){b=g;if(cljs.tools.reader.impl.utils.ex_info_QMARK_(b)){c=cljs.core.ex_data(b);if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$reader_DASH_exception,cljs.core.cst$kw$type.cljs$core$IFn$_invoke$arity$1(c)))throw b;throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(b.message,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, -1,[cljs.core.cst$kw$type,cljs.core.cst$kw$reader_DASH_exception],null),c,cljs.tools.reader.reader_types.indexing_reader_QMARK_(a)?new cljs.core.PersistentArrayMap(null,3,[cljs.core.cst$kw$line,a.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),cljs.core.cst$kw$column,a.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null),cljs.core.cst$kw$file,a.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1(null)],null):null],0)),b);}throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(b.message, -cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$type,cljs.core.cst$kw$reader_DASH_exception],null),cljs.tools.reader.reader_types.indexing_reader_QMARK_(a)?new cljs.core.PersistentArrayMap(null,3,[cljs.core.cst$kw$line,a.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),cljs.core.cst$kw$column,a.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null), -cljs.core.cst$kw$file,a.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1(null)],null):null],0)),b);}throw g;}};cljs.tools.reader.read_STAR_.cljs$lang$maxFixedArity=6; -cljs.tools.reader.read=function(a){switch(arguments.length){case 1:return cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3(a,!0,null)}; -cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2=function(a,b){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,a):a;var c=cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,cljs.core.cst$kw$eof,cljs.core.cst$kw$eofthrow);return cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(b,cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,cljs.core.cst$kw$eofthrow),c,null,a,cljs.core.to_array(cljs.core.PersistentVector.EMPTY))}; -cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(a,b,c,null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.to_array(cljs.core.PersistentVector.EMPTY))};cljs.tools.reader.read.cljs$lang$maxFixedArity=3; -cljs.tools.reader.read_string=function(a){switch(arguments.length){case 1:return cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,a)};cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?""!==b:b)?cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2(a,cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(b)):null}; -cljs.tools.reader.read_string.cljs$lang$maxFixedArity=2;cljs.tools.reader.read_PLUS_string=function(a){for(var b=[],c=arguments.length,d=0;;)if(dcljs.tools.reader.edn.upper_limit&&c>8-d%1*8)){c=a.charCodeAt(d+=.75);if(255>(-2*b&6)):0)d=com.cognitect.transit.util.chars.indexOf(d);return f}; -com.cognitect.transit.util.Uint8ToBase64=function(a){for(var b=0,c=a.length,d="",e;b>2)};com.cognitect.transit.eq.stringCodeCache={};com.cognitect.transit.eq.stringCodeCacheSize=0;com.cognitect.transit.eq.STR_CACHE_MAX=256; -com.cognitect.transit.eq.hashString=function(a){var b=com.cognitect.transit.eq.stringCodeCache[a];if(null!=b)return b;for(var c=b=0;c=com.cognitect.transit.eq.STR_CACHE_MAX&&(com.cognitect.transit.eq.stringCodeCache={},com.cognitect.transit.eq.stringCodeCacheSize=1);return com.cognitect.transit.eq.stringCodeCache[a]=b}; -com.cognitect.transit.eq.hashMapLike=function(a){var b=0;if(null!=a.forEach)a.forEach(function(a,c,d){b=(b+(com.cognitect.transit.eq.hashCode(c)^com.cognitect.transit.eq.hashCode(a)))%4503599627370496});else for(var c=com.cognitect.transit.util.objectKeys(a),d=0;dd;d+=2,c-=8)b|=parseInt(a.substring(d,d+2),16)<d;d+=2,c-=8)e|=parseInt(a.substring(d,d+2),16)<d;d+=2,c-=8)b|=parseInt(a.substring(d,d+2),16)<d;d+=2,c-=8)e|=parseInt(a.substring(d,d+2),16)<com.cognitect.transit.types.ARRAY_MAP_ACCESS_THRESHOLD?(this.backingMap=com.cognitect.transit.types.map(this._entries,!1,!0),this._entries=[],!0):!1}; -com.cognitect.transit.types.TransitArrayMap.prototype.clear=function(){this.hashCode=-1;this.backingMap?this.backingMap.clear():this._entries=[];this.size=0};com.cognitect.transit.types.TransitArrayMap.prototype.clear=com.cognitect.transit.types.TransitArrayMap.prototype.clear;com.cognitect.transit.types.TransitArrayMap.prototype.keys=function(){return this.backingMap?this.backingMap.keys():new com.cognitect.transit.types.TransitArrayMapIterator(this._entries,com.cognitect.transit.types.KEYS)}; -com.cognitect.transit.types.TransitArrayMap.prototype.keys=com.cognitect.transit.types.TransitArrayMap.prototype.keys;com.cognitect.transit.types.TransitArrayMap.prototype.keySet=function(){if(this.backingMap)return this.backingMap.keySet();for(var a=[],b=0,c=0;ccom.cognitect.transit.types.ARRAY_MAP_THRESHOLD&&(this.backingMap=com.cognitect.transit.types.map(this._entries,!1,!0),this._entries=null)}}; -com.cognitect.transit.types.TransitArrayMap.prototype.set=com.cognitect.transit.types.TransitArrayMap.prototype.set;com.cognitect.transit.types.TransitArrayMap.prototype["delete"]=function(a){this.hashCode=-1;if(this.backingMap)return a=this.backingMap["delete"](a),this.size=this.backingMap.size,a;for(var b=0;bcom.cognitect.transit.caching.MIN_SIZE_CACHEABLE){if(b)return!0;b=a.charAt(0);a=a.charAt(1);return b===com.cognitect.transit.delimiters.ESC?":"===a||"$"===a||"#"===a:!1}return!1}; -com.cognitect.transit.caching.idxToCode=function(a){var b=Math.floor(a/com.cognitect.transit.caching.CACHE_CODE_DIGITS);a=String.fromCharCode(a%com.cognitect.transit.caching.CACHE_CODE_DIGITS+com.cognitect.transit.caching.BASE_CHAR_IDX);return 0===b?com.cognitect.transit.delimiters.SUB+a:com.cognitect.transit.delimiters.SUB+String.fromCharCode(b+com.cognitect.transit.caching.BASE_CHAR_IDX)+a};com.cognitect.transit.caching.WriteCache=function(){this.cacheSize=this.gen=this.idx=0;this.cache={}}; -com.cognitect.transit.caching.WriteCache.prototype.write=function(a,b){return com.cognitect.transit.caching.isCacheable(a,b)?(this.cacheSize===com.cognitect.transit.caching.MAX_CACHE_SIZE?(this.clear(),this.gen=0,this.cache={}):this.idx===com.cognitect.transit.caching.MAX_CACHE_ENTRIES&&this.clear(),b=this.cache[a],null==b?(this.cache[a]=[com.cognitect.transit.caching.idxToCode(this.idx),this.gen],this.idx++,a):b[1]!=this.gen?(b[1]=this.gen,b[0]=com.cognitect.transit.caching.idxToCode(this.idx),this.idx++, -a):b[0]):a};com.cognitect.transit.caching.WriteCache.prototype.clear=function(){this.idx=0;this.gen++};com.cognitect.transit.caching.writeCache=function(){return new com.cognitect.transit.caching.WriteCache};com.cognitect.transit.caching.isCacheCode=function(a){return a.charAt(0)===com.cognitect.transit.delimiters.SUB&&" "!==a.charAt(1)}; -com.cognitect.transit.caching.codeToIdx=function(a){if(2===a.length)return a.charCodeAt(1)-com.cognitect.transit.caching.BASE_CHAR_IDX;var b=(a.charCodeAt(1)-com.cognitect.transit.caching.BASE_CHAR_IDX)*com.cognitect.transit.caching.CACHE_CODE_DIGITS;a=a.charCodeAt(2)-com.cognitect.transit.caching.BASE_CHAR_IDX;return b+a};com.cognitect.transit.caching.ReadCache=function(){this.idx=0;this.cache=[]}; -com.cognitect.transit.caching.ReadCache.prototype.write=function(a,b){this.idx==com.cognitect.transit.caching.MAX_CACHE_ENTRIES&&(this.idx=0);this.cache[this.idx]=a;this.idx++;return a};com.cognitect.transit.caching.ReadCache.prototype.read=function(a,b){return this.cache[com.cognitect.transit.caching.codeToIdx(a)]};com.cognitect.transit.caching.ReadCache.prototype.clear=function(){this.idx=0};com.cognitect.transit.caching.readCache=function(){return new com.cognitect.transit.caching.ReadCache};com.cognitect.transit.impl={};com.cognitect.transit.impl.decoder={};com.cognitect.transit.impl.decoder.Tag=function(a){this.str=a};com.cognitect.transit.impl.decoder.tag=function(a){return new com.cognitect.transit.impl.decoder.Tag(a)};com.cognitect.transit.impl.decoder.isTag=function(a){return a&&a instanceof com.cognitect.transit.impl.decoder.Tag};com.cognitect.transit.impl.decoder.isGroundHandler=function(a){switch(a){case "_":case "s":case "?":case "i":case "d":case "b":case "'":case "array":case "map":return!0}return!1}; -com.cognitect.transit.impl.decoder.Decoder=function(a){this.options=a||{};this.handlers={};for(var b in this.defaults.handlers)this.handlers[b]=this.defaults.handlers[b];for(b in this.options.handlers){if(com.cognitect.transit.impl.decoder.isGroundHandler(b))throw Error('Cannot override handler for ground type "'+b+'"');this.handlers[b]=this.options.handlers[b]}this.preferStrings=null!=this.options.preferStrings?this.options.preferStrings:this.defaults.preferStrings;this.preferBuffers=null!=this.options.preferBuffers? -this.options.preferBuffers:this.defaults.preferBuffers;this.defaultHandler=this.options.defaultHandler||this.defaults.defaultHandler;this.mapBuilder=this.options.mapBuilder;this.arrayBuilder=this.options.arrayBuilder}; -com.cognitect.transit.impl.decoder.Decoder.prototype.defaults={handlers:{_:function(a,b){return com.cognitect.transit.types.nullValue()},"?":function(a,b){return com.cognitect.transit.types.boolValue(a)},b:function(a,b){return com.cognitect.transit.types.binary(a,b)},i:function(a,b){return com.cognitect.transit.types.intValue(a)},n:function(a,b){return com.cognitect.transit.types.bigInteger(a)},d:function(a,b){return com.cognitect.transit.types.floatValue(a)},f:function(a,b){return com.cognitect.transit.types.bigDecimalValue(a)}, -c:function(a,b){return com.cognitect.transit.types.charValue(a)},":":function(a,b){return com.cognitect.transit.types.keyword(a)},$:function(a,b){return com.cognitect.transit.types.symbol(a)},r:function(a,b){return com.cognitect.transit.types.uri(a)},z:function(a,b){return com.cognitect.transit.types.specialDouble(a)},"'":function(a,b){return a},m:function(a,b){return com.cognitect.transit.types.date(a)},t:function(a,b){return com.cognitect.transit.types.verboseDate(a)},u:function(a,b){return com.cognitect.transit.types.uuid(a)}, -set:function(a,b){return com.cognitect.transit.types.set(a)},list:function(a,b){return com.cognitect.transit.types.list(a)},link:function(a,b){return com.cognitect.transit.types.link(a)},cmap:function(a,b){return com.cognitect.transit.types.map(a,!1)}},defaultHandler:function(a,b){return com.cognitect.transit.types.taggedValue(a,b)},preferStrings:!0,preferBuffers:!0}; -com.cognitect.transit.impl.decoder.Decoder.prototype.decode=function(a,b,c,d){if(null==a)return null;switch(typeof a){case "string":return this.decodeString(a,b,c,d);case "object":return com.cognitect.transit.util.isArray(a)?"^ "===a[0]?this.decodeArrayHash(a,b,c,d):this.decodeArray(a,b,c,d):this.decodeHash(a,b,c,d)}return a};com.cognitect.transit.impl.decoder.Decoder.prototype.decode=com.cognitect.transit.impl.decoder.Decoder.prototype.decode; -com.cognitect.transit.impl.decoder.Decoder.prototype.decodeString=function(a,b,c,d){return com.cognitect.transit.caching.isCacheable(a,c)?(a=this.parseString(a,b,!1),b&&b.write(a,c),a):com.cognitect.transit.caching.isCacheCode(a)?b.read(a,c):this.parseString(a,b,c)}; -com.cognitect.transit.impl.decoder.Decoder.prototype.decodeHash=function(a,b,c,d){c=com.cognitect.transit.util.objectKeys(a);var e=c[0];d=1==c.length?this.decode(e,b,!1,!1):null;if(com.cognitect.transit.impl.decoder.isTag(d))return a=a[e],c=this.handlers[d.str],null!=c?c(this.decode(a,b,!1,!0),this):com.cognitect.transit.types.taggedValue(d.str,this.decode(a,b,!1,!1));if(this.mapBuilder){if(c.length<2*com.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD&&this.mapBuilder.fromArray){var f=[];for(d= -0;d=a.length&&this.arrayBuilder.fromArray){e= -[];for(d=0;dthis.head?(cljs.core.async.impl.buffers.acopy(this.arr,this.tail,a,0,this.arr.length-this.tail),cljs.core.async.impl.buffers.acopy(this.arr,0,a,this.arr.length-this.tail,this.head),this.tail=0,this.head=this.length,this.arr=a):this.tail===this.head? -(this.head=this.tail=0,this.arr=a):null};cljs.core.async.impl.buffers.RingBuffer.prototype.cleanup=function(a){for(var b=this.length,c=0;;)if(cd.puts.length))throw Error(["Assert failed: ", -["No more than ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(1024)," pending puts are allowed on a single channel. Consider using a windowed buffer."].join(""),"\n(\x3c (.-length puts) impl/MAX-QUEUE-SIZE)"].join(""));d.puts.unbounded_unshift(new cljs.core.async.impl.channels.PutBox(c,b))}return null};cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$=cljs.core.PROTOCOL_SENTINEL; -cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2=function(a,b){var c=this;if(b.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){if(null!=c.buf&&0c.takes.length))throw Error(["Assert failed: ",["No more than ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(1024), -" pending takes are allowed on a single channel."].join(""),"\n(\x3c (.-length takes) impl/MAX-QUEUE-SIZE)"].join(""));c.takes.unbounded_unshift(b)}}return null};cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$=cljs.core.PROTOCOL_SENTINEL;cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1=function(a){return this.closed}; -cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1=function(a){var b=this;if(!b.closed){b.closed=!0;for(cljs.core.truth_(function(){var a=b.buf;return cljs.core.truth_(a)?0===b.puts.length:a}())&&(b.add_BANG_.cljs$core$IFn$_invoke$arity$1?b.add_BANG_.cljs$core$IFn$_invoke$arity$1(b.buf):b.add_BANG_.call(null,b.buf));;)if(a=b.takes.pop(),null!=a){if(a.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){var c=a.cljs$core$async$impl$protocols$Handler$commit$arity$1(null), -d=cljs.core.truth_(function(){var a=b.buf;return cljs.core.truth_(a)?0c)return a;a:for(;;){var e=cthis.level){for(var e=this.level+1;;)if(e<=d+1)c[e]=this.header,e+=1;else break;this.level=d}for(a=cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3(a, -b,Array(d));;)return 0<=this.level?(c=c[0].forward,a.forward[0]=c[0],c[0]=a):null}; -cljs.core.async.impl.timers.SkipList.prototype.remove=function(a){var b=Array(cljs.core.async.impl.timers.MAX_LEVEL),c=cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(this.header,a,this.level,b);c=0===c.forward.length?null:c.forward[0];if(null!=c&&c.key===a){for(a=0;;)if(a<=this.level){var d=b[a].forward;c===(ac)return b===this.header?null:b;var d;a:for(d=b;;)if(d=c=a)break a;null!=d?(--c,b=d):--c}}; -cljs.core.async.impl.timers.SkipList.prototype.floorEntry=function(a){for(var b=this.header,c=this.level;;){if(0>c)return b===this.header?null:b;var d;a:for(d=b;;){var e=ca)break a;d=e}else{d=0===c?d:null;break a}}cljs.core.truth_(d)?(--c,b=d):--c}}; -cljs.core.async.impl.timers.SkipList.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return function(a){return function e(b){return new cljs.core.LazySeq(null,function(a){return function(){return null==b?null:cljs.core.cons(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b.key,b.val],null),e(b.forward[0]))}}(a),null,null)}}(this)(this.header.forward[0])}; -cljs.core.async.impl.timers.SkipList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer(b,a,"{",", ","}",c,this)}; -cljs.core.async.impl.timers.SkipList.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$header,cljs.core.with_meta(cljs.core.cst$sym$level,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$mutable,!0],null))],null)};cljs.core.async.impl.timers.SkipList.cljs$lang$type=!0;cljs.core.async.impl.timers.SkipList.cljs$lang$ctorStr="cljs.core.async.impl.timers/SkipList"; -cljs.core.async.impl.timers.SkipList.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core.async.impl.timers/SkipList")};cljs.core.async.impl.timers.__GT_SkipList=function(a,b){return new cljs.core.async.impl.timers.SkipList(a,b)};cljs.core.async.impl.timers.skip_list=function(){return new cljs.core.async.impl.timers.SkipList(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1(0),0)};cljs.core.async.impl.timers.timeouts_map=cljs.core.async.impl.timers.skip_list(); -cljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS=10; -cljs.core.async.impl.timers.timeout=function(a){var b=(new Date).valueOf()+a,c=cljs.core.async.impl.timers.timeouts_map.ceilingEntry(b),d=cljs.core.truth_(cljs.core.truth_(c)?c.keycljs.core.cst$kw$cljs$spec$alpha_SLASH_recursion_DASH_limit.cljs$core$IFn$_invoke$arity$1(a)&&cljs.core.contains_QMARK_(cljs.core.set(c),d)};cljs.spec.alpha.inck=function(a,b){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,function(){var c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b);return cljs.core.truth_(c)?c:0}()+1)}; -cljs.spec.alpha.dt=function(a){switch(arguments.length){case 3:return cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4(a,b,c,null)}; -cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){if(cljs.core.truth_(a)){var e=cljs.spec.alpha.the_spec(a);if(cljs.core.truth_(e))return cljs.spec.alpha.conform(e,b);if(cljs.core.ifn_QMARK_(a))return cljs.core.truth_(d)?a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b):cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b))?b:cljs.core.cst$kw$cljs$spec$alpha_SLASH_invalid;throw Error([cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([c], -0))," is not a fn, expected predicate fn"].join(""));}return b};cljs.spec.alpha.dt.cljs$lang$maxFixedArity=4;cljs.spec.alpha.valid_QMARK_=function(a){switch(arguments.length){case 2:return cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2=function(a,b){a=cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(a);return!cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform_STAR_(a,b))};cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2(a,c);return!cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform_STAR_(a,b))};cljs.spec.alpha.valid_QMARK_.cljs$lang$maxFixedArity=3; -cljs.spec.alpha.pvalid_QMARK_=function(a){switch(arguments.length){case 2:return cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2=function(a,b){return!cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.cst$kw$cljs$spec$alpha_SLASH_unknown))};cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return!cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(a,b,c))};cljs.spec.alpha.pvalid_QMARK_.cljs$lang$maxFixedArity=3; -cljs.spec.alpha.explain_1=function(a,b,c,d,e,f){var g=cljs.spec.alpha.maybe_spec(b);return cljs.core.truth_(cljs.spec.alpha.spec_QMARK_(g))?cljs.spec.alpha.explain_STAR_(g,c,function(){var a=cljs.spec.alpha.spec_name(g);return cljs.core.truth_(a)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(d,a):d}(),e,f):new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$path,c,cljs.core.cst$kw$pred,a,cljs.core.cst$kw$val,f,cljs.core.cst$kw$via, -d,cljs.core.cst$kw$in,e],null)],null)}; -cljs.spec.alpha.k_gen=function(a){return a instanceof cljs.core.Keyword?cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a],0)):cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$sym$or,cljs.core.first(a))?cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2(1,cljs.core.rest(a)):cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$sym$and,cljs.core.first(a))?cljs.spec.alpha.and_k_gen(cljs.core.rest(a)):null}; -cljs.spec.alpha.or_k_gen=function(a){switch(arguments.length){case 1:return cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2(0,a)}; -cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a,cljs.core.count(b)],0)),cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.k_gen, -b)],0))],0)),function(a){var b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,1,null);return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.take.cljs$core$IFn$_invoke$arity$2(b,a))}],0))};cljs.spec.alpha.or_k_gen.cljs$lang$maxFixedArity=2; -cljs.spec.alpha.and_k_gen=function(a){return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.k_gen,a))}; -cljs.spec.alpha.map_spec_impl=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,a):a,c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$opt),d=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$req_DASH_un),e=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$opt_DASH_un),f=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$gfn), -g=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$pred_DASH_exprs),h=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$keys_DASH_pred),k=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$opt_DASH_keys),l=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$req_DASH_specs),m=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$req),n=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$req_DASH_keys),p=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b, -cljs.core.cst$kw$opt_DASH_specs),q=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$pred_DASH_forms),r=cljs.core.zipmap(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(n,k),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(l,p)),u=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t){return function(b){var c=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);return cljs.core.truth_(c)?c:b}}(r,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),t=cljs.core.random_uuid();if("undefined"===typeof cljs|| -"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha17550)cljs.spec.alpha.t_cljs$spec$alpha17550=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F,O){this.keys__GT_specnames=a;this.opt=b;this.req_un=c;this.opt_un=d;this.gfn=e;this.pred_exprs=f;this.keys_pred=g;this.argm=h;this.opt_keys=k;this.map__17548=l;this.req_specs=m;this.req=n;this.id=q;this.req_keys=p;this.opt_specs=r;this.p__17547=t;this.k__GT_s=u;this.pred_forms=F;this.meta17551= -O;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha17550.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha17550(this.keys__GT_specnames,this.opt,this.req_un,this.opt_un,this.gfn,this.pred_exprs,this.keys_pred,this.argm,this.opt_keys,this.map__17548,this.req_specs,this.req,this.id,this.req_keys,this.opt_specs,this.p__17547, -this.k__GT_s,this.pred_forms,b)}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha17550.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F){return function(a){return this.meta17551}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha17550.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha17550.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a,b,c,d,e,f,g,h,k,l, -m,n,q,p,r,t,u,F){return function(a){return this}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha17550.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F){return function(a,b){return this}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha17550.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha17550.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a, -b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F){return function(a,b){if(cljs.core.truth_(this.keys_pred.cljs$core$IFn$_invoke$arity$1?this.keys_pred.cljs$core$IFn$_invoke$arity$1(b):this.keys_pred.call(null,b))){a=cljs.spec.alpha.registry();var c=cljs.core.seq(b),d=cljs.core.first(c);cljs.core.next(c);cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,0,null);cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,1,null);for(d=c=b;;){b=c;var e=cljs.core.seq(d);c=cljs.core.first(e);var f=cljs.core.next(e);e=c;c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e, -0,null);e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null);if(cljs.core.truth_(d))if(d=this.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1?this.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(c):this.keys__GT_specnames.call(null,c),d=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,d),cljs.core.truth_(d)){d=cljs.spec.alpha.conform(d,e);if(cljs.spec.alpha.invalid_QMARK_(d))return cljs.core.cst$kw$cljs$spec$alpha_SLASH_invalid;b=d===e?b:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,c,d);d=f; -c=b}else d=f,c=b;else return b}}else return cljs.core.cst$kw$cljs$spec$alpha_SLASH_invalid}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha17550.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F){return function(a,b){a=cljs.spec.alpha.registry();var c=cljs.core.keys(b),d=cljs.core.seq(c);cljs.core.first(d);cljs.core.next(d);for(d=b;;){var e=cljs.core.seq(c),f=cljs.core.first(e);e=cljs.core.next(e);if(cljs.core.truth_(c))if(cljs.core.contains_QMARK_(a, -this.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1?this.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(f):this.keys__GT_specnames.call(null,f))){c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,f);var g=cljs.spec.alpha.unform(this.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1?this.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(f):this.keys__GT_specnames.call(null,f),c);d=c===g?d:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(d,f,g);c=e}else c=e;else return d}}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l, -m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha17550.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F){return function(v,w,z,x,y){var B=this,E=this;if(cljs.core.map_QMARK_(y)){var D=cljs.spec.alpha.registry();return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.concat,function(){var v=cljs.core.seq(cljs.core.keep.cljs$core$IFn$_invoke$arity$2(cljs.core.identity,cljs.core.map.cljs$core$IFn$_invoke$arity$3(function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r, -t,u,v,w,z){return function(a,b){return cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(y):a.call(null,y))?null:b}}(D,E,a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F),B.pred_exprs,B.pred_forms)));return v?cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,B,E,D,C){return function(a){return cljs.core.identity(new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$path,w,cljs.core.cst$kw$pred,a,cljs.core.cst$kw$val,y,cljs.core.cst$kw$via, -z,cljs.core.cst$kw$in,x],null))}}(v,v,D,E,a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F),v):null}(),cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,y,E){return function(b){var c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null);return!cljs.core.contains_QMARK_(a,B.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1?B.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(c):B.keys__GT_specnames.call(null,c))||cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3(B.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1? -B.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(c):B.keys__GT_specnames.call(null,c),b,c)?null:cljs.spec.alpha.explain_1(B.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1?B.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(c):B.keys__GT_specnames.call(null,c),B.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1?B.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(c):B.keys__GT_specnames.call(null,c),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(w,c),z,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(x, -c),b)}}(D,E,a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F),cljs.core.seq(y)))}return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$path,w,cljs.core.cst$kw$pred,cljs.core.cst$sym$cljs$core_SLASH_map_QMARK_,cljs.core.cst$kw$val,y,cljs.core.cst$kw$via,z,cljs.core.cst$kw$in,x],null)],null)}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha17550.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a, -b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F){return function(v,w,z,x){var y=this;if(cljs.core.truth_(y.gfn))return y.gfn.cljs$core$IFn$_invoke$arity$0?y.gfn.cljs$core$IFn$_invoke$arity$0():y.gfn.call(null);v=cljs.spec.alpha.inck(x,y.id);x=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,x,y){return function(b,c){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.spec.alpha.gensub(c,w,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(z,b),a,b)],null)}}(v,this,a,b,c,d,e,f,g,h, -k,l,m,n,q,p,r,t,u,F);var B=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,x,B,E){return function(D,C){return cljs.spec.alpha.recur_limit_QMARK_(a,y.id,z,D)?null:new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[D,cljs.spec.gen.alpha.delay_impl(new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,x,y,B){return function(){return cljs.spec.alpha.gensub(C,w,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(z,D),a,D)}}(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,x,B,E),null))], -null)}}(v,x,this,a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F),E=cljs.core.map.cljs$core$IFn$_invoke$arity$3(x,y.req_keys,y.req_specs),D=cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$3(B,y.opt_keys,y.opt_specs));return cljs.core.every_QMARK_(cljs.core.identity,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,E),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,D)))?cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.and_k_gen(y.req), -cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1(y.opt),cljs.spec.alpha.and_k_gen(y.req_un),cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1(y.opt_un)],0)),function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y,B,E){return function(D){var C=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(D,0,null),A=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(D,1,null),H=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(D,2,null),J=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(D,3,null),G=cljs.core.flatten(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(C, -A)),K=cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.keyword,cljs.core.name),cljs.core.flatten(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(H,J)));return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.hash_map,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.filter.cljs$core$IFn$_invoke$arity$2(function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y,B,D,E,C,A,H,J,G,K){return function(c){c=cljs.core.first(c); -var d=cljs.core.set(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(a,b));return d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(c):d.call(null,c)}}(G,K,D,C,A,H,J,a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y,B,E),cljs.core.into.cljs$core$IFn$_invoke$arity$2(d,e))))}}(v,x,B,E,D,this,a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F)],0)):null}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha17550.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b,c,d,e,f,g,h, -k,l,m,n,q,p,r,t,u,F){return function(a,b){a=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this.argm,cljs.core.cst$kw$gfn,b);return cljs.spec.alpha.map_spec_impl.cljs$core$IFn$_invoke$arity$1?cljs.spec.alpha.map_spec_impl.cljs$core$IFn$_invoke$arity$1(a):cljs.spec.alpha.map_spec_impl.call(null,a)}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha17550.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F){return function(a){var b=this; -return cljs.core.cons(cljs.core.cst$sym$cljs$spec$alpha_SLASH_keys,function(){var a=cljs.core.PersistentVector.EMPTY;a=cljs.core.truth_(b.req)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(a,cljs.core.cst$kw$req,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([b.req],0)):a;a=cljs.core.truth_(b.opt)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(a,cljs.core.cst$kw$opt,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([b.opt],0)):a;a=cljs.core.truth_(b.req_un)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(a, -cljs.core.cst$kw$req_DASH_un,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([b.req_un],0)):a;return cljs.core.truth_(b.opt_un)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(a,cljs.core.cst$kw$opt_DASH_un,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([b.opt_un],0)):a}())}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha17550.getBasis=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F){return function(){return new cljs.core.PersistentVector(null,19,5,cljs.core.PersistentVector.EMPTY_NODE, -[cljs.core.cst$sym$keys_DASH__GT_specnames,cljs.core.cst$sym$opt,cljs.core.cst$sym$req_DASH_un,cljs.core.cst$sym$opt_DASH_un,cljs.core.cst$sym$gfn,cljs.core.cst$sym$pred_DASH_exprs,cljs.core.cst$sym$keys_DASH_pred,cljs.core.cst$sym$argm,cljs.core.cst$sym$opt_DASH_keys,cljs.core.cst$sym$map__17548,cljs.core.cst$sym$req_DASH_specs,cljs.core.cst$sym$req,cljs.core.cst$sym$id,cljs.core.cst$sym$req_DASH_keys,cljs.core.cst$sym$opt_DASH_specs,cljs.core.cst$sym$p__17547,cljs.core.cst$sym$k_DASH__GT_s,cljs.core.cst$sym$pred_DASH_forms, -cljs.core.cst$sym$meta17551],null)}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha17550.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha17550.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha17550",cljs.spec.alpha.t_cljs$spec$alpha17550.cljs$lang$ctorPrWriter=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F){return function(a,b,c){return cljs.core._write(b,"cljs.spec.alpha/t_cljs$spec$alpha17550")}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.__GT_t_cljs$spec$alpha17550= -function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,F){return function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w){return new cljs.spec.alpha.t_cljs$spec$alpha17550(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w)}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q);return new cljs.spec.alpha.t_cljs$spec$alpha17550(u,c,d,e,f,g,h,b,k,b,l,m,t,n,p,a,r,q,cljs.core.PersistentArrayMap.EMPTY)}; -cljs.spec.alpha.spec_impl=function(a){switch(arguments.length){case 4:return cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(a,b,c,d,null)}; -cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){if(cljs.core.truth_(cljs.spec.alpha.spec_QMARK_(b)))return cljs.core.truth_(c)?cljs.spec.alpha.with_gen(b,c):b;if(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(b)))return cljs.spec.alpha.regex_spec_impl(b,c);if(cljs.core.ident_QMARK_(b))return a=cljs.spec.alpha.the_spec(b),cljs.core.truth_(c)?cljs.spec.alpha.with_gen(a,c):a;if("undefined"===typeof cljs||"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha|| -"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha17609)cljs.spec.alpha.t_cljs$spec$alpha17609=function(a,b,c,d,e,m){this.form=a;this.pred=b;this.gfn=c;this.cpred_QMARK_=d;this.unc=e;this.meta17610=m;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha17609.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha17609(this.form,this.pred,this.gfn,this.cpred_QMARK_,this.unc, -b)},cljs.spec.alpha.t_cljs$spec$alpha17609.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta17610},cljs.spec.alpha.t_cljs$spec$alpha17609.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha17609.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a){return this},cljs.spec.alpha.t_cljs$spec$alpha17609.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b){return this},cljs.spec.alpha.t_cljs$spec$alpha17609.prototype.cljs$spec$alpha$Spec$= -cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha17609.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a,b){a=this.pred.cljs$core$IFn$_invoke$arity$1?this.pred.cljs$core$IFn$_invoke$arity$1(b):this.pred.call(null,b);return cljs.core.truth_(this.cpred_QMARK_)?a:cljs.core.truth_(a)?b:cljs.core.cst$kw$cljs$spec$alpha_SLASH_invalid},cljs.spec.alpha.t_cljs$spec$alpha17609.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b){if(cljs.core.truth_(this.cpred_QMARK_)){if(cljs.core.truth_(this.unc))return this.unc.cljs$core$IFn$_invoke$arity$1? -this.unc.cljs$core$IFn$_invoke$arity$1(b):this.unc.call(null,b);throw Error("no unform fn for conformer");}return b},cljs.spec.alpha.t_cljs$spec$alpha17609.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b,c,d,e){return cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4(this.pred,e,this.form,this.cpred_QMARK_))?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$path,b, -cljs.core.cst$kw$pred,this.form,cljs.core.cst$kw$val,e,cljs.core.cst$kw$via,c,cljs.core.cst$kw$in,d],null)],null):null},cljs.spec.alpha.t_cljs$spec$alpha17609.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b,c,d){return cljs.core.truth_(this.gfn)?this.gfn.cljs$core$IFn$_invoke$arity$0?this.gfn.cljs$core$IFn$_invoke$arity$0():this.gfn.call(null):cljs.spec.gen.alpha.gen_for_pred(this.pred)},cljs.spec.alpha.t_cljs$spec$alpha17609.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a, -b){return cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(this.form,this.pred,b,this.cpred_QMARK_,this.unc)},cljs.spec.alpha.t_cljs$spec$alpha17609.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a){return this.form},cljs.spec.alpha.t_cljs$spec$alpha17609.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$form,cljs.core.cst$sym$pred,cljs.core.cst$sym$gfn,cljs.core.cst$sym$cpred_QMARK_,cljs.core.cst$sym$unc, -cljs.core.cst$sym$meta17610],null)},cljs.spec.alpha.t_cljs$spec$alpha17609.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha17609.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha17609",cljs.spec.alpha.t_cljs$spec$alpha17609.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.spec.alpha/t_cljs$spec$alpha17609")},cljs.spec.alpha.__GT_t_cljs$spec$alpha17609=function(a,b,c,d,e,m){return new cljs.spec.alpha.t_cljs$spec$alpha17609(a,b,c,d,e,m)};return new cljs.spec.alpha.t_cljs$spec$alpha17609(a, -b,c,d,e,cljs.core.PersistentArrayMap.EMPTY)};cljs.spec.alpha.spec_impl.cljs$lang$maxFixedArity=5; -cljs.spec.alpha.multi_spec_impl=function(a){switch(arguments.length){case 3:return cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4(a,b,c,null)}; -cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){var e=cljs.core.random_uuid(),f=function(a){return function(a){var c=cljs.core.deref(b),d=cljs.core._get_method(c,function(){var b=cljs.core._dispatch_fn(c);return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)}());return cljs.core.truth_(d)?c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(a):c.call(null,a):d}}(e),g=function(a,c){return function(a){var c=cljs.core._dispatch_fn(cljs.core.deref(b)); -return c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(a):c.call(null,a)}}(e,f),h=c instanceof cljs.core.Keyword?function(a,b,d){return function(a,b){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,c,b)}}(e,f,g):c;if("undefined"===typeof cljs||"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha17623)cljs.spec.alpha.t_cljs$spec$alpha17623=function(a,b,c,d,e,f,g,h,t){this.form=a;this.mmvar=b;this.retag=c; -this.gfn=d;this.id=e;this.predx=f;this.dval=g;this.tag=h;this.meta17624=t;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha17623.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b,c,d){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha17623(this.form,this.mmvar,this.retag,this.gfn,this.id,this.predx,this.dval,this.tag,b)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha17623.prototype.cljs$core$IMeta$_meta$arity$1= -function(a,b,c,d){return function(a){return this.meta17624}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha17623.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha17623.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a,b,c,d){return function(a){return this}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha17623.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b,c,d){return function(a,b){return this}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha17623.prototype.cljs$spec$alpha$Spec$= -cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha17623.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a,b,c,d){return function(a,b){a=this.predx.cljs$core$IFn$_invoke$arity$1?this.predx.cljs$core$IFn$_invoke$arity$1(b):this.predx.call(null,b);return cljs.core.truth_(a)?cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(a,b,this.form):cljs.core.cst$kw$cljs$spec$alpha_SLASH_invalid}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha17623.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2= -function(a,b,c,d){return function(a,b){a=this.predx.cljs$core$IFn$_invoke$arity$1?this.predx.cljs$core$IFn$_invoke$arity$1(b):this.predx.call(null,b);if(cljs.core.truth_(a))return cljs.spec.alpha.unform(a,b);throw Error(["No method of: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.form)," for dispatch value: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.dval.cljs$core$IFn$_invoke$arity$1?this.dval.cljs$core$IFn$_invoke$arity$1(b):this.dval.call(null,b))].join(""));}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha17623.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5= -function(a,b,c,d){return function(a,b,c,d,e){a=this.dval.cljs$core$IFn$_invoke$arity$1?this.dval.cljs$core$IFn$_invoke$arity$1(e):this.dval.call(null,e);b=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(b,a);a=this.predx.cljs$core$IFn$_invoke$arity$1?this.predx.cljs$core$IFn$_invoke$arity$1(e):this.predx.call(null,e);return cljs.core.truth_(a)?cljs.spec.alpha.explain_1(this.form,a,b,c,d,e):new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null, -6,[cljs.core.cst$kw$path,b,cljs.core.cst$kw$pred,this.form,cljs.core.cst$kw$val,e,cljs.core.cst$kw$reason,"no method",cljs.core.cst$kw$via,c,cljs.core.cst$kw$in,d],null)],null)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha17623.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b,c,d){return function(e,f,g,h){var k=this;if(cljs.core.truth_(k.gfn))return k.gfn.cljs$core$IFn$_invoke$arity$0?k.gfn.cljs$core$IFn$_invoke$arity$0():k.gfn.call(null);e=function(a,b,c,d,e){return function(l){var m= -cljs.core.nth.cljs$core$IFn$_invoke$arity$3(l,0,null),n=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(l,1,null),q=n.cljs$core$IFn$_invoke$arity$1?n.cljs$core$IFn$_invoke$arity$1(null):n.call(null,null),p=cljs.spec.alpha.inck(h,k.id);return cljs.spec.alpha.recur_limit_QMARK_(p,k.id,g,m)?null:cljs.spec.gen.alpha.delay_impl(new cljs.core.Delay(function(a,b,c,d,e,h,l,m,n,q){return function(){return cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([function(a, -b,c,d,e,f,g,h,l,m){return function(a){return k.tag.cljs$core$IFn$_invoke$arity$2?k.tag.cljs$core$IFn$_invoke$arity$2(a,d):k.tag.call(null,a,d)}}(a,b,c,d,e,h,l,m,n,q),cljs.spec.alpha.gensub(b,f,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(g,d),a,new cljs.core.List(null,cljs.core.cst$sym$method,new cljs.core.List(null,k.form,new cljs.core.List(null,d,null,1,null),2,null),3,null))],0))}}(p,q,l,m,n,a,b,c,d,e),null))}}(this,a,b,c,d);e=cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_, -cljs.core.map.cljs$core$IFn$_invoke$arity$2(e,cljs.core.remove.cljs$core$IFn$_invoke$arity$2(function(a,b,c,d,e,f){return function(a){a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null);return cljs.spec.alpha.invalid_QMARK_(a)}}(e,this,a,b,c,d),cljs.core.methods$(cljs.core.deref(k.mmvar)))));return cljs.core.every_QMARK_(cljs.core.identity,e)?cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e],0)):null}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha17623.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2= -function(a,b,c,d){return function(a,b){return cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4(this.form,this.mmvar,this.retag,b)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha17623.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a,b,c,d){return function(a){return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$cljs$spec$alpha_SLASH_multi_DASH_spec,null,1,null), -new cljs.core.List(null,this.form,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,this.retag,null,1,null)],0))))}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha17623.getBasis=function(a,b,c,d){return function(){return new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$form,cljs.core.cst$sym$mmvar,cljs.core.cst$sym$retag,cljs.core.cst$sym$gfn,cljs.core.cst$sym$id,cljs.core.cst$sym$predx,cljs.core.cst$sym$dval,cljs.core.cst$sym$tag, -cljs.core.cst$sym$meta17624],null)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha17623.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha17623.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha17623",cljs.spec.alpha.t_cljs$spec$alpha17623.cljs$lang$ctorPrWriter=function(a,b,c,d){return function(a,b,c){return cljs.core._write(b,"cljs.spec.alpha/t_cljs$spec$alpha17623")}}(e,f,g,h),cljs.spec.alpha.__GT_t_cljs$spec$alpha17623=function(a,b,c,d){return function(a,b,c,d,e,f,g,h,k){return new cljs.spec.alpha.t_cljs$spec$alpha17623(a, -b,c,d,e,f,g,h,k)}}(e,f,g,h);return new cljs.spec.alpha.t_cljs$spec$alpha17623(a,b,c,d,e,f,g,h,cljs.core.PersistentArrayMap.EMPTY)};cljs.spec.alpha.multi_spec_impl.cljs$lang$maxFixedArity=4; -cljs.spec.alpha.tuple_impl=function(a){switch(arguments.length){case 2:return cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3(a,b,null)}; -cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=new cljs.core.Delay(function(){return cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,b,a)},null),e=cljs.core.count(b);if("undefined"===typeof cljs||"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha17637)cljs.spec.alpha.t_cljs$spec$alpha17637=function(a,b,c,d,e,m){this.forms=a;this.preds=b;this.gfn=c;this.specs=d;this.cnt=e; -this.meta17638=m;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha17637.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha17637(this.forms,this.preds,this.gfn,this.specs,this.cnt,b)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha17637.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b){return function(a){return this.meta17638}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha17637.prototype.cljs$spec$alpha$Specize$= -cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha17637.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a,b){return function(a){return this}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha17637.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b){return function(a,b){return this}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha17637.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha17637.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2= -function(a,b){return function(a,b){a=cljs.core.deref(this.specs);if(cljs.core.vector_QMARK_(b)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(b),this.cnt))for(var c=b,d=0;;){if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(d,this.cnt))return c;var e=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d),f=cljs.spec.alpha.conform_STAR_(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d),e);if(cljs.spec.alpha.invalid_QMARK_(f))return cljs.core.cst$kw$cljs$spec$alpha_SLASH_invalid; -c=f===e?c:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(c,d,f);d+=1}else return cljs.core.cst$kw$cljs$spec$alpha_SLASH_invalid}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha17637.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b){return function(a,b){if(!cljs.core.vector_QMARK_(b)||!cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(b),cljs.core.count(this.preds)))throw Error("Assert failed: (c/and (vector? x) (\x3d (count x) (count preds)))");a=b;for(var c=0;;){if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c, -cljs.core.count(b)))return a;var d=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c),e=cljs.spec.alpha.unform(this.preds.cljs$core$IFn$_invoke$arity$1?this.preds.cljs$core$IFn$_invoke$arity$1(c):this.preds.call(null,c),d);a=d===e?a:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,c,e);c+=1}}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha17637.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b){return function(c,d,e,f,g){return cljs.core.vector_QMARK_(g)?cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(g), -cljs.core.count(this.preds))?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$path,d,cljs.core.cst$kw$pred,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH__EQ_,null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null, -cljs.core.cst$sym$cljs$core_SLASH_count,null,1,null),new cljs.core.List(null,cljs.core.cst$sym$_PERCENT_,null,1,null)))),null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.count(this.preds),null,1,null)],0)))),cljs.core.cst$kw$val,g,cljs.core.cst$kw$via,e,cljs.core.cst$kw$in,f],null)],null):cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$4(function(a,b,c){return function(a,b,c){var h=g.cljs$core$IFn$_invoke$arity$1? -g.cljs$core$IFn$_invoke$arity$1(a):g.call(null,a);return cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(c,h)?null:cljs.spec.alpha.explain_1(b,c,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(d,a),e,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(f,a),h)}}(this,a,b),cljs.core.range.cljs$core$IFn$_invoke$arity$1(cljs.core.count(this.preds)),this.forms,this.preds)):new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$path, -d,cljs.core.cst$kw$pred,cljs.core.cst$sym$cljs$core_SLASH_vector_QMARK_,cljs.core.cst$kw$val,g,cljs.core.cst$kw$via,e,cljs.core.cst$kw$in,f],null)],null)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha17637.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b){return function(c,d,e,f){if(cljs.core.truth_(this.gfn))return this.gfn.cljs$core$IFn$_invoke$arity$0?this.gfn.cljs$core$IFn$_invoke$arity$0():this.gfn.call(null);c=function(a,b,c){return function(a,b,c){return cljs.spec.alpha.gensub(b,d,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(e, -a),f,c)}}(this,a,b);c=cljs.core.map.cljs$core$IFn$_invoke$arity$4(c,cljs.core.range.cljs$core$IFn$_invoke$arity$1(cljs.core.count(this.preds)),this.preds,this.forms);return cljs.core.every_QMARK_(cljs.core.identity,c)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,c):null}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha17637.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b){return function(a,b){return cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3(this.forms, -this.preds,b)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha17637.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a,b){return function(a){return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$cljs$spec$alpha_SLASH_tuple,null,1,null),this.forms)))}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha17637.getBasis=function(a,b){return function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE, -[cljs.core.cst$sym$forms,cljs.core.cst$sym$preds,cljs.core.cst$sym$gfn,cljs.core.cst$sym$specs,cljs.core.cst$sym$cnt,cljs.core.cst$sym$meta17638],null)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha17637.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha17637.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha17637",cljs.spec.alpha.t_cljs$spec$alpha17637.cljs$lang$ctorPrWriter=function(a,b){return function(a,b,c){return cljs.core._write(b,"cljs.spec.alpha/t_cljs$spec$alpha17637")}}(d,e),cljs.spec.alpha.__GT_t_cljs$spec$alpha17637= -function(a,b){return function(a,b,c,d,e,f){return new cljs.spec.alpha.t_cljs$spec$alpha17637(a,b,c,d,e,f)}}(d,e);return new cljs.spec.alpha.t_cljs$spec$alpha17637(a,b,c,d,e,cljs.core.PersistentArrayMap.EMPTY)};cljs.spec.alpha.tuple_impl.cljs$lang$maxFixedArity=3;cljs.spec.alpha.tagged_ret=function(a,b){return new cljs.core.MapEntry(a,b,null)}; -cljs.spec.alpha.or_spec_impl=function(a,b,c,d){var e=cljs.core.random_uuid(),f=cljs.core.zipmap(a,c),g=new cljs.core.Delay(function(a,d){return function(){return cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,c,b)}}(e,f),null),h=function(){var b=cljs.core.count(c);switch(b){case 2:return function(b,c,d,e){return function(b){var c=cljs.core.deref(e),d=cljs.spec.alpha.conform_STAR_(c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(0):c.call(null,0),b);return cljs.spec.alpha.invalid_QMARK_(d)? -(b=cljs.spec.alpha.conform_STAR_(c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(1):c.call(null,1),b),cljs.spec.alpha.invalid_QMARK_(b)?cljs.core.cst$kw$cljs$spec$alpha_SLASH_invalid:cljs.spec.alpha.tagged_ret(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(1):a.call(null,1),b)):cljs.spec.alpha.tagged_ret(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(0):a.call(null,0),d)}}(b,e,f,g);case 3:return function(b,c,d,e){return function(b){var c=cljs.core.deref(e), -d=cljs.spec.alpha.conform_STAR_(c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(0):c.call(null,0),b);return cljs.spec.alpha.invalid_QMARK_(d)?(d=cljs.spec.alpha.conform_STAR_(c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(1):c.call(null,1),b),cljs.spec.alpha.invalid_QMARK_(d)?(b=cljs.spec.alpha.conform_STAR_(c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(2):c.call(null,2),b),cljs.spec.alpha.invalid_QMARK_(b)?cljs.core.cst$kw$cljs$spec$alpha_SLASH_invalid: -cljs.spec.alpha.tagged_ret(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(2):a.call(null,2),b)):cljs.spec.alpha.tagged_ret(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(1):a.call(null,1),d)):cljs.spec.alpha.tagged_ret(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(0):a.call(null,0),d)}}(b,e,f,g);default:return function(b,c,d,e){return function(b){for(var c=cljs.core.deref(e),d=0;;)if(de?1:e,d=0;;){if(d>=cljs.core.count(b))return b;if(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(a,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(b,d)))d+=e;else return cljs.core.cst$kw$cljs$spec$alpha_SLASH_invalid}else for(e=cljs.spec.alpha._STAR_coll_check_limit_STAR_, -d=0,c=cljs.core.seq(b),g=cljs.core.seq(c),cljs.core.first(g),cljs.core.next(g);;){f=cljs.core.seq(c);g=cljs.core.first(f);f=cljs.core.next(f);h=c;if(null==h||cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(d,e))return b;if(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(a,g))c=f,d+=1;else return cljs.core.cst$kw$cljs$spec$alpha_SLASH_invalid}}}(w,x,y,z,B,D,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha17730.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a, -b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y){return function(a,b){if(cljs.core.truth_(this.conform_all)){a=cljs.core.deref(this.spec);var c=this.cfns.cljs$core$IFn$_invoke$arity$1?this.cfns.cljs$core$IFn$_invoke$arity$1(b):this.cfns.call(null,b),d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null),e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,2,null);d=d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b);var f= -cljs.core.seq(b),g=cljs.core.seq(f);cljs.core.first(g);cljs.core.next(g);g=0;for(var h=f;;){f=d;d=g;h=cljs.core.seq(h);g=cljs.core.first(h);var k=cljs.core.next(h);h=g;g=k;if(d>=cljs.core.count(b))return c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(f):c.call(null,f);k=d;var l=h;h=cljs.spec.alpha.unform_STAR_(a,h);f=e.cljs$core$IFn$_invoke$arity$4?e.cljs$core$IFn$_invoke$arity$4(f,k,l,h):e.call(null,f,k,l,h);h=d+1;k=g;d=f;g=h;h=k}}else return b}}(w,x,y,z,B,D,c,e,e,f,g,h,k,l,m,n, -p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha17730.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y){return function(B,D,E,C,A){var H=this,J=this,G=cljs.spec.alpha.coll_prob(A,H.kind,H.kind_form,H.distinct,H.count,H.min_count,H.max_count,D,E,C);return cljs.core.truth_(G)?G:cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,function(){var B=cljs.core.keep.cljs$core$IFn$_invoke$arity$2(cljs.core.identity,cljs.core.map.cljs$core$IFn$_invoke$arity$3(function(a, -b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y,B,A){return function(a,b){a=H.kfn.cljs$core$IFn$_invoke$arity$2?H.kfn.cljs$core$IFn$_invoke$arity$2(a,b):H.kfn.call(null,a,b);return cljs.core.truth_(H.check_QMARK_.cljs$core$IFn$_invoke$arity$1?H.check_QMARK_.cljs$core$IFn$_invoke$arity$1(b):H.check_QMARK_.call(null,b))?null:cljs.spec.alpha.explain_1(H.form,H.pred,D,E,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(C,a),b)}}(G,J,a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y),cljs.core.range.cljs$core$IFn$_invoke$arity$0(), -A)),K=cljs.core.truth_(H.conform_all)?cljs.core.identity:cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.take,cljs.spec.alpha._STAR_coll_error_limit_STAR_);return K.cljs$core$IFn$_invoke$arity$1?K.cljs$core$IFn$_invoke$arity$1(B):K.call(null,B)}())}}(w,x,y,z,B,D,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha17730.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y){return function(B,D,E,H){var C=this;if(cljs.core.truth_(C.gfn))return C.gfn.cljs$core$IFn$_invoke$arity$0? -C.gfn.cljs$core$IFn$_invoke$arity$0():C.gfn.call(null);B=cljs.spec.alpha.gensub(C.pred,D,E,H,C.form);return cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.truth_(C.gen_into)?cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([C.gen_into],0)):cljs.core.truth_(C.kind)?cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([function(a, -b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y,B,D){return function(a){return cljs.core.empty_QMARK_(a)?a:cljs.core.empty(a)}}(B,this,a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y),cljs.spec.alpha.gensub(C.kind,D,E,H,C.form)],0)):cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentVector.EMPTY],0)),function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y,B,D){return function(E){return cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([function(a, -b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y,B,D){return function(a){return cljs.core.vector_QMARK_(E)?a:cljs.core.into.cljs$core$IFn$_invoke$arity$2(E,a)}}(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y,B,D),cljs.core.truth_(C.distinct)?cljs.core.truth_(C.count)?cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a,new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$kw$num_DASH_elements,C.count,cljs.core.cst$kw$max_DASH_tries,100], -null)],0)):cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a,new cljs.core.PersistentArrayMap(null,3,[cljs.core.cst$kw$min_DASH_elements,function(){var a=C.min_count;return cljs.core.truth_(a)?a:0}(),cljs.core.cst$kw$max_DASH_elements,function(){var a=C.max_count;if(cljs.core.truth_(a))return a;a=C.gen_max;var b=C.min_count;b=cljs.core.truth_(b)?b:0;b*=2;return a>b?a:b}(),cljs.core.cst$kw$max_DASH_tries,100],null)],0)):cljs.core.truth_(C.count)? -cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a,C.count],0)):cljs.core.truth_(function(){var a=C.min_count;return cljs.core.truth_(a)?a:C.max_count}())?cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a,function(){var a=C.min_count;return cljs.core.truth_(a)?a:0}(),function(){var a=C.max_count;if(cljs.core.truth_(a))return a;a=C.gen_max;var b=C.min_count;b=cljs.core.truth_(b)? -b:0;b*=2;return a>b?a:b}()],0)):cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a,0,C.gen_max],0))],0))}}(B,this,a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y)],0))}}(w,x,y,z,B,D,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha17730.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y){return function(a,b){return cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4(this.form, -this.pred,this.opts,b)}}(w,x,y,z,B,D,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha17730.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y){return function(a){a=this.describe_form;return cljs.core.truth_(a)?a:cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$cljs$spec$alpha_SLASH_every,null,1,null),new cljs.core.List(null, -this.form,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.identity,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([this.opts],0))],0))))}}(w,x,y,z,B,D,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha17730.getBasis=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y){return function(){return new cljs.core.PersistentVector(null,25,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$form,cljs.core.cst$sym$max_DASH_count, -cljs.core.cst$sym$p__17727,cljs.core.cst$sym$check_QMARK_,cljs.core.cst$sym$gfn,cljs.core.cst$sym$gen_DASH_max,cljs.core.cst$sym$pred,cljs.core.cst$sym$cpred,cljs.core.cst$sym$map__17728,cljs.core.cst$sym$conform_DASH_keys,cljs.core.cst$sym$kind_DASH_form,cljs.core.cst$sym$addcv,cljs.core.cst$sym$cfns,cljs.core.cst$sym$describe_DASH_form,cljs.core.cst$sym$distinct,cljs.core.cst$sym$spec,cljs.core.cst$sym$kfn,cljs.core.cst$sym$gen_DASH_into,cljs.core.cst$sym$count,cljs.core.cst$sym$min_DASH_count, -cljs.core.cst$sym$opts,cljs.core.cst$sym$kind,cljs.core.cst$sym$conform_DASH_all,cljs.core.cst$sym$conform_DASH_into,cljs.core.cst$sym$meta17731],null)}}(w,x,y,z,B,D,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha17730.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha17730.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha17730",cljs.spec.alpha.t_cljs$spec$alpha17730.cljs$lang$ctorPrWriter=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y){return function(a,b,c){return cljs.core._write(b, -"cljs.spec.alpha/t_cljs$spec$alpha17730")}}(w,x,y,z,B,D,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.__GT_t_cljs$spec$alpha17730=function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y){return function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y,B,D,E){return new cljs.spec.alpha.t_cljs$spec$alpha17730(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,z,x,y,B,D,E)}}(w,x,y,z,B,D,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v);return new cljs.spec.alpha.t_cljs$spec$alpha17730(a,f,c,y,d,h,b,k,e,l,g,B,D,m,n,x,z,w,q,r,e,u,t,v,cljs.core.PersistentArrayMap.EMPTY)}; -cljs.spec.alpha.every_impl.cljs$lang$maxFixedArity=4;cljs.spec.alpha.accept=function(a){return new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$kw$cljs$spec$alpha_SLASH_op,cljs.core.cst$kw$cljs$spec$alpha_SLASH_accept,cljs.core.cst$kw$ret,a],null)}; -cljs.spec.alpha.accept_QMARK_=function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,a):a;a=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,cljs.core.cst$kw$cljs$spec$alpha_SLASH_op);return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$cljs$spec$alpha_SLASH_accept,a)}; -cljs.spec.alpha.pcat_STAR_=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,a):a,c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$ps);a=cljs.core.seq(c);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$ks),f=cljs.core.seq(e),g=cljs.core.first(f);f=cljs.core.next(f);var h=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b, -cljs.core.cst$kw$forms),k=cljs.core.seq(h);cljs.core.first(k);k=cljs.core.next(k);var l=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$ret);b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$rep_PLUS_);return cljs.core.every_QMARK_(cljs.core.identity,c)?cljs.spec.alpha.accept_QMARK_(d)?(c=cljs.core.cst$kw$ret.cljs$core$IFn$_invoke$arity$1(d),c=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(l,cljs.core.truth_(e)?cljs.core.PersistentArrayMap.createAsIfByAssoc([g,c]):c),a? -(a=new cljs.core.PersistentArrayMap(null,4,[cljs.core.cst$kw$ps,a,cljs.core.cst$kw$ks,f,cljs.core.cst$kw$forms,k,cljs.core.cst$kw$ret,c],null),cljs.spec.alpha.pcat_STAR_.cljs$core$IFn$_invoke$arity$1?cljs.spec.alpha.pcat_STAR_.cljs$core$IFn$_invoke$arity$1(a):cljs.spec.alpha.pcat_STAR_.call(null,a)):cljs.spec.alpha.accept(c)):new cljs.core.PersistentArrayMap(null,6,[cljs.core.cst$kw$cljs$spec$alpha_SLASH_op,cljs.core.cst$kw$cljs$spec$alpha_SLASH_pcat,cljs.core.cst$kw$ps,c,cljs.core.cst$kw$ret,l,cljs.core.cst$kw$ks, -e,cljs.core.cst$kw$forms,h,cljs.core.cst$kw$rep_PLUS_,b],null):null};cljs.spec.alpha.pcat=function(a){for(var b=[],c=arguments.length,d=0;;)if(db?c:b,cljs.core.cst$kw$loop_DASH_msec,a,cljs.core.cst$kw$preamble,e,cljs.core.cst$kw$async_DASH_code_QMARK_,f,cljs.core.cst$kw$the_DASH_editor_DASH_type,d],null))}; -klipse.plugin.calc_editor_type=function(a,b){if(cljs.core.truth_(a))return cljs.core.cst$kw$dom;switch(b){case "code-mirror":return cljs.core.cst$kw$code_DASH_mirror;case "dom":return cljs.core.cst$kw$dom;case "html":return cljs.core.cst$kw$html;default:return cljs.core.cst$kw$code_DASH_mirror}}; -klipse.plugin.load_external_scripts=function(a,b){var c=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(c){return function(){var d=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(r){if(r instanceof Object)b[5]=r, -cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw r;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c){return function(c){var d=c[1];if(1===d)return cljs.core.truth_(b)?c[1]=2:c[1]=3,cljs.core.cst$kw$recur; -if(2===d)return d=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$ok,cljs.core.cst$kw$ok],null),c[2]=d,c[1]=4,cljs.core.cst$kw$recur;if(3===d)return d=klipse.utils.load_scripts_mem.cljs$core$IFn$_invoke$arity$1?klipse.utils.load_scripts_mem.cljs$core$IFn$_invoke$arity$1(a):klipse.utils.load_scripts_mem.call(null,a),cljs.core.async.impl.ioc_helpers.take_BANG_(c,5,d);if(4===d)return cljs.core.async.impl.ioc_helpers.return_chan(c,c[2]);if(5===d){var e= -c[2],f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,0,null);d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null);e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,2,null);f=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$ok,f);c[7]=d;c[8]=e;c[1]=f?6:7;return cljs.core.cst$kw$recur}return 6===d?(d=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$ok,cljs.core.cst$kw$ok],null),c[2]=d,c[1]=8,cljs.core.cst$kw$recur):7===d?(d=c[7],e=c[8],f= -cljs.core.PersistentVector.EMPTY_NODE,d=["Cannot load script: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),"\nError: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""),d=new cljs.core.PersistentVector(null,2,5,f,[cljs.core.cst$kw$error,d],null),c[2]=d,c[1]=8,cljs.core.cst$kw$recur):8===d?(c[2]=c[2],c[1]=4,cljs.core.cst$kw$recur):null}}(c),c)}(),f=function(){var a=d.cljs$core$IFn$_invoke$arity$0?d.cljs$core$IFn$_invoke$arity$0():d.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(f)}}(c)); -return c}; -klipse.plugin.klipsify_with_opts=function(a,b,c,d){var e=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,b):b,f=cljs.core.get.cljs$core$IFn$_invoke$arity$2(e,cljs.core.cst$kw$no_dynamic_scripts),g=cljs.core.get.cljs$core$IFn$_invoke$arity$3(e,cljs.core.cst$kw$eval_idle_msec,20),h=cljs.core.get.cljs$core$IFn$_invoke$arity$3(e,cljs.core.cst$kw$minimalistic_ui,!1),k=cljs.core.get.cljs$core$IFn$_invoke$arity$2(e,cljs.core.cst$kw$editor_type), -l=cljs.core.get.cljs$core$IFn$_invoke$arity$3(e,cljs.core.cst$kw$print_length,1E3),m=cljs.core.get.cljs$core$IFn$_invoke$arity$3(e,cljs.core.cst$kw$beautify_strings,!1),n=cljs.core.get.cljs$core$IFn$_invoke$arity$2(e,cljs.core.cst$kw$eval_context),p=cljs.core.get.cljs$core$IFn$_invoke$arity$3(e,cljs.core.cst$kw$codemirror_options_in,cljs.core.PersistentArrayMap.EMPTY),q=cljs.core.get.cljs$core$IFn$_invoke$arity$3(e,cljs.core.cst$kw$codemirror_options_out,cljs.core.PersistentArrayMap.EMPTY),r=null!= -c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,c):c,u=cljs.core.get.cljs$core$IFn$_invoke$arity$2(r,cljs.core.cst$kw$eval_DASH_fn),t=cljs.core.get.cljs$core$IFn$_invoke$arity$3(r,cljs.core.cst$kw$beautify_DASH_output_QMARK_,!0),v=cljs.core.get.cljs$core$IFn$_invoke$arity$2(r,cljs.core.cst$kw$no_DASH_result),w=cljs.core.get.cljs$core$IFn$_invoke$arity$2(r,cljs.core.cst$kw$default_DASH_editor), -x=cljs.core.get.cljs$core$IFn$_invoke$arity$2(r,cljs.core.cst$kw$editor_DASH_out_DASH_mode),y=cljs.core.get.cljs$core$IFn$_invoke$arity$3(r,cljs.core.cst$kw$beautify_QMARK_,!0),z=cljs.core.get.cljs$core$IFn$_invoke$arity$3(r,cljs.core.cst$kw$min_DASH_eval_DASH_idle_DASH_msec,0),B=cljs.core.get.cljs$core$IFn$_invoke$arity$2(r,cljs.core.cst$kw$comment_DASH_str),D=cljs.core.get.cljs$core$IFn$_invoke$arity$2(r,cljs.core.cst$kw$editor_DASH_in_DASH_mode),A=cljs.core.get.cljs$core$IFn$_invoke$arity$3(r, -cljs.core.cst$kw$external_DASH_scripts,cljs.core.PersistentVector.EMPTY),C=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(b,c,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,x,z,y,B,D,C,A,ca){return function(){var E=function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,x,z,y,B,E,D,C){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null, -null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(ka){if(ka instanceof Object)b[5]=ka,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw ka;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length); -};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b,c,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,x,z,y,B,E,D,C,H){return function(A){var G=A[1];if(7===G)return A[2]=!1,A[1]=8,cljs.core.cst$kw$recur;if(20===G){var J=A[7];A[2]=J;A[1]=21;return cljs.core.cst$kw$recur}if(27===G){var K=A[8],I=A[2],F=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$ok,K);A[9]=I;A[1]=F?28:29;return cljs.core.cst$kw$recur}if(1===G)return cljs.core.truth_(a)?A[1]=2:A[1]=3,cljs.core.cst$kw$recur; -if(24===G){K=A[8];var L=A[2],M=klipse.plugin.snippet_num_BANG_();F=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$ok,K);A[10]=M;A[11]=L;A[1]=F?25:26;return cljs.core.cst$kw$recur}if(4===G)return cljs.core.async.impl.ioc_helpers.return_chan(A,A[2]);if(15===G)return F=A[12],A[2]=F,A[1]=17,cljs.core.cst$kw$recur;if(21===G){K=A[8];var N=A[2];F=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$ok,K);A[13]=N;A[1]=F?22:23;return cljs.core.cst$kw$recur}if(13===G)return F=A[14], -A[2]=F,A[1]=14,cljs.core.cst$kw$recur;if(22===G)return A[2]=B,A[1]=24,cljs.core.cst$kw$recur;if(29===G)return A[2]=!1,A[1]=30,cljs.core.cst$kw$recur;if(6===G)return F=A[14],I=cljs.core.PROTOCOL_SENTINEL===F.cljs$core$ISeq$,F=F.cljs$lang$protocol_mask$partition0$&64||I,cljs.core.truth_(F)?A[1]=9:A[1]=10,cljs.core.cst$kw$recur;if(28===G)return A[2]=w,A[1]=30,cljs.core.cst$kw$recur;if(25===G){var O=A[15];A[2]=O;A[1]=27;return cljs.core.cst$kw$recur}if(17===G){var S=klipse.plugin.calc_editor_type(h,A[2]); -F=gadjett.collections.collify(H);F=klipse.plugin.load_external_scripts(F,f);A[16]=S;return cljs.core.async.impl.ioc_helpers.take_BANG_(A,18,F)}if(3===G)return A[2]=null,A[1]=4,cljs.core.cst$kw$recur;if(12===G)return F=A[14],F=cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,F),A[2]=F,A[1]=14,cljs.core.cst$kw$recur;if(2===G){var P=A[17],Q=[cljs.core.cst$kw$eval_DASH_context,cljs.core.cst$kw$print_DASH_length,cljs.core.cst$kw$beautify_DASH_strings],R=[n,l,m],U=cljs.core.PersistentHashMap.fromArrays(Q, -R),T=klipse.args_from_element.eval_args_from_element(a,U);O=function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,x,z,y,B,A,E,D,C,H,G,F,J,K){return function(b,c){c=cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a,c],0));return B.cljs$core$IFn$_invoke$arity$2?B.cljs$core$IFn$_invoke$arity$2(b,c):B.call(null,b,c)}}(T,P,Q,R,U,T,G,b,c,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,x,z,y,B,E,D,C,H)}();F=klipse.args_from_element.content(a,D);A[15]=O;A[17]= -T;return cljs.core.async.impl.ioc_helpers.take_BANG_(A,5,F)}if(23===G)return A[2]=!1,A[1]=24,cljs.core.cst$kw$recur;if(19===G)return A[2]=klipse.plugin.out_placeholder,A[1]=21,cljs.core.cst$kw$recur;if(11===G)return A[2]=A[2],A[1]=8,cljs.core.cst$kw$recur;if(9===G)return A[2]=!0,A[1]=11,cljs.core.cst$kw$recur;if(5===G){F=A[14];var V=A[2];F=klipse.plugin.calc_editor_args_from_element(a,g,E,k);I=cljs.core.not(null==F);A[14]=F;A[18]=V;A[1]=I?6:7;return cljs.core.cst$kw$recur}if(14===G){F=A[12];var X= -A[19];I=A[2];var W=cljs.core.get.cljs$core$IFn$_invoke$arity$2(I,cljs.core.cst$kw$idle_DASH_msec);F=cljs.core.get.cljs$core$IFn$_invoke$arity$2(I,cljs.core.cst$kw$the_DASH_editor_DASH_type);var Z=cljs.core.get.cljs$core$IFn$_invoke$arity$2(I,cljs.core.cst$kw$loop_DASH_msec),Y=cljs.core.get.cljs$core$IFn$_invoke$arity$2(I,cljs.core.cst$kw$async_DASH_code_QMARK_),aa=cljs.core.get.cljs$core$IFn$_invoke$arity$2(I,cljs.core.cst$kw$preamble);A[20]=W;A[21]=Z;A[12]=F;A[19]=I;A[22]=Y;A[23]=aa;cljs.core.truth_(F)? -A[1]=15:A[1]=16;return cljs.core.cst$kw$recur}if(26===G){W=A[20];Z=A[21];X=A[19];O=A[15];var ba=A[24];J=A[7];Y=A[22];P=A[17];K=A[8];aa=A[23];S=A[16];V=A[18];F=function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,x,z,y,B,A,E,D,C,H,G,F,J,K,I,L,M,N,O,S,P,Q,R,U,V,T,X,W,Z,Y,aa,ba){return function(){return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0()}}(S,O,X,W,Z,J,ba,Y,K,P,V,aa,W,Z,X,O,ba,J,Y,P,K,aa,S,V,G,b,c,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,x,z,y,B,E,D,C,H)}();A[2]=F;A[1]=27;return cljs.core.cst$kw$recur}return 16=== -G?(A[2]=z,A[1]=17,cljs.core.cst$kw$recur):30===G?(M=A[10],W=A[20],L=A[11],Z=A[21],N=A[13],Y=A[22],aa=A[23],S=A[16],F=A[25],V=A[18],I=A[9],F=cljs.core.PersistentHashMap.fromArrays(F,[N,L,W,Z,a,y,Y,d,V,aa,p,C,M,I,x,q,A[2]]),F=klipse.klipse_editors.create_editor.cljs$core$IFn$_invoke$arity$2?klipse.klipse_editors.create_editor.cljs$core$IFn$_invoke$arity$2(S,F):klipse.klipse_editors.create_editor.call(null,S,F),A[2]=F,A[1]=4,cljs.core.cst$kw$recur):10===G?(A[2]=!1,A[1]=11,cljs.core.cst$kw$recur):18=== -G?(ba=A[24],K=A[8],I=A[2],L=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(I,0,null),J=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(I,1,null),F=[cljs.core.cst$kw$default_DASH_txt,cljs.core.cst$kw$indent_QMARK_,cljs.core.cst$kw$idle_DASH_msec,cljs.core.cst$kw$loop_DASH_msec,cljs.core.cst$kw$element,cljs.core.cst$kw$editor_DASH_out_DASH_mode,cljs.core.cst$kw$async_DASH_code_QMARK_,cljs.core.cst$kw$mode,cljs.core.cst$kw$source_DASH_code,cljs.core.cst$kw$preamble,cljs.core.cst$kw$codemirror_DASH_options_DASH_out, -cljs.core.cst$kw$editor_DASH_in_DASH_mode,cljs.core.cst$kw$snippet_DASH_num,cljs.core.cst$kw$eval_DASH_fn,cljs.core.cst$kw$no_DASH_result,cljs.core.cst$kw$codemirror_DASH_options_DASH_in,cljs.core.cst$kw$indent_DASH_output_QMARK_],M=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$ok,L),A[24]=I,A[7]=J,A[8]=L,A[25]=F,A[1]=M?19:20,cljs.core.cst$kw$recur):8===G?(F=A[2],cljs.core.truth_(F)?A[1]=12:A[1]=13,cljs.core.cst$kw$recur):null}}(b,c,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,x,z,y,B,D,C,A,ca), -b,c,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,x,z,y,B,D,C,A,ca)}(),H=function(){var a=E.cljs$core$IFn$_invoke$arity$0?E.cljs$core$IFn$_invoke$arity$0():E.call(null);a[6]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(H)}}(C,b,e,f,g,h,k,l,m,n,p,q,c,r,r,u,t,v,w,x,y,z,B,D,A));return C};cljs.spec.alpha.def_impl(cljs.core.cst$kw$klipse$plugin_SLASH_dom_DASH_element,cljs.core.cst$sym$goog$dom_SLASH_isElement,goog.dom.isElement); -cljs.spec.alpha.def_impl(cljs.core.cst$kw$klipse$plugin_SLASH_editor_DASH_in_DASH_mode,cljs.core.cst$sym$cljs$core_SLASH_string_QMARK_,cljs.core.string_QMARK_);cljs.spec.alpha.def_impl(cljs.core.cst$kw$klipse$plugin_SLASH_editor_DASH_out_DASH_mode,cljs.core.cst$sym$cljs$core_SLASH_string_QMARK_,cljs.core.string_QMARK_);cljs.spec.alpha.def_impl(cljs.core.cst$kw$klipse$plugin_SLASH_eval_DASH_fn,cljs.core.cst$sym$cljs$core_SLASH_fn_QMARK_,cljs.core.fn_QMARK_); -cljs.spec.alpha.def_impl(cljs.core.cst$kw$klipse$plugin_SLASH_comment_DASH_str,cljs.core.list(cljs.core.cst$sym$cljs$spec$alpha_SLASH_or,cljs.core.cst$kw$fn,cljs.core.cst$sym$cljs$core_SLASH_fn_QMARK_,cljs.core.cst$kw$str,cljs.core.cst$sym$cljs$core_SLASH_string_QMARK_),cljs.spec.alpha.or_spec_impl(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$fn,cljs.core.cst$kw$str],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE, -[cljs.core.cst$sym$cljs$core_SLASH_fn_QMARK_,cljs.core.cst$sym$cljs$core_SLASH_string_QMARK_],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.fn_QMARK_,cljs.core.string_QMARK_],null),null));cljs.spec.alpha.def_impl(cljs.core.cst$kw$klipse$plugin_SLASH_eval_idle_msec,cljs.core.cst$sym$cljs$core_SLASH_integer_QMARK_,cljs.core.integer_QMARK_); -cljs.spec.alpha.def_impl(cljs.core.cst$kw$klipse$plugin_SLASH_minimalistic_ui,cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH_fn,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$_PERCENT_],null),cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH_or,cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH__EQ_,cljs.core.cst$sym$_PERCENT_,!0),cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH__EQ_,cljs.core.cst$sym$_PERCENT_,!1))),function(a){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a, -!0)||cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,!1)}); -cljs.spec.alpha.def_impl(cljs.core.cst$kw$klipse$plugin_SLASH_options,cljs.core.list(cljs.core.cst$sym$cljs$spec$alpha_SLASH_keys,cljs.core.cst$kw$req_DASH_un,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$klipse$plugin_SLASH_editor_DASH_in_DASH_mode,cljs.core.cst$kw$klipse$plugin_SLASH_editor_DASH_out_DASH_mode,cljs.core.cst$kw$klipse$plugin_SLASH_eval_DASH_fn,cljs.core.cst$kw$klipse$plugin_SLASH_comment_DASH_str],null)),cljs.spec.alpha.map_spec_impl(cljs.core.PersistentHashMap.fromArrays([cljs.core.cst$kw$req_DASH_un, -cljs.core.cst$kw$opt_DASH_un,cljs.core.cst$kw$gfn,cljs.core.cst$kw$pred_DASH_exprs,cljs.core.cst$kw$keys_DASH_pred,cljs.core.cst$kw$opt_DASH_keys,cljs.core.cst$kw$req_DASH_specs,cljs.core.cst$kw$req,cljs.core.cst$kw$req_DASH_keys,cljs.core.cst$kw$opt_DASH_specs,cljs.core.cst$kw$pred_DASH_forms,cljs.core.cst$kw$opt],[new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$klipse$plugin_SLASH_editor_DASH_in_DASH_mode,cljs.core.cst$kw$klipse$plugin_SLASH_editor_DASH_out_DASH_mode, -cljs.core.cst$kw$klipse$plugin_SLASH_eval_DASH_fn,cljs.core.cst$kw$klipse$plugin_SLASH_comment_DASH_str],null),null,null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_(a)},function(a){return cljs.core.contains_QMARK_(a,cljs.core.cst$kw$editor_DASH_in_DASH_mode)},function(a){return cljs.core.contains_QMARK_(a,cljs.core.cst$kw$editor_DASH_out_DASH_mode)},function(a){return cljs.core.contains_QMARK_(a,cljs.core.cst$kw$eval_DASH_fn)}, -function(a){return cljs.core.contains_QMARK_(a,cljs.core.cst$kw$comment_DASH_str)}],null),function(a){return cljs.core.map_QMARK_(a)&&cljs.core.contains_QMARK_(a,cljs.core.cst$kw$editor_DASH_in_DASH_mode)&&cljs.core.contains_QMARK_(a,cljs.core.cst$kw$editor_DASH_out_DASH_mode)&&cljs.core.contains_QMARK_(a,cljs.core.cst$kw$eval_DASH_fn)&&cljs.core.contains_QMARK_(a,cljs.core.cst$kw$comment_DASH_str)},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE, -[cljs.core.cst$kw$klipse$plugin_SLASH_editor_DASH_in_DASH_mode,cljs.core.cst$kw$klipse$plugin_SLASH_editor_DASH_out_DASH_mode,cljs.core.cst$kw$klipse$plugin_SLASH_eval_DASH_fn,cljs.core.cst$kw$klipse$plugin_SLASH_comment_DASH_str],null),null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$editor_DASH_in_DASH_mode,cljs.core.cst$kw$editor_DASH_out_DASH_mode,cljs.core.cst$kw$eval_DASH_fn,cljs.core.cst$kw$comment_DASH_str],null),cljs.core.PersistentVector.EMPTY, -new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH_fn,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$_PERCENT_],null),cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH_map_QMARK_,cljs.core.cst$sym$_PERCENT_)),cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH_fn,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$_PERCENT_],null), -cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH_contains_QMARK_,cljs.core.cst$sym$_PERCENT_,cljs.core.cst$kw$editor_DASH_in_DASH_mode)),cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH_fn,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$_PERCENT_],null),cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH_contains_QMARK_,cljs.core.cst$sym$_PERCENT_,cljs.core.cst$kw$editor_DASH_out_DASH_mode)),cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH_fn,new cljs.core.PersistentVector(null, -1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$_PERCENT_],null),cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH_contains_QMARK_,cljs.core.cst$sym$_PERCENT_,cljs.core.cst$kw$eval_DASH_fn)),cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH_fn,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$_PERCENT_],null),cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH_contains_QMARK_,cljs.core.cst$sym$_PERCENT_,cljs.core.cst$kw$comment_DASH_str))],null), -null]))); -cljs.spec.alpha.def_impl(cljs.core.cst$kw$klipse$plugin_SLASH_klipse_DASH_settings,cljs.core.list(cljs.core.cst$sym$cljs$spec$alpha_SLASH_keys,cljs.core.cst$kw$opt_DASH_un,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$klipse$plugin_SLASH_eval_idle_msec,cljs.core.cst$kw$klipse$plugin_SLASH_minimalistic_ui],null)),cljs.spec.alpha.map_spec_impl(cljs.core.PersistentHashMap.fromArrays([cljs.core.cst$kw$req_DASH_un,cljs.core.cst$kw$opt_DASH_un,cljs.core.cst$kw$gfn, -cljs.core.cst$kw$pred_DASH_exprs,cljs.core.cst$kw$keys_DASH_pred,cljs.core.cst$kw$opt_DASH_keys,cljs.core.cst$kw$req_DASH_specs,cljs.core.cst$kw$req,cljs.core.cst$kw$req_DASH_keys,cljs.core.cst$kw$opt_DASH_specs,cljs.core.cst$kw$pred_DASH_forms,cljs.core.cst$kw$opt],[null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$klipse$plugin_SLASH_eval_idle_msec,cljs.core.cst$kw$klipse$plugin_SLASH_minimalistic_ui],null),null,new cljs.core.PersistentVector(null, -1,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_(a)}],null),function(a){return cljs.core.map_QMARK_(a)},new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$eval_idle_msec,cljs.core.cst$kw$minimalistic_ui],null),cljs.core.PersistentVector.EMPTY,null,cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$klipse$plugin_SLASH_eval_idle_msec,cljs.core.cst$kw$klipse$plugin_SLASH_minimalistic_ui], -null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH_fn,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$_PERCENT_],null),cljs.core.list(cljs.core.cst$sym$cljs$core_SLASH_map_QMARK_,cljs.core.cst$sym$_PERCENT_))],null),null]))); -cljs.spec.alpha.def_impl(cljs.core.cst$sym$klipse$plugin_SLASH_klipsify_DASH_with_DASH_opts,cljs.core.list(cljs.core.cst$sym$cljs$spec$alpha_SLASH_fspec,cljs.core.cst$kw$args,cljs.core.list(cljs.core.cst$sym$cljs$spec$alpha_SLASH_cat,cljs.core.cst$kw$element,cljs.core.cst$kw$klipse$plugin_SLASH_dom_DASH_element,cljs.core.cst$kw$settings,cljs.core.cst$kw$klipse$plugin_SLASH_klipse_DASH_settings,cljs.core.cst$kw$opts,cljs.core.cst$kw$klipse$plugin_SLASH_options)),cljs.spec.alpha.fspec_impl(cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(cljs.core.list(cljs.core.cst$sym$cljs$spec$alpha_SLASH_cat, -cljs.core.cst$kw$element,cljs.core.cst$kw$klipse$plugin_SLASH_dom_DASH_element,cljs.core.cst$kw$settings,cljs.core.cst$kw$klipse$plugin_SLASH_klipse_DASH_settings,cljs.core.cst$kw$opts,cljs.core.cst$kw$klipse$plugin_SLASH_options),cljs.spec.alpha.cat_impl(new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$element,cljs.core.cst$kw$settings,cljs.core.cst$kw$opts],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$klipse$plugin_SLASH_dom_DASH_element, -cljs.core.cst$kw$klipse$plugin_SLASH_klipse_DASH_settings,cljs.core.cst$kw$klipse$plugin_SLASH_options],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$klipse$plugin_SLASH_dom_DASH_element,cljs.core.cst$kw$klipse$plugin_SLASH_klipse_DASH_settings,cljs.core.cst$kw$klipse$plugin_SLASH_options],null)),null,null),cljs.core.list(cljs.core.cst$sym$cljs$spec$alpha_SLASH_cat,cljs.core.cst$kw$element,cljs.core.cst$kw$klipse$plugin_SLASH_dom_DASH_element, -cljs.core.cst$kw$settings,cljs.core.cst$kw$klipse$plugin_SLASH_klipse_DASH_settings,cljs.core.cst$kw$opts,cljs.core.cst$kw$klipse$plugin_SLASH_options),cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(cljs.core.cst$sym$cljs$core_SLASH_any_QMARK_,cljs.core.any_QMARK_,null,null),cljs.core.cst$sym$cljs$core_SLASH_any_QMARK_,null,null,null)); -klipse.plugin.klipsify=function(a,b,c){var d=function(){var a=cljs.core.deref(klipse.common.registry.mode_options);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)}();if(cljs.core.truth_(d)){var e=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(d,e,h){return function(){var f=function(){return function(a,b,c,d){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a}, -d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(y){if(y instanceof Object)b[5]=y,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw y;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0= -c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(d,e,f){return function(d){var f=d[1];return 1===f?(f=klipse.plugin.klipsify_with_opts(a,b,e,c),cljs.core.async.impl.ioc_helpers.take_BANG_(d,3,f)):2===f?cljs.core.async.impl.ioc_helpers.return_chan(d,d[2]):3===f?(f=d[2],f=f.cljs$core$IFn$_invoke$arity$0?f.cljs$core$IFn$_invoke$arity$0():f.call(null),cljs.core.async.impl.ioc_helpers.take_BANG_(d,2,f)):null}}(d,e,h),d,e,h)}(),g=function(){var a=f.cljs$core$IFn$_invoke$arity$0?f.cljs$core$IFn$_invoke$arity$0(): -f.call(null);a[6]=d;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(g)}}(e,d,d))}else e=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1),cljs.core.async.impl.dispatch.run(function(a,b){return function(){var d=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d= -c;break a}}}catch(w){if(w instanceof Object)b[5]=w,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw w;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,b){return function(a){if(1===a[1]){var b=cljs.core.deref(klipse.common.registry.mode_options); -b=cljs.core.keys(b);b=console.error("cannot find options for mode: ",c,". Supported modes: ",b);return cljs.core.async.impl.ioc_helpers.return_chan(a,b)}return null}}(a,b),a,b)}(),e=function(){var b=d.cljs$core$IFn$_invoke$arity$0?d.cljs$core$IFn$_invoke$arity$0():d.call(null);b[6]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(e)}}(e,d));return e};goog.exportSymbol("klipse.plugin.klipsify",klipse.plugin.klipsify); -klipse.plugin.klipsify_no_eval=function(a,b,c){var d=function(){var a=cljs.core.deref(klipse.common.registry.mode_options);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)}();if(cljs.core.truth_(d))return klipse.plugin.klipsify_with_opts(a,b,d,c);a=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(a,b){return function(){var d=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null, -null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(v){if(v instanceof Object)b[5]=v,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw v;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+ -arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,b){return function(d){var e=d[1];if(1===e){var f=function(){return function(a,b,d){return function(){var e=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(a,b,d,e){return function(){var f=function(){return function(a,b,c,d,e){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c= -a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(F){if(F instanceof Object)b[5]=F,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw F;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1= -d;return b}()}(function(a,b,d,e){return function(a){if(1===a[1]){var b=cljs.core.deref(klipse.common.registry.mode_options);b=cljs.core.keys(b);b=console.error("cannot find options for mode: ",c,". Supported modes: ",b);return cljs.core.async.impl.ioc_helpers.return_chan(a,b)}return null}}(a,b,d,e),a,b,d,e)}(),g=function(){var b=f.cljs$core$IFn$_invoke$arity$0?f.cljs$core$IFn$_invoke$arity$0():f.call(null);b[6]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(g)}}(e, -a,b,d));return e}}(e,a,b)}();return cljs.core.async.impl.ioc_helpers.return_chan(d,f)}return null}}(a,b),a,b)}(),e=function(){var b=d.cljs$core$IFn$_invoke$arity$0?d.cljs$core$IFn$_invoke$arity$0():d.call(null);b[6]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(e)}}(a,d));return a};goog.exportSymbol("klipse.plugin.klipsify_no_eval",klipse.plugin.klipsify_no_eval); -klipse.plugin.edit_elements=function(a,b,c){var d=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(d){return function(){var e=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(u){if(u instanceof Object)b[5]= -u,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw u;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(d){return function(d){var e=d[1];if(7===e)return e=klipse.plugin.klipsify_no_eval(d[8],b,d[7]), -cljs.core.async.impl.ioc_helpers.take_BANG_(d,10,e);if(1===e){var f=a;e=cljs.core.PersistentVector.EMPTY;d[9]=e;d[10]=f;d[2]=null;d[1]=2;return cljs.core.cst$kw$recur}if(4===e){f=d[10];var g=cljs.core.first(f);e=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(g):c.call(null,g);d[7]=e;d[8]=g;cljs.core.truth_(e)?d[1]=7:d[1]=8;return cljs.core.cst$kw$recur}return 6===e?(d[2]=d[2],d[1]=3,cljs.core.cst$kw$recur):3===e?cljs.core.async.impl.ioc_helpers.return_chan(d,d[2]):2===e?(f=d[10], -e=cljs.core.seq(f),d[1]=e?4:5,cljs.core.cst$kw$recur):9===e?(d[2]=d[2],d[1]=6,cljs.core.cst$kw$recur):5===e?(e=d[9],d[2]=e,d[1]=6,cljs.core.cst$kw$recur):10===e?(e=d[9],f=d[10],g=d[2],f=cljs.core.rest(f),e=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(e,g),d[9]=e,d[10]=f,d[2]=null,d[1]=2,cljs.core.cst$kw$recur):8===e?(e=d[9],f=d[10],g=cljs.core.rest(f),d[9]=e,d[10]=g,d[2]=null,d[1]=2,cljs.core.cst$kw$recur):null}}(d),d)}(),g=function(){var a=e.cljs$core$IFn$_invoke$arity$0?e.cljs$core$IFn$_invoke$arity$0(): -e.call(null);a[6]=d;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(g)}}(d));return d}; -klipse.plugin.klipsify_elements=function(a,b,c){var d=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(d){return function(){var e=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(u){if(u instanceof -Object)b[5]=u,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw u;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(d){return function(d){var e=d[1];if(7===e)return d[2]=d[2],d[1]=4,cljs.core.cst$kw$recur; -if(1===e)return e=klipse.plugin.edit_elements(a,b,c),cljs.core.async.impl.ioc_helpers.take_BANG_(d,2,e);if(4===e)return cljs.core.async.impl.ioc_helpers.return_chan(d,d[2]);if(15===e){var f=d[7],g=d[2];e=cljs.core.next(f);d[8]=e;d[9]=null;d[10]=g;d[11]=0;d[12]=0;d[2]=null;d[1]=3;return cljs.core.cst$kw$recur}if(13===e)return f=d[7],e=cljs.core.first(f),e=e.cljs$core$IFn$_invoke$arity$0?e.cljs$core$IFn$_invoke$arity$0():e.call(null),cljs.core.async.impl.ioc_helpers.take_BANG_(d,15,e);if(6===e)return e= -d[8],e=cljs.core.seq(e),d[7]=e,d[1]=e?9:10,cljs.core.cst$kw$recur;if(3===e)return g=d[11],f=d[12],cljs.core.truth_(fcljs.core.count(c))throw cljs.analyzer.compile_syntax_error(b,"Too few arguments to if",cljs.core.cst$sym$if);if(4=cljs.core.count(f))d=function(){var a=cljs.core.first(f);return cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2?cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(b,a):cljs.analyzer.analyze.call(null,b,a)}(),e=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE, -[cljs.core.cst$kw$statements,cljs.core.cst$kw$ret],null);else{var g=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$statement,cljs.core.cst$kw$context.cljs$core$IFn$_invoke$arity$1(b))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,cljs.core.cst$kw$context,cljs.core.cst$kw$statement):cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,cljs.core.cst$kw$context,cljs.core.cst$kw$return);d=function(){var a=cljs.core.last(f);return cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2?cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(g, -a):cljs.analyzer.analyze.call(null,g,a)}();e=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$statements,cljs.core.cst$kw$ret],null)}return new cljs.core.PersistentArrayMap(null,6,[cljs.core.cst$kw$op,cljs.core.cst$kw$do,cljs.core.cst$kw$env,b,cljs.core.cst$kw$form,c,cljs.core.cst$kw$statements,a,cljs.core.cst$kw$ret,d,cljs.core.cst$kw$children,e],null)}); -cljs.analyzer.analyze_let_binding_init=function(a,b,c){var d=cljs.analyzer._STAR_loop_lets_STAR_;cljs.analyzer._STAR_loop_lets_STAR_=c;try{return cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2?cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(a,b):cljs.analyzer.analyze.call(null,a,b)}finally{cljs.analyzer._STAR_loop_lets_STAR_=d}}; -cljs.analyzer.get_let_tag=function(a,b){a=cljs.core.cst$kw$tag.cljs$core$IFn$_invoke$arity$1(cljs.core.meta(a));return null==a?(a=cljs.core.cst$kw$tag.cljs$core$IFn$_invoke$arity$1(b),null==a?cljs.core.cst$kw$tag.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$kw$info.cljs$core$IFn$_invoke$arity$1(b)):a):a}; -cljs.analyzer.analyze_let_bindings_STAR_=function(a,b,c){var d=cljs.core.PersistentVector.EMPTY,e=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,cljs.core.cst$kw$context,cljs.core.cst$kw$expr);for(b=cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2(2,b));;){var f=cljs.core.first(b);if(null==f)return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,e],null);var g=f,h=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(g,0,null),k=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(g, -1,null);if(cljs.core.truth_(function(){var a=null!=cljs.core.namespace(h);if(a)return a;a=cljs.core.str.cljs$core$IFn$_invoke$arity$1(h);return goog.string.contains(a,".")}()))throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(a,["Invalid local name: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(h)].join(""));var l=cljs.analyzer.analyze_let_binding_init(e,k,cljs.core.cons(new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$params,d],null),cljs.analyzer._STAR_loop_lets_STAR_)),m=cljs.analyzer.get_line(h, -e),n=cljs.analyzer.get_col(h,e),p=cljs.analyzer.handle_symbol_local(h,cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$locals,h],null))),q=cljs.core.PersistentHashMap.fromArrays([cljs.core.cst$kw$init,cljs.core.cst$kw$name,cljs.core.cst$kw$binding_DASH_form_QMARK_,cljs.core.cst$kw$op,cljs.core.cst$kw$env,cljs.core.cst$kw$column,cljs.core.cst$kw$line,cljs.core.cst$kw$info,cljs.core.cst$kw$tag,cljs.core.cst$kw$shadow, -cljs.core.cst$kw$local],[l,h,!0,cljs.core.cst$kw$binding,new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$kw$line,m,cljs.core.cst$kw$column,n],null),n,m,new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$kw$name,h,cljs.core.cst$kw$shadow,p],null),cljs.analyzer.get_let_tag(h,l),p,c]);f=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$fn,cljs.core.cst$kw$op.cljs$core$IFn$_invoke$arity$1(l))?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([q, -new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$fn_DASH_var,!0,cljs.core.cst$kw$methods,cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return cljs.core.select_keys(a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$tag,cljs.core.cst$kw$fixed_DASH_arity,cljs.core.cst$kw$variadic_QMARK_],null))}}(d,e,b,l,m,n,p,q,g,h, -k,f),cljs.core.cst$kw$methods.cljs$core$IFn$_invoke$arity$1(l))),cljs.core.cst$kw$variadic_QMARK_,cljs.core.cst$kw$variadic_QMARK_.cljs$core$IFn$_invoke$arity$1(l),cljs.core.cst$kw$max_DASH_fixed_DASH_arity,cljs.core.cst$kw$max_DASH_fixed_DASH_arity.cljs$core$IFn$_invoke$arity$1(l),cljs.core.cst$kw$method_DASH_params,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$params,cljs.core.cst$kw$methods.cljs$core$IFn$_invoke$arity$1(l))],null)],0)):q;f=cljs.analyzer.add_identity(f);d=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(d, -f);e=cljs.core.assoc_in(e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$locals,h],null),f);b=cljs.core.next(b)}};cljs.analyzer.analyze_let_bindings=function(a,b,c){var d=cljs.analyzer._STAR_recur_frames_STAR_,e=cljs.core.cons(null,cljs.analyzer._STAR_recur_frames_STAR_);cljs.analyzer._STAR_recur_frames_STAR_=e;try{return cljs.analyzer.analyze_let_bindings_STAR_(a,b,c)}finally{cljs.analyzer._STAR_recur_frames_STAR_=d}}; -cljs.analyzer.analyze_let_body_STAR_=function(a,b,c){a=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,cljs.core.cst$kw$context,cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$expr,b)?cljs.core.cst$kw$return:b);c=cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$do,null,1,null),c)));return cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2?cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(a, -c):cljs.analyzer.analyze.call(null,a,c)};cljs.analyzer.analyze_let_body=function(a,b,c,d,e){var f=cljs.analyzer._STAR_recur_frames_STAR_,g=cljs.analyzer._STAR_loop_lets_STAR_;cljs.analyzer._STAR_recur_frames_STAR_=d;cljs.analyzer._STAR_loop_lets_STAR_=e;try{return cljs.analyzer.analyze_let_body_STAR_(a,b,c)}finally{cljs.analyzer._STAR_loop_lets_STAR_=g,cljs.analyzer._STAR_recur_frames_STAR_=f}}; -cljs.analyzer.analyze_let=function(a,b,c,d){for(;;){var e=b,f=cljs.core.seq(e),g=cljs.core.first(f),h=cljs.core.next(f),k=g,l=cljs.core.first(h),m=cljs.core.next(h),n=l,p=m,q=e;if(!cljs.core.vector_QMARK_(n)||!cljs.core.even_QMARK_(cljs.core.count(n)))throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(a,"bindings must be vector of even number of elements");var r=cljs.core.cst$kw$context.cljs$core$IFn$_invoke$arity$1(a),u=!0===c?cljs.core.cst$kw$loop:cljs.core.cst$kw$let;b=cljs.core.truth_(d)? -cljs.core.vec(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t){return function(a,b){var c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(c,cljs.core.assoc,cljs.core.cst$kw$tag,b),a],null)}}(a,b,c,d,r,u,e,f,g,h,k,l,m,n,p,q),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.partition.cljs$core$IFn$_invoke$arity$2(2, -n),d],0))):n;b=cljs.analyzer.analyze_let_bindings(a,b,u);var t=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null),v=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null),w=!0===c?new cljs.core.PersistentArrayMap(null,3,[cljs.core.cst$kw$params,t,cljs.core.cst$kw$flag,cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null),cljs.core.cst$kw$tags,cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$tag,t))],null):null,x=cljs.core.truth_(w)?cljs.core.cons(w, -cljs.analyzer._STAR_recur_frames_STAR_):cljs.analyzer._STAR_recur_frames_STAR_,y=!0===c?cljs.analyzer._STAR_loop_lets_STAR_:null!=cljs.analyzer._STAR_loop_lets_STAR_?cljs.core.cons(new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$params,t],null),cljs.analyzer._STAR_loop_lets_STAR_):null,z=cljs.core.truth_(function(){var a=c;return cljs.core.truth_(a)?cljs.core.not(d):a}())?cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentVector.EMPTY):null;b=cljs.core.truth_(z)?function(){var a= -cljs.analyzer._STAR_cljs_warning_handlers_STAR_,b=new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.analyzer.accumulating_warning_handler(z)],null);cljs.analyzer._STAR_cljs_warning_handlers_STAR_=b;try{return cljs.analyzer.analyze_let_body(v,r,p,x,y)}finally{cljs.analyzer._STAR_cljs_warning_handlers_STAR_=a}}():cljs.analyzer.analyze_let_body(v,r,p,x,y);e=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$bindings,cljs.core.cst$kw$body], -null);var B=cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.identity,cljs.core.cst$sym$any);if(cljs.core.truth_(function(){var a=c;return cljs.core.truth_(a)?cljs.core.not(d)&&cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(B,cljs.core.deref(cljs.core.cst$kw$tags.cljs$core$IFn$_invoke$arity$1(w))),cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(B,cljs.core.cst$kw$tag),t)):a}()))b=q,q=c,u=cljs.core.deref(cljs.core.cst$kw$tags.cljs$core$IFn$_invoke$arity$1(w)), -c=q,d=u;else return cljs.core.truth_(z)&&cljs.analyzer.replay_accumulated_warnings(z),new cljs.core.PersistentArrayMap(null,6,[cljs.core.cst$kw$op,u,cljs.core.cst$kw$env,a,cljs.core.cst$kw$bindings,t,cljs.core.cst$kw$body,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,cljs.core.cst$kw$body_QMARK_,!0),cljs.core.cst$kw$form,q,cljs.core.cst$kw$children,e],null)}}; -cljs.analyzer.parse.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$sym$let_STAR_,function(a,b,c,d,e){return cljs.analyzer.analyze_let(b,c,!1,null)});cljs.analyzer.parse.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$sym$loop_STAR_,function(a,b,c,d,e){return cljs.analyzer.analyze_let(b,c,!0,null)}); -cljs.analyzer.parse.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$sym$recur,function(a,b,c,d,e){var f=cljs.core.seq(c),g=cljs.core.first(f),h=cljs.core.next(f),k=cljs.core.cst$kw$context.cljs$core$IFn$_invoke$arity$1(b),l=cljs.core.first(cljs.analyzer._STAR_recur_frames_STAR_),m=function(){var a=cljs.core.cst$kw$protocol_DASH_impl.cljs$core$IFn$_invoke$arity$1(l);return cljs.core.truth_(a)?cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(h),cljs.core.count(cljs.core.cst$kw$params.cljs$core$IFn$_invoke$arity$1(l))- -1):a}(),n=cljs.core.truth_(m)?cljs.core.cons(null,h):h;a=function(){var a=cljs.analyzer._STAR_recur_frames_STAR_,d=cljs.core.cons(null,cljs.analyzer._STAR_recur_frames_STAR_);cljs.analyzer._STAR_recur_frames_STAR_=d;try{return cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a,c,d,e,f,g,h,k,l,m,n,q,p){return function(a){var c=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,cljs.core.cst$kw$context,cljs.core.cst$kw$expr);return cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2? -cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(c,a):cljs.analyzer.analyze.call(null,c,a)}}(a,d,k,l,m,n,c,f,g,h,g,h,c),n))}finally{cljs.analyzer._STAR_recur_frames_STAR_=a}}();if(!cljs.core.truth_(l))throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(b,"Can't recur here");if(!cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(a),cljs.core.count(cljs.core.cst$kw$params.cljs$core$IFn$_invoke$arity$1(l))))throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(b,["recur argument count mismatch, expected: ", -cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(cljs.core.cst$kw$params.cljs$core$IFn$_invoke$arity$1(l)))," args, got: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(a))].join(""));cljs.core.truth_(function(){var a=cljs.core.cst$kw$protocol_DASH_impl.cljs$core$IFn$_invoke$arity$1(l);return cljs.core.truth_(a)?cljs.core.not(m):a}())&&cljs.analyzer.warning(cljs.core.cst$kw$protocol_DASH_impl_DASH_recur_DASH_with_DASH_target,b,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$form, -cljs.core.cst$kw$form.cljs$core$IFn$_invoke$arity$1(cljs.core.first(a))],null));cljs.core.reset_BANG_(cljs.core.cst$kw$flag.cljs$core$IFn$_invoke$arity$1(l),!0);cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$tags.cljs$core$IFn$_invoke$arity$1(l),function(a,b,c,d,e,f,g,h,k,l,m,n){return function(q){return cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b){return cljs.analyzer.add_types.cljs$core$IFn$_invoke$arity$2(a,cljs.core.cst$kw$tag.cljs$core$IFn$_invoke$arity$1(b))}}(a, -b,c,d,e,f,g,h,k,l,m,n),q,e)}}(k,l,m,n,a,c,f,g,h,g,h,c));return cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentArrayMap(null,3,[cljs.core.cst$kw$env,b,cljs.core.cst$kw$op,cljs.core.cst$kw$recur,cljs.core.cst$kw$form,c],null),cljs.core.cst$kw$frame,l,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$exprs,a,cljs.core.cst$kw$children,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$exprs],null)],0))}); -cljs.analyzer.analyze_const=function(a,b){var c=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,cljs.core.cst$kw$quoted_QMARK_,!0);c=cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2?cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(c,b):cljs.analyzer.analyze.call(null,c,b);c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,c):c;c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,cljs.core.cst$kw$tag); -return new cljs.core.PersistentArrayMap(null,6,[cljs.core.cst$kw$op,cljs.core.cst$kw$const,cljs.core.cst$kw$env,a,cljs.core.cst$kw$literal_QMARK_,!0,cljs.core.cst$kw$val,b,cljs.core.cst$kw$tag,c,cljs.core.cst$kw$form,b],null)}; -cljs.analyzer.parse.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$sym$quote,function(a,b,c,d,e){cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);if(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(2,cljs.core.count(c)))throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(b,"Wrong number of args to quote");a=cljs.analyzer.analyze_const(b,a);return new cljs.core.PersistentArrayMap(null,6,[cljs.core.cst$kw$op,cljs.core.cst$kw$quote, -cljs.core.cst$kw$expr,a,cljs.core.cst$kw$env,b,cljs.core.cst$kw$form,c,cljs.core.cst$kw$tag,cljs.core.cst$kw$tag.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$children,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$expr],null)],null)}); -cljs.analyzer.parse.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$sym$new,function(a,b,c,d,e){a=cljs.core.seq(c);d=cljs.core.first(a);e=cljs.core.next(a);var f=cljs.core.first(e),g=cljs.core.next(e),h=cljs.analyzer._STAR_recur_frames_STAR_,k=cljs.core.cons(null,cljs.analyzer._STAR_recur_frames_STAR_);cljs.analyzer._STAR_recur_frames_STAR_=k;try{var l=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,cljs.core.cst$kw$context,cljs.core.cst$kw$expr),m=cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2? -cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(l,f):cljs.analyzer.analyze.call(null,l,f),n=cljs.core.truth_(function(){var a=cljs.core.cst$kw$op.cljs$core$IFn$_invoke$arity$1(m),b=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[cljs.core.cst$kw$var,null,cljs.core.cst$kw$js_DASH_var,null,cljs.core.cst$kw$local,null],null),null);return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)}())?cljs.analyzer.resolve_existing_var(b,f):null, -p=cljs.core.truth_(function(){var a=cljs.core.cst$kw$record.cljs$core$IFn$_invoke$arity$1(n);return cljs.core.truth_(a)?cljs.core.not(cljs.core.cst$kw$internal_DASH_ctor.cljs$core$IFn$_invoke$arity$1(cljs.core.meta(f))):a}())?cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(3,cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2?cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(l,null):cljs.analyzer.analyze.call(null,l,null)):null,q=cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a, -b,c,d,e,f,g,h,k,l,m,n,q,p,r,u){return function(b){return cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2?cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(a,b):cljs.analyzer.analyze.call(null,a,b)}}(l,m,n,p,h,k,c,a,d,e,d,f,g,f,g,c),g)),p),r=cljs.core.cst$kw$num_DASH_fields.cljs$core$IFn$_invoke$arity$1(n),u=cljs.core.count(g);cljs.core.not(cljs.core.cst$kw$internal_DASH_ctor.cljs$core$IFn$_invoke$arity$1(cljs.core.meta(f)))&&null!=r&&cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(r,u)&&cljs.analyzer.warning(cljs.core.cst$kw$fn_DASH_arity, -b,new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$kw$argc,u,cljs.core.cst$kw$ctor,f],null));return new cljs.core.PersistentArrayMap(null,7,[cljs.core.cst$kw$env,b,cljs.core.cst$kw$op,cljs.core.cst$kw$new,cljs.core.cst$kw$form,c,cljs.core.cst$kw$class,m,cljs.core.cst$kw$args,q,cljs.core.cst$kw$children,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$class,cljs.core.cst$kw$args],null),cljs.core.cst$kw$tag,function(){var a=cljs.core.cst$kw$name.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$kw$info.cljs$core$IFn$_invoke$arity$1(m)); -var b=new cljs.core.PersistentArrayMap(null,6,[cljs.core.cst$sym$js_SLASH_Object,cljs.core.cst$sym$object,cljs.core.cst$sym$js_SLASH_String,cljs.core.cst$sym$string,cljs.core.cst$sym$js_SLASH_Array,cljs.core.cst$sym$array,cljs.core.cst$sym$js_SLASH_Number,cljs.core.cst$sym$number,cljs.core.cst$sym$js_SLASH_Function,cljs.core.cst$sym$function,cljs.core.cst$sym$js_SLASH_Boolean,cljs.core.cst$sym$boolean],null);b=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);return cljs.core.truth_(b)? -b:a}()],null)}finally{cljs.analyzer._STAR_recur_frames_STAR_=h}}); -cljs.analyzer.parse.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$sym$set_BANG_,function(a,b,c,d,e){cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,2,null);e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,3,null);a=cljs.core.truth_(e)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$_DOT_, -null,1,null),new cljs.core.List(null,a,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,d,null,1,null)],0)))),e],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,d],null);var f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,1,null);a=cljs.analyzer._STAR_recur_frames_STAR_;d=cljs.core.cons(null,cljs.analyzer._STAR_recur_frames_STAR_);cljs.analyzer._STAR_recur_frames_STAR_= -d;try{var h=cljs.analyzer._STAR_private_var_access_nowarn_STAR_;cljs.analyzer._STAR_private_var_access_nowarn_STAR_=!0;try{var k=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,cljs.core.cst$kw$context,cljs.core.cst$kw$expr),l=f instanceof cljs.core.Symbol?function(){cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(f,cljs.core.cst$sym$_STAR_unchecked_DASH_if_STAR_)&&(!0===g||!1===g)||cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(f,cljs.core.cst$sym$_STAR_unchecked_DASH_arrays_STAR_)&&(!0===g||!1===g)|| -!cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(f,cljs.core.cst$sym$_STAR_warn_DASH_on_DASH_infer_STAR_)||!0!==g&&!1!==g||(cljs.analyzer._STAR_cljs_warnings_STAR_=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.analyzer._STAR_cljs_warnings_STAR_,cljs.core.cst$kw$infer_DASH_warning,g));if(null!=cljs.core.cst$kw$const.cljs$core$IFn$_invoke$arity$1(cljs.analyzer.resolve_var.cljs$core$IFn$_invoke$arity$2(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$locals),f)))throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(b, -"Can't set! a constant");var a=cljs.analyzer.handle_symbol_local(f,function(){var a=cljs.core.cst$kw$locals.cljs$core$IFn$_invoke$arity$1(b);return f.cljs$core$IFn$_invoke$arity$1?f.cljs$core$IFn$_invoke$arity$1(a):f.call(null,a)}());if(!cljs.core.truth_(function(){var b=null==a;if(b)return b;b=cljs.core.cst$kw$field.cljs$core$IFn$_invoke$arity$1(a);if(cljs.core.truth_(b)){b=cljs.core.cst$kw$mutable.cljs$core$IFn$_invoke$arity$1(a);if(cljs.core.truth_(b))return b;b=cljs.core.cst$kw$unsynchronized_DASH_mutable.cljs$core$IFn$_invoke$arity$1(a); -return cljs.core.truth_(b)?b:cljs.core.cst$kw$volatile_DASH_mutable.cljs$core$IFn$_invoke$arity$1(a)}return b}()))throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(b,"Can't set! local var or non-mutable field");return cljs.analyzer.analyze_symbol.cljs$core$IFn$_invoke$arity$2?cljs.analyzer.analyze_symbol.cljs$core$IFn$_invoke$arity$2(k,f):cljs.analyzer.analyze_symbol.call(null,k,f)}():cljs.core.seq_QMARK_(f)?function(){var a=cljs.analyzer.analyze_seq.cljs$core$IFn$_invoke$arity$3?cljs.analyzer.analyze_seq.cljs$core$IFn$_invoke$arity$3(k, -f,null):cljs.analyzer.analyze_seq.call(null,k,f,null);return cljs.core.truth_(cljs.core.cst$kw$field.cljs$core$IFn$_invoke$arity$1(a))?a:null}():null,m=cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2?cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(k,g):cljs.analyzer.analyze.call(null,k,g);if(cljs.core.seq_QMARK_(f)){var n=null==f?null:cljs.core.second(f),p=cljs.core.meta(n),q=function(){var a=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$fn,cljs.core.cst$kw$op.cljs$core$IFn$_invoke$arity$1(m)); -return a?cljs.core.cst$kw$top_DASH_fn.cljs$core$IFn$_invoke$arity$1(p):a}();cljs.core.truth_(q)&&cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.env._STAR_compiler_STAR_,cljs.core.update_in,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$cljs$analyzer_SLASH_namespaces,cljs.core.cst$kw$name.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$kw$ns.cljs$core$IFn$_invoke$arity$1(b)),cljs.core.cst$kw$defs,n,cljs.core.cst$kw$methods],null),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.conj, -cljs.core.PersistentVector.EMPTY),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.select_keys(q,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$fixed_DASH_arity,cljs.core.cst$kw$variadic_QMARK_],null)),cljs.core.select_keys(cljs.core.first(cljs.core.cst$kw$methods.cljs$core$IFn$_invoke$arity$1(m)),new cljs.core.PersistentVector(null,1,5, -cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$tag],null))],0))],0))}if(!cljs.core.truth_(l))throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(b,"set! target must be a field or a symbol naming a var");return cljs.core.not(cljs.core.cst$kw$def_DASH_emits_DASH_var.cljs$core$IFn$_invoke$arity$1(b))&&null!=function(){var a=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[cljs.core.cst$sym$_STAR_warn_DASH_on_DASH_infer_STAR_,"null",cljs.core.cst$sym$_STAR_unchecked_DASH_arrays_STAR_, -"null",cljs.core.cst$sym$_STAR_unchecked_DASH_if_STAR_,"null"],null),null);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(f):a.call(null,f)}()?new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$kw$env,b,cljs.core.cst$kw$op,cljs.core.cst$kw$no_DASH_op],null):new cljs.core.PersistentArrayMap(null,6,[cljs.core.cst$kw$env,b,cljs.core.cst$kw$op,cljs.core.cst$kw$set_BANG_,cljs.core.cst$kw$form,c,cljs.core.cst$kw$target,l,cljs.core.cst$kw$val,m,cljs.core.cst$kw$children,new cljs.core.PersistentVector(null, -2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$target,cljs.core.cst$kw$val],null)],null)}finally{cljs.analyzer._STAR_private_var_access_nowarn_STAR_=h}}finally{cljs.analyzer._STAR_recur_frames_STAR_=a}}); -cljs.analyzer.foreign_dep_QMARK_=function(a){var b=cljs.core.cst$kw$js_DASH_dependency_DASH_index.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.env._STAR_compiler_STAR_));a=cljs.core.find(b,cljs.core.name(a));if(null==a)return!1;cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,1,null);a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map, -a):a;return cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,cljs.core.cst$kw$foreign)};cljs.analyzer.analyze_deps=function(a){switch(arguments.length){case 3:return cljs.analyzer.analyze_deps.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.analyzer.analyze_deps.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.analyzer.analyze_deps.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.analyzer.analyze_deps.cljs$core$IFn$_invoke$arity$4(a,b,c,cljs.core.truth_(cljs.env._STAR_compiler_STAR_)?cljs.core.cst$kw$options.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.env._STAR_compiler_STAR_)):null)}; -cljs.analyzer.analyze_deps.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){var e=cljs.core.deref(cljs.env._STAR_compiler_STAR_);d=cljs.analyzer._STAR_cljs_dep_set_STAR_;a=cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.analyzer._STAR_cljs_dep_set_STAR_,a),cljs.core.update_in,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$dep_DASH_path],null),cljs.core.conj,a);cljs.analyzer._STAR_cljs_dep_set_STAR_= -a;try{if(!cljs.core.every_QMARK_(function(a,b,c){return function(a){return!cljs.core.contains_QMARK_(cljs.analyzer._STAR_cljs_dep_set_STAR_,a)}}(d,a,e),b))throw Error(["Assert failed: ",["Circular dependency detected, ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(" -\x3e ",cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$dep_DASH_path.cljs$core$IFn$_invoke$arity$1(cljs.core.meta(cljs.analyzer._STAR_cljs_dep_set_STAR_)), -cljs.core.some(cljs.analyzer._STAR_cljs_dep_set_STAR_,b)))))].join(""),"\n(every? (fn* [p1__13664#] (not (contains? *cljs-dep-set* p1__13664#))) deps)"].join(""));var f=cljs.core.seq(b);b=null;for(var g=a=0;;)if(g=function(){var b=cljs.core.cst$kw$as;return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b, -0):a.call(null,b,0)}()&&1>=function(){var b=cljs.core.cst$kw$refer;return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,0):a.call(null,b,0)}()}())return null;throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(a,cljs.analyzer.parse_ns_error_msg(c,"Each of :as and :refer options may only be specified once in :require / :require-macros"));}return null}; -cljs.analyzer.parse_ns_excludes=function(a,b){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b,d){var c=cljs.core.seq(d),f=cljs.core.first(c),g=cljs.core.next(c);if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(f,cljs.core.cst$kw$refer_DASH_clojure)){if(cljs.core.seq(cljs.core.cst$kw$excludes.cljs$core$IFn$_invoke$arity$1(b)))throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(a,"Only one :refer-clojure form is allowed per namespace definition");var h=new cljs.core.PersistentHashSet(null, -new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$kw$exclude,null,cljs.core.cst$kw$rename,null],null),null),k=function(){for(var b=cljs.core.seq(g),e=new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$kw$excludes,cljs.core.PersistentHashSet.EMPTY,cljs.core.cst$kw$renames,cljs.core.PersistentArrayMap.EMPTY],null),k=!cljs.core.even_QMARK_(cljs.core.count(g));;){if(!0===k)throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(a,"Only [:refer-clojure :exclude (names)] and optionally `:rename {from to}` specs supported"); -if(null!=b){var p=cljs.core.first(b);if(cljs.core.truth_(h.cljs$core$IFn$_invoke$arity$1?h.cljs$core$IFn$_invoke$arity$1(p):h.call(null,p))){var q=cljs.core.second(b);if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p,cljs.core.cst$kw$exclude)&&cljs.core.sequential_QMARK_(q)&&cljs.core.every_QMARK_(cljs.core.symbol_QMARK_,q)||cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p,cljs.core.cst$kw$rename)&&cljs.core.map_QMARK_(q)&&cljs.core.every_QMARK_(function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return cljs.core.every_QMARK_(cljs.core.symbol_QMARK_, -a)}}(b,e,k,q,p,h,d,c,f,g,f,g),q))if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p,cljs.core.cst$kw$exclude))b=cljs.core.nnext(b),e=cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(e,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$excludes],null),cljs.core.into,q),k=!1;else if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p,cljs.core.cst$kw$rename))b=cljs.core.nnext(b),e=cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(e,new cljs.core.PersistentVector(null, -1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$renames],null),cljs.core.merge,q),k=!1;else return null;else k=!0}else k=!0}else return e}}();return cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.into,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([b,k],0))}return b},new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$kw$excludes,cljs.core.PersistentHashSet.EMPTY,cljs.core.cst$kw$renames,cljs.core.PersistentArrayMap.EMPTY],null),b)}; -cljs.analyzer.use__GT_require=function(a,b){var c=cljs.core.seq(b),d=cljs.core.first(c),e=cljs.core.next(c);if(!(d instanceof cljs.core.Symbol&&cljs.core.odd_QMARK_(cljs.core.count(b))))throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(a,cljs.analyzer.parse_ns_error_msg(b,"Only [lib.ns :only (names)] and optionally `:rename {from to}` specs supported in :use / :use-macros"));for(var f=cljs.core.seq(e),g=new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[d],null), -h=!1;;){if(!0===h)throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(a,cljs.analyzer.parse_ns_error_msg(b,"Only [lib.ns :only (names)] and optionally `:rename {from to}` specs supported in :use / :use-macros"));if(null!=f){var k=cljs.core.first(f),l=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,cljs.core.cst$kw$only);if(l||cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,cljs.core.cst$kw$rename)){if(null!=cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([l?cljs.core.cst$kw$refer:k]), -g))throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(a,cljs.analyzer.parse_ns_error_msg(b,"Each of :only and :rename options may only be specified once in :use / :use-macros"));var m=cljs.core.second(f);l&&cljs.core.sequential_QMARK_(m)&&cljs.core.every_QMARK_(cljs.core.symbol_QMARK_,m)||cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,cljs.core.cst$kw$rename)&&cljs.core.map_QMARK_(m)&&cljs.core.every_QMARK_(function(a,b,c,d,e,f,g,h,k,l,m,B,D){return function(a){return cljs.core.every_QMARK_(cljs.core.symbol_QMARK_, -a)}}(f,g,h,m,k,l,b,c,d,e,d,e,b),m)?(f=cljs.core.nnext(f),g=cljs.core.into.cljs$core$IFn$_invoke$arity$2(g,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l?cljs.core.cst$kw$refer:k,m],null)),h=!1):h=!0}else h=!0}else{if(null!=cljs.core.some(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$refer,null],null),null),g))return g;h=!0}}}; -cljs.analyzer.parse_require_spec=function(a,b,c,d,e){for(;;)if(e instanceof cljs.core.Symbol||"string"===typeof e){var f=d;e=new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[e],null);d=f}else{cljs.analyzer.basic_validate_ns_spec(a,b,e);f=e;var g=cljs.core.seq(f),h=cljs.core.first(g),k=cljs.core.next(g),l=h,m=k,n=function(){var a=cljs.analyzer.gets.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(cljs.env._STAR_compiler_STAR_),cljs.core.cst$kw$js_DASH_module_DASH_index,cljs.core.str.cljs$core$IFn$_invoke$arity$1(l), -cljs.core.cst$kw$name);return null==a?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,null],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(a),l],null)}(),p=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(n,0,null),q=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(n,1,null),r=cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,m),u=null!=r&&(r.cljs$lang$protocol_mask$partition0$& -64||cljs.core.PROTOCOL_SENTINEL===r.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,r):r,t=cljs.core.get.cljs$core$IFn$_invoke$arity$3(u,cljs.core.cst$kw$as,"string"===typeof p?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.munge(p)):p),v=cljs.core.get.cljs$core$IFn$_invoke$arity$2(u,cljs.core.cst$kw$refer),w=cljs.core.get.cljs$core$IFn$_invoke$arity$2(u,cljs.core.cst$kw$rename),x=cljs.core.seq(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.set(cljs.core.keys(w)), -v)),y=cljs.core.truth_(b)?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$require_DASH_macros,cljs.core.cst$kw$use_DASH_macros,cljs.core.cst$kw$rename_DASH_macros],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$require,cljs.core.cst$kw$use,cljs.core.cst$kw$rename],null),z=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(y,0,null),B=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(y,1,null),D=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(y, -2,null);if(!(t instanceof cljs.core.Symbol||null==t))throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(a,cljs.analyzer.parse_ns_error_msg(e,":as must be followed by a symbol in :require / :require-macros"));if(null!=t){var A=cljs.core.truth_(b)?cljs.core.cst$kw$macros:cljs.core.cst$kw$fns,C=function(){var a=A.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(d));return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(t):a.call(null,t)}();if(null!=C&&cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(p, -C))throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(a,cljs.analyzer.parse_ns_error_msg(e,":as alias must be unique"));cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(d,cljs.core.update_in,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[A],null),cljs.core.conj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[t,p],null),cljs.core.truth_(q)?new cljs.core.PersistentVector(null, -2,5,cljs.core.PersistentVector.EMPTY_NODE,[q,p],null):null],0))}if(!(cljs.core.sequential_QMARK_(v)&&cljs.core.every_QMARK_(cljs.core.symbol_QMARK_,v)||null==v))throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(a,cljs.analyzer.parse_ns_error_msg(e,":refer must be followed by a sequence of symbols in :require / :require-macros"));cljs.core.truth_(b)||cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(c,cljs.core.conj,p);return cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null!= -t?cljs.core.PersistentArrayMap.createAsIfByAssoc([z,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentArrayMap.createAsIfByAssoc([t,p]),cljs.core.PersistentArrayMap.createAsIfByAssoc([p,p]),cljs.core.truth_(q)?cljs.core.PersistentArrayMap.createAsIfByAssoc([q,p]):null],0))]):null,null!=x?cljs.core.PersistentArrayMap.createAsIfByAssoc([B,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(x, -cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(p)))]):null,null!=w?cljs.core.PersistentArrayMap.createAsIfByAssoc([D,cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,x,z,y,B,A){return function(b,c){var d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);if(!cljs.core.truth_(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([d]),v)))throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(a, -["Renamed symbol ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)," not referred"].join(""));return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,c,cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(q),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,B,D),cljs.core.PersistentArrayMap.EMPTY,w)]):null],0))}}; -cljs.analyzer.parse_import_spec=function(a,b,c){if(!(cljs.core.sequential_QMARK_(c)&&cljs.core.every_QMARK_(cljs.core.symbol_QMARK_,c)||c instanceof cljs.core.Symbol&&null==cljs.core.namespace(c)))throw cljs.analyzer.error.cljs$core$IFn$_invoke$arity$2(a,cljs.analyzer.parse_ns_error_msg(c,"Only lib.ns.Ctor or [lib.ns Ctor*] spec supported in :import"));a=cljs.core.sequential_QMARK_(c)?cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a){return new cljs.core.PersistentVector(null, -2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(c)),".",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""))],null)},cljs.core.rest(c))):cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.last(clojure.string.split.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),/\./))),c]);for(var d=cljs.core.seq(a),e=null, -f=0,g=0;;)if(ga?(-a<<1)+1:a<<1};cljs.source_map.base64_vlq.from_vlq_signed=function(a){var b=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a&1,1);a>>=1;return b?-a:a}; -cljs.source_map.base64_vlq.encode_val=function(a){var b=new goog.string.StringBuffer,c=cljs.source_map.base64_vlq.to_vlq_signed(a);a=c&cljs.source_map.base64_vlq.vlq_base_mask;for(c>>>=5;;)if(0>>5;a=c&cljs.source_map.base64_vlq.vlq_base_mask;c=d}else{b.append(cljs.source_map.base64.encode(a));break}return cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)}; -cljs.source_map.base64_vlq.encode=function(a){return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.source_map.base64_vlq.encode_val,a))}; -cljs.source_map.base64_vlq.decode=function(a){for(var b=a.length,c=0,d=0,e=0;;){if(c>=b)throw Error("Expected more digits in base 64 VLQ value.");var f=cljs.source_map.base64.decode(a.charAt(c)),g=c+1,h=0<(f&cljs.source_map.base64_vlq.vlq_continuation_bit),k=f&cljs.source_map.base64_vlq.vlq_base_mask,l=d+(k<t-1?cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(a,function(a,b,c,d,e,f,g,h,k,l, -m,n,q){return function(a){return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$2(a,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(f-(g-1)-1,cljs.core.PersistentVector.EMPTY)),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[e],null))}}(f,l,m,n,p,r,t,q,a,b,c,d,e)):cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(a,function(a,b,c,d,e,f,g,h,k,l,m,n,q){return function(a){return cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(a, -new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[f],null),cljs.core.conj,e)}}(f,l,m,n,p,r,t,q,a,b,c,d,e));n+=1}else if(r=cljs.core.seq(f)){p=r;if(cljs.core.chunked_seq_QMARK_(p))f=cljs.core.chunk_first(p),n=cljs.core.chunk_rest(p),l=f,m=cljs.core.count(f),f=n;else{q=cljs.core.first(p);t=e(q,g,h,k);var u=cljs.core.cst$kw$gline.cljs$core$IFn$_invoke$arity$1(q),v=cljs.core.count(cljs.core.deref(a));u>v-1?cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(a,function(a,b, -c,d,e,f,g,h,k,l,m,n,q,p,r){return function(a){return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$2(a,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(f-(g-1)-1,cljs.core.PersistentVector.EMPTY)),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[e],null))}}(f,l,m,n,t,u,v,q,p,r,a,b,c,d,e)):cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(a,function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r){return function(a){return cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(a, -new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[f],null),cljs.core.conj,e)}}(f,l,m,n,t,u,v,q,p,r,a,b,c,d,e));f=cljs.core.next(p);l=null;m=0}n=0}else return null}}(c,d,e,f,g),k=cljs.core.seq(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(function(a,b,c,d,e,f){return function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(c,d,e,f,g,h),a)),l=null,m=0,n=0;;)if(nb)return a;a=b.toString(16);b=cljs.core.subs.cljs$core$IFn$_invoke$arity$2("0000",a.length);return["\\u",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")}}; -cljs.compiler.escape_string=function(a){var b=new goog.string.StringBuffer;a=cljs.core.seq(a);for(var c=null,d=0,e=0;;)if(ec?cljs.compiler.emits.cljs$core$IFn$_invoke$arity$5("new cljs.core.PersistentVector(null, ",c,", 5, cljs.core.PersistentVector.EMPTY_NODE, [",b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a),"], null)"):cljs.compiler.emits.cljs$core$IFn$_invoke$arity$3("cljs.core.PersistentVector.fromArray([", -b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a),"], true)")}; -cljs.compiler.emit_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$kw$vector,function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,a):a;a=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$items);b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$env);cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$return,cljs.core.cst$kw$context.cljs$core$IFn$_invoke$arity$1(b))&& -cljs.compiler.emits.cljs$core$IFn$_invoke$arity$1("return ");cljs.compiler.emit_vector(a,cljs.compiler.comma_sep);return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$expr,cljs.core.cst$kw$context.cljs$core$IFn$_invoke$arity$1(b))?null:cljs.compiler.emitln.cljs$core$IFn$_invoke$arity$1(";")}); -cljs.compiler.distinct_constants_QMARK_=function(a){a=cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.analyzer.unwrap_quote,a);return cljs.core.every_QMARK_(function(a){return function(a){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$op.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$const)}}(a),a)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashSet.EMPTY,a)),cljs.core.count(a))}; -cljs.compiler.emit_set=function(a,b,c){return cljs.core.empty_QMARK_(a)?cljs.compiler.emits.cljs$core$IFn$_invoke$arity$1("cljs.core.PersistentHashSet.EMPTY"):cljs.core.truth_(c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(a):c.call(null,a))?cljs.compiler.emits.cljs$core$IFn$_invoke$arity$5("new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, ",cljs.core.count(a),", [",function(){var c=cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(a,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1("null")); -return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)}(),"], null), null)"):cljs.compiler.emits.cljs$core$IFn$_invoke$arity$3("cljs.core.PersistentHashSet.createAsIfByAssoc([",b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a),"])")}; -cljs.compiler.emit_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$kw$set,function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,a):a;a=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$items);b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$env);cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$return,cljs.core.cst$kw$context.cljs$core$IFn$_invoke$arity$1(b))&& -cljs.compiler.emits.cljs$core$IFn$_invoke$arity$1("return ");cljs.compiler.emit_set(a,cljs.compiler.comma_sep,cljs.compiler.distinct_constants_QMARK_);return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$expr,cljs.core.cst$kw$context.cljs$core$IFn$_invoke$arity$1(b))?null:cljs.compiler.emitln.cljs$core$IFn$_invoke$arity$1(";")}); -cljs.compiler.emit_js_object=function(a,b){cljs.compiler.emits.cljs$core$IFn$_invoke$arity$1("({");if(a=cljs.core.seq(a)){var c=cljs.core.seq(a);a=cljs.core.first(c);c=cljs.core.next(c);var d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,1,null);cljs.compiler.emits.cljs$core$IFn$_invoke$arity$4('"',cljs.core.name(d),'": ',b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a));a=cljs.core.seq(c);c=null;for(var e=d= -0;;)if(ey:u))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(c,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$info],null),function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,x){return function(z){return cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(z,cljs.core.cst$kw$name, -cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.compiler.munge.cljs$core$IFn$_invoke$arity$1(z)),".cljs$core$IFn$_invoke$arity$variadic"].join(""))),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$info],null),function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,x){return function(a){return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(a,cljs.core.cst$kw$shadow), -cljs.core.cst$kw$fn_DASH_self_DASH_name)}}(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,x))}}(t,u,x,y,f,g,h,k,l,m,n,p,q,r,a,b,b,c,d,e)),new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$max_DASH_fixed_DASH_arity,y],null)],null);var z=cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.count,x);return cljs.core.truth_(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([t]),z))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(c, -new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$info],null),function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,x,z){return function(y){return cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(y,cljs.core.cst$kw$name,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.compiler.munge.cljs$core$IFn$_invoke$arity$1(y)),".cljs$core$IFn$_invoke$arity$",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""))), -new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$info],null),function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,x,z){return function(a){return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(a,cljs.core.cst$kw$shadow),cljs.core.cst$kw$fn_DASH_self_DASH_name)}}(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t,u,v,w,x,z))}}(z,t,u,x,y,f,g,h,k,l,m,n,p,q,r,a,b,b,c,d,e)),null],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE, -[c,null],null)}():new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,null],null),t=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(u,0,null);u=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(u,1,null);cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$return,cljs.core.cst$kw$context.cljs$core$IFn$_invoke$arity$1(e))&&cljs.compiler.emits.cljs$core$IFn$_invoke$arity$1("return ");m?cljs.compiler.emits.cljs$core$IFn$_invoke$arity$3("(!(",cljs.core.first(d),"))"):cljs.core.truth_(l)? -(u=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.compiler.munge.cljs$core$IFn$_invoke$arity$1(cljs.compiler.protocol_prefix(h))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.compiler.munge.cljs$core$IFn$_invoke$arity$1(cljs.core.name(cljs.core.cst$kw$name.cljs$core$IFn$_invoke$arity$1(f)))),"$arity$",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(d))].join(""),cljs.compiler.emits.cljs$core$IFn$_invoke$arity$variadic(cljs.core.first(d),".",u,"(",cljs.compiler.comma_sep(cljs.core.cons("null", -cljs.core.rest(d))),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([")"],0))):r?cljs.compiler.emits.cljs$core$IFn$_invoke$arity$variadic(t,".cljs$core$IFn$_invoke$arity$",cljs.core.count(d),"(",cljs.compiler.comma_sep(d),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([")"],0)):cljs.core.truth_(u)?(u=cljs.core.cst$kw$max_DASH_fixed_DASH_arity.cljs$core$IFn$_invoke$arity$1(u),cljs.compiler.emits.cljs$core$IFn$_invoke$arity$variadic(t,"(",cljs.compiler.comma_sep(cljs.core.take.cljs$core$IFn$_invoke$arity$2(u, -d)),0===u?null:",","cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([",cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.compiler.comma_sep(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(u,d)),"], 0))"],0))):cljs.core.truth_(cljs.core.truth_(g)?g:p?p:q)?cljs.compiler.emits.cljs$core$IFn$_invoke$arity$4(t,"(",cljs.compiler.comma_sep(d),")"):cljs.core.truth_(function(){var a=cljs.analyzer._STAR_cljs_static_fns_STAR_;if(a){a=cljs.core.cst$kw$op.cljs$core$IFn$_invoke$arity$1(t);var b=new cljs.core.PersistentHashSet(null, -new cljs.core.PersistentArrayMap(null,3,[cljs.core.cst$kw$var,null,cljs.core.cst$kw$js_DASH_var,null,cljs.core.cst$kw$local,null],null),null);return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)}return a}())?(u=[".cljs$core$IFn$_invoke$arity$",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(d))].join(""),cljs.analyzer._STAR_fn_invoke_direct_STAR_?cljs.compiler.emits.cljs$core$IFn$_invoke$arity$variadic("(",t,u," ? ",t,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([u, -"(",cljs.compiler.comma_sep(d),") : ",t,"(",cljs.compiler.comma_sep(d),"))"],0)):cljs.compiler.emits.cljs$core$IFn$_invoke$arity$variadic("(",t,u," ? ",t,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([u,"(",cljs.compiler.comma_sep(d),") : ",t,".call(",cljs.compiler.comma_sep(cljs.core.cons("null",d)),"))"],0))):cljs.compiler.emits.cljs$core$IFn$_invoke$arity$4(t,".call(",cljs.compiler.comma_sep(cljs.core.cons("null",d)),")");return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$expr, -cljs.core.cst$kw$context.cljs$core$IFn$_invoke$arity$1(e))?null:cljs.compiler.emitln.cljs$core$IFn$_invoke$arity$1(";")}); -cljs.compiler.emit_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$kw$new,function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,a):a;a=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$class);var c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$args);b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$env);cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$return, -cljs.core.cst$kw$context.cljs$core$IFn$_invoke$arity$1(b))&&cljs.compiler.emits.cljs$core$IFn$_invoke$arity$1("return ");cljs.compiler.emits.cljs$core$IFn$_invoke$arity$5("(new ",a,"(",cljs.compiler.comma_sep(c),"))");return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$expr,cljs.core.cst$kw$context.cljs$core$IFn$_invoke$arity$1(b))?null:cljs.compiler.emitln.cljs$core$IFn$_invoke$arity$1(";")}); -cljs.compiler.emit_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$kw$set_BANG_,function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,a):a;a=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$target);var c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$val);b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$env); -cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$return,cljs.core.cst$kw$context.cljs$core$IFn$_invoke$arity$1(b))&&cljs.compiler.emits.cljs$core$IFn$_invoke$arity$1("return ");cljs.compiler.emits.cljs$core$IFn$_invoke$arity$3(a," \x3d ",c);return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$expr,cljs.core.cst$kw$context.cljs$core$IFn$_invoke$arity$1(b))?null:cljs.compiler.emitln.cljs$core$IFn$_invoke$arity$1(";")}); -cljs.compiler.emit_global_export=function(a,b,c){return cljs.compiler.emitln.cljs$core$IFn$_invoke$arity$variadic(cljs.compiler.munge.cljs$core$IFn$_invoke$arity$1(a),".",cljs.analyzer.munge_global_export(c)," \x3d goog.global",cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a){return['["',cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),'"]'].join("")},clojure.string.split.cljs$core$IFn$_invoke$arity$2(cljs.core.name(function(){var a= -cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(c));return cljs.core.truth_(a)?a:cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.name(c))}()),/\./))),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([";"],0))}; -cljs.compiler.load_libs=function(a,b,c,d,e){var f=cljs.core.deref(cljs.env._STAR_compiler_STAR_);f=null!=f&&(f.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===f.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,f):f;var g=cljs.core.get.cljs$core$IFn$_invoke$arity$2(f,cljs.core.cst$kw$options);f=cljs.core.get.cljs$core$IFn$_invoke$arity$2(f,cljs.core.cst$kw$js_DASH_dependency_DASH_index);g=null!=g&&(g.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL=== -g.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,g):g;var h=cljs.core.get.cljs$core$IFn$_invoke$arity$2(g,cljs.core.cst$kw$target),k=cljs.core.get.cljs$core$IFn$_invoke$arity$2(g,cljs.core.cst$kw$optimizations);g=cljs.compiler.munge.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$sym$cljs$core$_STAR_loaded_DASH_libs_STAR_);var l=cljs.compiler.munge.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$sym$cljs$core$_STAR_loaded_DASH_libs_STAR_)), -m=function(){var c=cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.set(cljs.core.vals(b)),cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.set(cljs.core.vals(a)),d));if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$nodejs,h)){c=cljs.core.group_by(cljs.analyzer.node_module_dep_QMARK_,c);var e=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,c):c;c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(e, -!0);e=cljs.core.get.cljs$core$IFn$_invoke$arity$2(e,!1);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,e],null)}return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,c],null)}(),n=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(m,0,null),p=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(m,1,null);m=cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.analyzer.dep_has_global_exports_QMARK_,p);cljs.core.truth_(cljs.core.cst$kw$reload_DASH_all.cljs$core$IFn$_invoke$arity$1(cljs.core.meta(a)))&& -(cljs.compiler.emitln.cljs$core$IFn$_invoke$arity$5("if(!COMPILED) ",l," \x3d ",g,' || cljs.core.set(["cljs.core"]);'),cljs.compiler.emitln.cljs$core$IFn$_invoke$arity$3("if(!COMPILED) ",g,' \x3d cljs.core.set(["cljs.core"]);'));p=cljs.core.seq(p);for(var q=null,r=0,u=0;;)if(ua?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH_PersistentVector$,null,1,null),new cljs.core.List(null,null,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,a,null,1,null),new cljs.core.List(null, -5,null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$$_DASH_EMPTY_DASH_NODE,null,1,null),new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH_PersistentVector,null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$cljs$core$macros_SLASH_array, -null,1,null),c))),null,1,null),new cljs.core.List(null,null,null,1,null)],0)))):cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$$fromArray,null,1,null),new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH_PersistentVector,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null, -cljs.core.cst$sym$cljs$core$macros_SLASH_array,null,1,null),c))),null,1,null),new cljs.core.List(null,!0,null,1,null)],0)))),cljs.core.assoc,cljs.core.cst$kw$tag,cljs.core.cst$sym$cljs$core_SLASH_PersistentVector)};cljs.core$macros.vector.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core$macros.vector.cljs$lang$maxFixedArity=2;return null}(); -cljs.core$macros.vector.cljs$lang$macro=!0; -var ret__4776__auto___26520=function(){cljs.core$macros.array_map=function(a){switch(arguments.length){case 2:return cljs.core$macros.array_map.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d=cljs.core.count(c)&&cljs.core.every_QMARK_(function(a){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$op.cljs$core$IFn$_invoke$arity$1(cljs.analyzer.unwrap_quote(a)), -cljs.core.cst$kw$const)},cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a){var c=cljs.analyzer._STAR_cljs_warnings_STAR_,d=cljs.core.PersistentHashMap.fromArrays([cljs.core.cst$kw$invoke_DASH_ctor,cljs.core.cst$kw$extending_DASH_base_DASH_js_DASH_type,cljs.core.cst$kw$unsupported_DASH_preprocess_DASH_value,cljs.core.cst$kw$redef,cljs.core.cst$kw$js_DASH_shadowed_DASH_by_DASH_local,cljs.core.cst$kw$unsupported_DASH_js_DASH_module_DASH_type,cljs.core.cst$kw$invalid_DASH_protocol_DASH_symbol,cljs.core.cst$kw$private_DASH_var_DASH_access, -cljs.core.cst$kw$protocol_DASH_duped_DASH_method,cljs.core.cst$kw$munged_DASH_namespace,cljs.core.cst$kw$single_DASH_segment_DASH_namespace,cljs.core.cst$kw$fn_DASH_arity,cljs.core.cst$kw$infer_DASH_warning,cljs.core.cst$kw$variadic_DASH_max_DASH_arity,cljs.core.cst$kw$protocol_DASH_with_DASH_variadic_DASH_method,cljs.core.cst$kw$fn_DASH_deprecated,cljs.core.cst$kw$undeclared_DASH_var,cljs.core.cst$kw$declared_DASH_arglists_DASH_mismatch,cljs.core.cst$kw$preamble_DASH_missing,cljs.core.cst$kw$undeclared_DASH_protocol_DASH_symbol, -cljs.core.cst$kw$dynamic,cljs.core.cst$kw$invalid_DASH_array_DASH_access,cljs.core.cst$kw$unprovided,cljs.core.cst$kw$ns_DASH_var_DASH_clash,cljs.core.cst$kw$undeclared_DASH_ns,cljs.core.cst$kw$non_DASH_dynamic_DASH_earmuffed_DASH_var,cljs.core.cst$kw$undeclared_DASH_ns_DASH_form,cljs.core.cst$kw$invalid_DASH_arithmetic,cljs.core.cst$kw$protocol_DASH_deprecated,cljs.core.cst$kw$fn_DASH_var,cljs.core.cst$kw$protocol_DASH_impl_DASH_recur_DASH_with_DASH_target,cljs.core.cst$kw$overload_DASH_arity,cljs.core.cst$kw$protocol_DASH_multiple_DASH_impls, -cljs.core.cst$kw$redef_DASH_in_DASH_file,cljs.core.cst$kw$protocol_DASH_invalid_DASH_method,cljs.core.cst$kw$extend_DASH_type_DASH_invalid_DASH_method_DASH_shape,cljs.core.cst$kw$multiple_DASH_variadic_DASH_overloads,cljs.core.cst$kw$protocol_DASH_impl_DASH_with_DASH_variadic_DASH_method],[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1]);cljs.analyzer._STAR_cljs_warnings_STAR_=d;try{return cljs.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(b, -a)}finally{cljs.analyzer._STAR_cljs_warnings_STAR_=c}},c))&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashSet.EMPTY,c)),cljs.core.count(c))?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH_PersistentHashSet$,null,1,null),new cljs.core.List(null,null,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null, -cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH_PersistentArrayMap$,null,1,null),new cljs.core.List(null,null,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.count(c),null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null, -cljs.core.cst$sym$cljs$core$macros_SLASH_array,null,1,null),cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(c,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null))))),null,1,null),new cljs.core.List(null,null,null,1,null)],0)))),null,1,null),new cljs.core.List(null,null,null,1,null)],0)))):cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$$createAsIfByAssoc, -null,1,null),new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH_PersistentHashSet,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$cljs$core$macros_SLASH_array,null,1,null),c))),null,1,null)],0)))),cljs.core.assoc,cljs.core.cst$kw$tag,cljs.core.cst$sym$cljs$core_SLASH_PersistentHashSet)};cljs.core$macros.hash_set.cljs$lang$applyTo= -function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core$macros.hash_set.cljs$lang$maxFixedArity=2;return null}();cljs.core$macros.hash_set.cljs$lang$macro=!0; -cljs.core$macros.js_obj_STAR_=function(a){var b=cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(",",cljs.core.take.cljs$core$IFn$_invoke$arity$2(cljs.core.count(a),cljs.core.repeat.cljs$core$IFn$_invoke$arity$1("~{}:~{}"))));return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(cljs.core.cst$sym$js_STAR_,["({",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),"})"].join(""),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat, -a)),cljs.core.assoc,cljs.core.cst$kw$tag,cljs.core.cst$sym$object)}; -var ret__4776__auto___26566=function(){cljs.core$macros.js_obj=function(a){for(var b=[],c=arguments.length,d=0;;)if(d=a?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$cljs$core$macros_SLASH_let,null,1,null),new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,function(){var b=a-1;return cljs.core$macros.cs.cljs$core$IFn$_invoke$arity$1? -cljs.core$macros.cs.cljs$core$IFn$_invoke$arity$1(b):cljs.core$macros.cs.call(null,b)}(),null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH__DASH_first,null,1,null),new cljs.core.List(null,cljs.core.cst$sym$args,null,1,null)))),null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.cst$sym$args,null,1,null), -new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH__DASH_rest,null,1,null),new cljs.core.List(null,cljs.core.cst$sym$args,null,1,null)))),null,1,null)],0))))),null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null, -cljs.core.cst$sym$if,null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$cljs$core$macros_SLASH__EQ__EQ_,null,1,null),new cljs.core.List(null,cljs.core.cst$sym$argc,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,a,null,1,null)],0)))),null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null, -cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$f,null,1,null),cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,cljs.core$macros.cs)))),null,1,null),new cljs.core.List(null,cljs.core$macros.gen_apply_to_helper.cljs$core$IFn$_invoke$arity$1(a+1),null,1,null)],0)))),null,1,null)],0)))):cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null, -cljs.core.cst$sym$throw,null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$js_SLASH_Error$,null,1,null),new cljs.core.List(null,"Only up to 20 arguments supported on functions",null,1,null)))),null,1,null))))};cljs.core$macros.gen_apply_to_helper.cljs$lang$maxFixedArity=1; -var ret__4776__auto___26639=cljs.core$macros.gen_apply_to=function(a,b){return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$do,null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$set_BANG_,null,1,null),new cljs.core.List(null,cljs.core.cst$sym$_STAR_unchecked_DASH_if_STAR_, -null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,!0,null,1,null)],0)))),null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$cljs$core$macros_SLASH_defn,null,1,null),new cljs.core.List(null,cljs.core.cst$sym$apply_DASH_to,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null, -cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$f,null,1,null),new cljs.core.List(null,cljs.core.cst$sym$argc,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.cst$sym$args,null,1,null)],0))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null, -cljs.core.cst$sym$cljs$core$macros_SLASH_let,null,1,null),new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$args,null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH_seq,null,1,null),new cljs.core.List(null,cljs.core.cst$sym$args, -null,1,null)))),null,1,null))))),null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$if,null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$cljs$core$macros_SLASH_zero_QMARK_, -null,1,null),new cljs.core.List(null,cljs.core.cst$sym$argc,null,1,null)))),null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1(new cljs.core.List(null,cljs.core.cst$sym$f,null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core$macros.gen_apply_to_helper.cljs$core$IFn$_invoke$arity$0(),null,1,null)],0)))),null,1,null)],0)))),null,1,null)],0)))),null, -1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$set_BANG_,null,1,null),new cljs.core.List(null,cljs.core.cst$sym$_STAR_unchecked_DASH_if_STAR_,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,!1,null,1,null)],0)))),null,1,null)],0))))};cljs.core$macros.gen_apply_to.cljs$lang$macro=!0; -cljs.core$macros.gen_apply_to_simple_helper=function(a,b,c){var d=cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(["a",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")),e=["cljs$core$IFn$_invoke$arity$",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b+1)].join(""),f=cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([".-",e].join("")),g=cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([".",e].join("")),h=cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(["next_",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")); -e=cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(function(a,b,c,d,e){return function(a){return cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(["a",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""))}}(d,e,f,g,h),cljs.core.range.cljs$core$IFn$_invoke$arity$1(b+1));return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$cljs$core$macros_SLASH_let,null,1,null),new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null, -d,null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH__DASH_first,null,1,null),new cljs.core.List(null,c,null,1,null)))),null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,h,null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null, -cljs.core.cst$sym$cljs$core_SLASH_next,null,1,null),new cljs.core.List(null,c,null,1,null)))),null,1,null)],0))))),null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$if,null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null, -cljs.core.cst$sym$cljs$core$macros_SLASH_nil_QMARK_,null,1,null),new cljs.core.List(null,h,null,1,null)))),null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$if,null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null, -f,null,1,null),new cljs.core.List(null,a,null,1,null)))),null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,g,null,1,null),new cljs.core.List(null,a,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e],0)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null, -cljs.core.cst$sym$$call,null,1,null),new cljs.core.List(null,a,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,a,null,1,null),e],0)))),null,1,null)],0)))),null,1,null),new cljs.core.List(null,19<=b?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$cljs$core$macros_SLASH_let,null,1,null),new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null, -cljs.core.cst$sym$arr__26641__auto__,null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH_array,null,1,null),e))),null,1,null))))),null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null, -cljs.core.cst$sym$cljs$core$macros_SLASH_loop,null,1,null),new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$s__26642__auto__,null,1,null),new cljs.core.List(null,h,null,1,null))))),null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null, -cljs.core.cst$sym$cljs$core$macros_SLASH_when,null,1,null),new cljs.core.List(null,cljs.core.cst$sym$s__26642__auto__,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$do,null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null, -cljs.core.cst$sym$$push,null,1,null),new cljs.core.List(null,cljs.core.cst$sym$arr__26641__auto__,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH__DASH_first,null,1,null),new cljs.core.List(null,cljs.core.cst$sym$s__26642__auto__,null,1,null)))),null,1,null)],0)))),null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null, -cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$recur,null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$cljs$core_SLASH_next,null,1,null),new cljs.core.List(null,cljs.core.cst$sym$s__26642__auto__,null,1,null)))),null,1,null)))),null,1,null)],0)))),null,1,null)], -0)))),null,1,null)],0)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$$apply,null,1,null),new cljs.core.List(null,a,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,a,null,1,null),new cljs.core.List(null,cljs.core.cst$sym$arr__26641__auto__,null,1,null)],0)))),null,1,null)],0)))):function(){var c=b+1;return cljs.core$macros.gen_apply_to_simple_helper.cljs$core$IFn$_invoke$arity$3? -cljs.core$macros.gen_apply_to_simple_helper.cljs$core$IFn$_invoke$arity$3(a,c,h):cljs.core$macros.gen_apply_to_simple_helper.call(null,a,c,h)}(),null,1,null)],0)))),null,1,null)],0))))};var ret__4776__auto___26646=cljs.core$macros.gen_apply_to_simple=function(a,b,c,d,e){return cljs.core$macros.gen_apply_to_simple_helper(c,d,e)};cljs.core$macros.gen_apply_to_simple.cljs$lang$macro=!0; -var ret__4776__auto___26652=function(){cljs.core$macros.with_out_str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d*=&?]+)\/[a-zA-Z0-9-]*$/, -a));a=cljs.core.first(cljs.core.re_find(/:?([a-zA-Z0-9-.<>*=&?]*|^\(\/)$/,a));b=cljs.core.sort.cljs$core$IFn$_invoke$arity$1(cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(klipse_clj.repl.is_completion_QMARK_,a),klipse_clj.repl.completion_candidates(b,c)));c=klipse_clj.repl.longest_common_prefix(b);return cljs.core.with_meta(cljs.core.empty_QMARK_(c)||cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,a)?cljs.core.into.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, -1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null),b):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,c],null),new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$ready,!0],null))};klipse_clj.lang={};klipse_clj.lang.clojure={};klipse_clj.lang.clojure.io={};klipse_clj.lang.clojure.io._STAR_klipse_settings_STAR_=cljs.core.PersistentArrayMap.EMPTY;klipse_clj.lang.clojure.io._STAR_verbose_QMARK__STAR_=!1;klipse_clj.lang.clojure.io._STAR_cache_buster_QMARK__STAR_=!1;klipse_clj.lang.clojure.io.edn=function(a){return cljs_http.util.transit_decode(JSON.stringify(cljs.core.clj__GT_js(a)),cljs.core.cst$kw$json,null)}; -klipse_clj.lang.clojure.io.macro_suffixes=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[".clj",".cljc"],null);klipse_clj.lang.clojure.io.cljs_suffixes=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[".cljs",".cljc"],null); -if("undefined"===typeof klipse_clj||"undefined"===typeof klipse_clj.lang||"undefined"===typeof klipse_clj.lang.clojure||"undefined"===typeof klipse_clj.lang.clojure.io||"undefined"===typeof klipse_clj.lang.clojure.io.load_ns)klipse_clj.lang.clojure.io.load_ns=function(){var a=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY), -d=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,cljs.core.cst$kw$hierarchy,function(){var a=cljs.core.get_global_hierarchy;return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)}());return new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2("klipse-clj.lang.clojure.io","load-ns"),function(a,b,c,d,e){return function(a,b,c){c=null!=b&&(b.cljs$lang$protocol_mask$partition0$& -64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,b):b;a=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,cljs.core.cst$kw$name);b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,cljs.core.cst$kw$macros);c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,cljs.core.cst$kw$path);new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c],null);return cljs.core.truth_(b)?cljs.core.cst$kw$macro:cljs.core.truth_(cljs.core.re_matches(/^goog\..*/, -cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)))?cljs.core.cst$kw$goog:cljs.core.truth_(cljs.core.re_matches(/.*\.gist-.*/,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)))?cljs.core.cst$kw$gist:cljs.core.cst$kw$cljs}}(a,b,c,d,e),cljs.core.cst$kw$default,e,a,b,c,d)}(); -klipse_clj.lang.clojure.io.skip_ns_macros=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,7,[cljs.core.cst$sym$cljs$analyzer$macros,null,cljs.core.cst$sym$cljs$env$macros,null,cljs.core.cst$sym$cljs$pprint,null,cljs.core.cst$sym$cljs$repl,null,cljs.core.cst$sym$cljs$compiler$macros,null,cljs.core.cst$sym$cljs$core,null,cljs.core.cst$sym$cljs$js,null],null),null); -klipse_clj.lang.clojure.io.the_ns_map=new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$sym$cljs$test,"https://raw.githubusercontent.com/clojure/clojurescript/master/src/main/cljs/",cljs.core.cst$sym$clojure$template,"https://raw.githubusercontent.com/viebel/clojure/master/src/clj/"],null); -klipse_clj.lang.clojure.io.skip_ns_cljs=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[cljs.core.cst$sym$cljs$source_DASH_map,null,cljs.core.cst$sym$cljs$core,null,cljs.core.cst$sym$cljs$env,null],null),null); -klipse_clj.lang.clojure.io.filename_of=function(a){return klipse_clj.lang.clojure.io._STAR_cache_buster_QMARK__STAR_?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"?",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(""):a}; -klipse_clj.lang.clojure.io.try_to_load_ns=function(a){for(var b=[],c=arguments.length,d=0;;)if(da){if(cljs.core.truth_(confirm(["A KLIPSE snippet has been running for more than ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)," milliseconds. This is often because of a long-running computation or infinite loop. Would you like to interrupt the snippet? \n OK to interrupt the evaluation.\n Cancel to continue."].join(""))))throw"Infinite Loop";return klipse_clj.lang.clojure.guard._STAR_watchdog_tick_STAR_= -cljs.core.system_time()}return null};goog.exportSymbol("klipse_clj.lang.clojure.guard.guard",klipse_clj.lang.clojure.guard.guard);klipse_clj.lang.clojure.guard.my_emits=function(a){for(var b=[],c=arguments.length,d=0;;)if(d=Number(c)?a:a=-1Number(a)?"-":0<=b.indexOf("+")?"+":0<=b.indexOf(" ")?" ":"";0<=Number(a)&&(d=f+d);if(isNaN(c)||d.length>=Number(c))return d;d=isNaN(e)?Math.abs(Number(a)).toString():Math.abs(Number(a)).toFixed(e);a=Number(c)-d.length-f.length;0<=b.indexOf("-",0)?d=f+d+goog.string.repeat(" ",a):(b=0<=b.indexOf("0",0)?"0":" ",d=f+goog.string.repeat(b,a)+d);return d}; -goog.string.format.demuxes_.d=function(a,b,c,d,e,f,g,h){return goog.string.format.demuxes_.f(parseInt(a,10),b,c,d,0,f,g,h)};goog.string.format.demuxes_.i=goog.string.format.demuxes_.d;goog.string.format.demuxes_.u=goog.string.format.demuxes_.d;cljs.repl={}; -cljs.repl.print_doc=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,a):a;a=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$ns);var c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$name);cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["-------------------------"],0));cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([function(){var a= -cljs.core.cst$kw$spec.cljs$core$IFn$_invoke$arity$1(b);if(cljs.core.truth_(a))return a;a=cljs.core.cst$kw$ns.cljs$core$IFn$_invoke$arity$1(b);a=cljs.core.truth_(a)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"/"].join(""):null;return[a,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$kw$name.cljs$core$IFn$_invoke$arity$1(b))].join("")}()],0));cljs.core.truth_(cljs.core.cst$kw$protocol.cljs$core$IFn$_invoke$arity$1(b))&&cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["Protocol"], -0));if(cljs.core.truth_(cljs.core.cst$kw$forms.cljs$core$IFn$_invoke$arity$1(b)))for(var d=cljs.core.seq(cljs.core.cst$kw$forms.cljs$core$IFn$_invoke$arity$1(b)),e=null,f=0,g=0;;)if(gd?c:d}()))))}; -clojure.data.diff_set=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.not_empty(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(a,b)),cljs.core.not_empty(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(b,a)),cljs.core.not_empty(clojure.set.intersection.cljs$core$IFn$_invoke$arity$2(a,b))],null)};clojure.data.EqualityPartition=function(){}; -clojure.data.equality_partition=function(a){if(null!=a&&null!=a.clojure$data$EqualityPartition$equality_partition$arity$1)return a.clojure$data$EqualityPartition$equality_partition$arity$1(a);var b=clojure.data.equality_partition[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=clojure.data.equality_partition._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("EqualityPartition.equality-partition", -a);};clojure.data.Diff=function(){}; -clojure.data.diff_similar=function(a,b){if(null!=a&&null!=a.clojure$data$Diff$diff_similar$arity$2)return a.clojure$data$Diff$diff_similar$arity$2(a,b);var c=clojure.data.diff_similar[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=clojure.data.diff_similar._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("Diff.diff-similar",a); -};goog.object.set(clojure.data.EqualityPartition,"null",!0);var G__27276_27300=clojure.data.equality_partition,G__27277_27301="null",G__27278_27302=function(a,b){return function(a){return cljs.core.cst$kw$atom}}(G__27276_27300,G__27277_27301);goog.object.set(G__27276_27300,G__27277_27301,G__27278_27302);goog.object.set(clojure.data.EqualityPartition,"string",!0); -var G__27279_27303=clojure.data.equality_partition,G__27280_27304="string",G__27281_27305=function(a,b){return function(a){return cljs.core.cst$kw$atom}}(G__27279_27303,G__27280_27304);goog.object.set(G__27279_27303,G__27280_27304,G__27281_27305);goog.object.set(clojure.data.EqualityPartition,"number",!0);var G__27282_27306=clojure.data.equality_partition,G__27283_27307="number",G__27284_27308=function(a,b){return function(a){return cljs.core.cst$kw$atom}}(G__27282_27306,G__27283_27307); -goog.object.set(G__27282_27306,G__27283_27307,G__27284_27308);goog.object.set(clojure.data.EqualityPartition,"array",!0);var G__27285_27309=clojure.data.equality_partition,G__27286_27310="array",G__27287_27311=function(a,b){return function(a){return cljs.core.cst$kw$sequential}}(G__27285_27309,G__27286_27310);goog.object.set(G__27285_27309,G__27286_27310,G__27287_27311);goog.object.set(clojure.data.EqualityPartition,"function",!0); -var G__27288_27312=clojure.data.equality_partition,G__27289_27313="function",G__27290_27314=function(a,b){return function(a){return cljs.core.cst$kw$atom}}(G__27288_27312,G__27289_27313);goog.object.set(G__27288_27312,G__27289_27313,G__27290_27314);goog.object.set(clojure.data.EqualityPartition,"boolean",!0);var G__27291_27315=clojure.data.equality_partition,G__27292_27316="boolean",G__27293_27317=function(a,b){return function(a){return cljs.core.cst$kw$atom}}(G__27291_27315,G__27292_27316); -goog.object.set(G__27291_27315,G__27292_27316,G__27293_27317);goog.object.set(clojure.data.EqualityPartition,"_",!0); -var G__27294_27318=clojure.data.equality_partition,G__27295_27319="_",G__27296_27320=function(a,b){return function(a){return(null!=a?a.cljs$lang$protocol_mask$partition0$&1024||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IMap$||(a.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.IMap,a)):cljs.core.native_satisfies_QMARK_(cljs.core.IMap,a))?cljs.core.cst$kw$map:(null!=a?a.cljs$lang$protocol_mask$partition0$&4096||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISet$||(a.cljs$lang$protocol_mask$partition0$? -0:cljs.core.native_satisfies_QMARK_(cljs.core.ISet,a)):cljs.core.native_satisfies_QMARK_(cljs.core.ISet,a))?cljs.core.cst$kw$set:(null!=a?a.cljs$lang$protocol_mask$partition0$&16777216||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISequential$||(a.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,a)):cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,a))?cljs.core.cst$kw$sequential:cljs.core.cst$kw$atom}}(G__27294_27318,G__27295_27319); -goog.object.set(G__27294_27318,G__27295_27319,G__27296_27320);goog.object.set(clojure.data.Diff,"null",!0);var G__27321_27345=clojure.data.diff_similar,G__27322_27346="null",G__27323_27347=function(a,b){return function(a,b){return clojure.data.atom_diff(a,b)}}(G__27321_27345,G__27322_27346);goog.object.set(G__27321_27345,G__27322_27346,G__27323_27347);goog.object.set(clojure.data.Diff,"string",!0); -var G__27324_27348=clojure.data.diff_similar,G__27325_27349="string",G__27326_27350=function(a,b){return function(a,b){return clojure.data.atom_diff(a,b)}}(G__27324_27348,G__27325_27349);goog.object.set(G__27324_27348,G__27325_27349,G__27326_27350);goog.object.set(clojure.data.Diff,"number",!0);var G__27327_27351=clojure.data.diff_similar,G__27328_27352="number",G__27329_27353=function(a,b){return function(a,b){return clojure.data.atom_diff(a,b)}}(G__27327_27351,G__27328_27352); -goog.object.set(G__27327_27351,G__27328_27352,G__27329_27353);goog.object.set(clojure.data.Diff,"array",!0);var G__27330_27354=clojure.data.diff_similar,G__27331_27355="array",G__27332_27356=function(a,b){return function(a,b){return clojure.data.diff_sequential(a,b)}}(G__27330_27354,G__27331_27355);goog.object.set(G__27330_27354,G__27331_27355,G__27332_27356);goog.object.set(clojure.data.Diff,"function",!0); -var G__27333_27357=clojure.data.diff_similar,G__27334_27358="function",G__27335_27359=function(a,b){return function(a,b){return clojure.data.atom_diff(a,b)}}(G__27333_27357,G__27334_27358);goog.object.set(G__27333_27357,G__27334_27358,G__27335_27359);goog.object.set(clojure.data.Diff,"boolean",!0);var G__27336_27360=clojure.data.diff_similar,G__27337_27361="boolean",G__27338_27362=function(a,b){return function(a,b){return clojure.data.atom_diff(a,b)}}(G__27336_27360,G__27337_27361); -goog.object.set(G__27336_27360,G__27337_27361,G__27338_27362);goog.object.set(clojure.data.Diff,"_",!0); -var G__27339_27363=clojure.data.diff_similar,G__27340_27364="_",G__27341_27365=function(a,b){return function(a,b){var c=function(){var b=clojure.data.equality_partition(a);b=b instanceof cljs.core.Keyword?b.fqn:null;switch(b){case "atom":return clojure.data.atom_diff;case "set":return clojure.data.diff_set;case "sequential":return clojure.data.diff_sequential;case "map":return clojure.data.diff_associative;default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")); -}}();return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b)}}(G__27339_27363,G__27340_27364);goog.object.set(G__27339_27363,G__27340_27364,G__27341_27365); -clojure.data.diff=function(a,b){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null,a],null):cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(clojure.data.equality_partition(a),clojure.data.equality_partition(b))?clojure.data.diff_similar(a,b):clojure.data.atom_diff(a,b)};klipse_clj.tools={};klipse_clj.tools.eval=function(a){return cljs.core.cst$kw$value.cljs$core$IFn$_invoke$arity$1(cljs.js.eval.cljs$core$IFn$_invoke$arity$3(cljs.js.empty_state.cljs$core$IFn$_invoke$arity$0(),a,cljs.core.identity))};klipse_clj.lang.clojure.bundled_namespaces={};cljs.pprint={};cljs.pprint.print=function(a){for(var b=[],c=arguments.length,d=0;;)if(dc)return"";if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(a,c),b))--c;else return cljs.core.subs.cljs$core$IFn$_invoke$arity$3(a,0,c+1)}else return a}; -cljs.pprint.ltrim=function(a,b){var c=cljs.core.count(a);if(0e?cljs.pprint.set_field(this,cljs.core.cst$kw$cur,cljs.pprint.get_field(this, -cljs.core.cst$kw$cur)+cljs.core.count(c)):(cljs.pprint.set_field(this,cljs.core.cst$kw$cur,cljs.core.count(c)-e-1),cljs.pprint.set_field(this,cljs.core.cst$kw$line,cljs.pprint.get_field(this,cljs.core.cst$kw$line)+cljs.core.count(cljs.core.filter.cljs$core$IFn$_invoke$arity$2(function(a,b,c,d,e,f){return function(a){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,"\n")}}(c,e,b,d,this,a),c))));return cljs.core._write(cljs.pprint.get_field(this,cljs.core.cst$kw$base),c)}if(cljs.core.truth_(b.cljs$core$IFn$_invoke$arity$2? -b.cljs$core$IFn$_invoke$arity$2(Number,d):b.call(null,Number,d)))return cljs.pprint.c_write_char(this,c);throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""));}}(c),cljs.pprint.t_cljs$pprint29225.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$writer,cljs.core.cst$sym$max_DASH_columns,cljs.core.cst$sym$fields,cljs.core.cst$sym$meta29226],null)}}(c),cljs.pprint.t_cljs$pprint29225.cljs$lang$type= -!0,cljs.pprint.t_cljs$pprint29225.cljs$lang$ctorStr="cljs.pprint/t_cljs$pprint29225",cljs.pprint.t_cljs$pprint29225.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write(b,"cljs.pprint/t_cljs$pprint29225")}}(c),cljs.pprint.__GT_t_cljs$pprint29225=function(a){return function(a,b,c,d){return new cljs.pprint.t_cljs$pprint29225(a,b,c,d)}}(c);return new cljs.pprint.t_cljs$pprint29225(a,b,c,cljs.core.PersistentArrayMap.EMPTY)}; -cljs.pprint.column_writer.cljs$lang$maxFixedArity=2;cljs.pprint.logical_block=function(a,b,c,d,e,f,g,h,k,l,m,n,p){this.parent=a;this.section=b;this.start_col=c;this.indent=d;this.done_nl=e;this.intra_block_nl=f;this.prefix=g;this.per_line_prefix=h;this.suffix=k;this.logical_block_callback=l;this.__meta=m;this.__extmap=n;this.__hash=p;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264}; -cljs.pprint.logical_block.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)}; -cljs.pprint.logical_block.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "parent":return this.parent;case "section":return this.section;case "start-col":return this.start_col;case "indent":return this.indent;case "done-nl":return this.done_nl;case "intra-block-nl":return this.intra_block_nl;case "prefix":return this.prefix;case "per-line-prefix":return this.per_line_prefix;case "suffix":return this.suffix;case "logical-block-callback":return this.logical_block_callback; -default:return cljs.core.get.cljs$core$IFn$_invoke$arity$3(this.__extmap,b,c)}};cljs.pprint.logical_block.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,c){var d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);return b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(a,d,c):b.call(null,a,d,c)}}(this),c,this)}; -cljs.pprint.logical_block.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer(b,a,"#cljs.pprint.logical-block{",", ","}",c,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE, -[cljs.core.cst$kw$parent,this.parent],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$section,this.section],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$start_DASH_col,this.start_col],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$indent,this.indent],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE, -[cljs.core.cst$kw$done_DASH_nl,this.done_nl],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$intra_DASH_block_DASH_nl,this.intra_block_nl],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$prefix,this.prefix],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$per_DASH_line_DASH_prefix,this.per_line_prefix],null),new cljs.core.PersistentVector(null, -2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$suffix,this.suffix],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$logical_DASH_block_DASH_callback,this.logical_block_callback],null)],null),this.__extmap))}; -cljs.pprint.logical_block.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,10,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$parent,cljs.core.cst$kw$section,cljs.core.cst$kw$start_DASH_col,cljs.core.cst$kw$indent,cljs.core.cst$kw$done_DASH_nl,cljs.core.cst$kw$intra_DASH_block_DASH_nl,cljs.core.cst$kw$prefix,cljs.core.cst$kw$per_DASH_line_DASH_prefix,cljs.core.cst$kw$suffix,cljs.core.cst$kw$logical_DASH_block_DASH_callback], -null),cljs.core.truth_(this.__extmap)?cljs.core._iterator(this.__extmap):cljs.core.nil_iter())};cljs.pprint.logical_block.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.logical_block.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,this.__hash)}; -cljs.pprint.logical_block.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 10+cljs.core.count(this.__extmap)};cljs.pprint.logical_block.prototype.cljs$core$IHash$_hash$arity$1=function(a){var b=this,c=this.__hash;return null!=c?c:this.__hash=a=function(){return function(a,b){return function(a){return 1977012399^cljs.core.hash_unordered_coll(a)}}(c,b)(b)}()}; -cljs.pprint.logical_block.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.parent,b.parent)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.section,b.section)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.start_col,b.start_col)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.indent,b.indent)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.done_nl,b.done_nl)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.intra_block_nl, -b.intra_block_nl)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.prefix,b.prefix)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.per_line_prefix,b.per_line_prefix)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.suffix,b.suffix)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.logical_block_callback,b.logical_block_callback)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.__extmap,b.__extmap)}; -cljs.pprint.logical_block.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,10,[cljs.core.cst$kw$suffix,null,cljs.core.cst$kw$indent,null,cljs.core.cst$kw$parent,null,cljs.core.cst$kw$section,null,cljs.core.cst$kw$done_DASH_nl,null,cljs.core.cst$kw$start_DASH_col,null,cljs.core.cst$kw$prefix,null,cljs.core.cst$kw$per_DASH_line_DASH_prefix,null,cljs.core.cst$kw$logical_DASH_block_DASH_callback, -null,cljs.core.cst$kw$intra_DASH_block_DASH_nl,null],null),null),b)?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(this.__extmap, -b)),null)}; -cljs.pprint.logical_block.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){var d=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(function(){var a=cljs.core.cst$kw$parent;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.logical_block(c,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null): -cljs.core.truth_(function(){var a=cljs.core.cst$kw$section;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.logical_block(this.parent,c,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$start_DASH_col;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a, -b):d.call(null,a,b)}())?new cljs.pprint.logical_block(this.parent,this.section,c,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$indent;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,c,this.done_nl,this.intra_block_nl,this.prefix, -this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$done_DASH_nl;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,c,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$intra_DASH_block_DASH_nl; -return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,c,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$prefix;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.logical_block(this.parent,this.section, -this.start_col,this.indent,this.done_nl,this.intra_block_nl,c,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$per_DASH_line_DASH_prefix;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,c,this.suffix,this.logical_block_callback,this.__meta, -this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$suffix;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,c,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$logical_DASH_block_DASH_callback;return d.cljs$core$IFn$_invoke$arity$2? -d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,c,this.__meta,this.__extmap,null):new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this.__extmap, -b,c),null)}; -cljs.pprint.logical_block.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(cljs.core.cst$kw$parent,this.parent,null),new cljs.core.MapEntry(cljs.core.cst$kw$section,this.section,null),new cljs.core.MapEntry(cljs.core.cst$kw$start_DASH_col,this.start_col,null),new cljs.core.MapEntry(cljs.core.cst$kw$indent,this.indent,null), -new cljs.core.MapEntry(cljs.core.cst$kw$done_DASH_nl,this.done_nl,null),new cljs.core.MapEntry(cljs.core.cst$kw$intra_DASH_block_DASH_nl,this.intra_block_nl,null),new cljs.core.MapEntry(cljs.core.cst$kw$prefix,this.prefix,null),new cljs.core.MapEntry(cljs.core.cst$kw$per_DASH_line_DASH_prefix,this.per_line_prefix,null),new cljs.core.MapEntry(cljs.core.cst$kw$suffix,this.suffix,null),new cljs.core.MapEntry(cljs.core.cst$kw$logical_DASH_block_DASH_callback,this.logical_block_callback,null)],null),this.__extmap))}; -cljs.pprint.logical_block.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,b,this.__extmap,this.__hash)}; -cljs.pprint.logical_block.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_(b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,1)):cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this,b)}; -cljs.pprint.logical_block.getBasis=function(){return new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$parent,cljs.core.cst$sym$section,cljs.core.cst$sym$start_DASH_col,cljs.core.cst$sym$indent,cljs.core.cst$sym$done_DASH_nl,cljs.core.cst$sym$intra_DASH_block_DASH_nl,cljs.core.cst$sym$prefix,cljs.core.cst$sym$per_DASH_line_DASH_prefix,cljs.core.cst$sym$suffix,cljs.core.cst$sym$logical_DASH_block_DASH_callback],null)}; -cljs.pprint.logical_block.cljs$lang$type=!0;cljs.pprint.logical_block.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.pprint/logical-block",null,1,null)};cljs.pprint.logical_block.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write(b,"cljs.pprint/logical-block")};cljs.pprint.__GT_logical_block=function(a,b,c,d,e,f,g,h,k,l){return new cljs.pprint.logical_block(a,b,c,d,e,f,g,h,k,l,null,null,null)}; -cljs.pprint.map__GT_logical_block=function(a){var b=cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(a,cljs.core.cst$kw$parent,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$section,cljs.core.cst$kw$start_DASH_col,cljs.core.cst$kw$indent,cljs.core.cst$kw$done_DASH_nl,cljs.core.cst$kw$intra_DASH_block_DASH_nl,cljs.core.cst$kw$prefix,cljs.core.cst$kw$per_DASH_line_DASH_prefix,cljs.core.cst$kw$suffix,cljs.core.cst$kw$logical_DASH_block_DASH_callback],0));b=cljs.core.record_QMARK_(a)? -cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.pprint.logical_block(cljs.core.cst$kw$parent.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$section.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$start_DASH_col.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$indent.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$done_DASH_nl.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$intra_DASH_block_DASH_nl.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$prefix.cljs$core$IFn$_invoke$arity$1(a), -cljs.core.cst$kw$per_DASH_line_DASH_prefix.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$suffix.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$logical_DASH_block_DASH_callback.cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty(b),null)};cljs.pprint.ancestor_QMARK_=function(a,b){for(b=cljs.core.cst$kw$parent.cljs$core$IFn$_invoke$arity$1(b);;){if(null==b)return!1;if(a===b)return!0;b=cljs.core.cst$kw$parent.cljs$core$IFn$_invoke$arity$1(b)}}; -cljs.pprint.buffer_length=function(a){return(a=cljs.core.seq(a))?cljs.core.cst$kw$end_DASH_pos.cljs$core$IFn$_invoke$arity$1(cljs.core.last(a))-cljs.core.cst$kw$start_DASH_pos.cljs$core$IFn$_invoke$arity$1(cljs.core.first(a)):0}; -cljs.pprint.buffer_blob=function(a,b,c,d,e,f,g,h){this.type_tag=a;this.data=b;this.trailing_white_space=c;this.start_pos=d;this.end_pos=e;this.__meta=f;this.__extmap=g;this.__hash=h;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264};cljs.pprint.buffer_blob.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)}; -cljs.pprint.buffer_blob.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "type-tag":return this.type_tag;case "data":return this.data;case "trailing-white-space":return this.trailing_white_space;case "start-pos":return this.start_pos;case "end-pos":return this.end_pos;default:return cljs.core.get.cljs$core$IFn$_invoke$arity$3(this.__extmap,b,c)}}; -cljs.pprint.buffer_blob.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,c){var d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);return b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(a,d,c):b.call(null,a,d,c)}}(this),c,this)}; -cljs.pprint.buffer_blob.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer(b,a,"#cljs.pprint.buffer-blob{",", ","}",c,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$type_DASH_tag, -this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$data,this.data],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$trailing_DASH_white_DASH_space,this.trailing_white_space],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$start_DASH_pos,this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE, -[cljs.core.cst$kw$end_DASH_pos,this.end_pos],null)],null),this.__extmap))}; -cljs.pprint.buffer_blob.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,5,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$type_DASH_tag,cljs.core.cst$kw$data,cljs.core.cst$kw$trailing_DASH_white_DASH_space,cljs.core.cst$kw$start_DASH_pos,cljs.core.cst$kw$end_DASH_pos],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator(this.__extmap):cljs.core.nil_iter())}; -cljs.pprint.buffer_blob.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.buffer_blob.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,this.start_pos,this.end_pos,this.__meta,this.__extmap,this.__hash)};cljs.pprint.buffer_blob.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 5+cljs.core.count(this.__extmap)}; -cljs.pprint.buffer_blob.prototype.cljs$core$IHash$_hash$arity$1=function(a){var b=this,c=this.__hash;return null!=c?c:this.__hash=a=function(){return function(a,b){return function(a){return 1809113693^cljs.core.hash_unordered_coll(a)}}(c,b)(b)}()}; -cljs.pprint.buffer_blob.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.type_tag,b.type_tag)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.data,b.data)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.trailing_white_space,b.trailing_white_space)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.start_pos,b.start_pos)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.end_pos,b.end_pos)&& -cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.__extmap,b.__extmap)}; -cljs.pprint.buffer_blob.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$end_DASH_pos,null,cljs.core.cst$kw$trailing_DASH_white_DASH_space,null,cljs.core.cst$kw$type_DASH_tag,null,cljs.core.cst$kw$start_DASH_pos,null,cljs.core.cst$kw$data,null],null),null),b)?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this), -this.__meta),b):new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,this.start_pos,this.end_pos,this.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(this.__extmap,b)),null)}; -cljs.pprint.buffer_blob.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){var d=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(function(){var a=cljs.core.cst$kw$type_DASH_tag;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.buffer_blob(c,this.data,this.trailing_white_space,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$data;return d.cljs$core$IFn$_invoke$arity$2? -d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.buffer_blob(this.type_tag,c,this.trailing_white_space,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$trailing_DASH_white_DASH_space;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.buffer_blob(this.type_tag,this.data,c,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a= -cljs.core.cst$kw$start_DASH_pos;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,c,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$end_DASH_pos;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,this.start_pos, -c,this.__meta,this.__extmap,null):new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,this.start_pos,this.end_pos,this.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this.__extmap,b,c),null)}; -cljs.pprint.buffer_blob.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(cljs.core.cst$kw$type_DASH_tag,this.type_tag,null),new cljs.core.MapEntry(cljs.core.cst$kw$data,this.data,null),new cljs.core.MapEntry(cljs.core.cst$kw$trailing_DASH_white_DASH_space,this.trailing_white_space,null),new cljs.core.MapEntry(cljs.core.cst$kw$start_DASH_pos, -this.start_pos,null),new cljs.core.MapEntry(cljs.core.cst$kw$end_DASH_pos,this.end_pos,null)],null),this.__extmap))};cljs.pprint.buffer_blob.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,this.start_pos,this.end_pos,b,this.__extmap,this.__hash)}; -cljs.pprint.buffer_blob.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_(b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,1)):cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this,b)}; -cljs.pprint.buffer_blob.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$type_DASH_tag,cljs.core.cst$sym$data,cljs.core.cst$sym$trailing_DASH_white_DASH_space,cljs.core.cst$sym$start_DASH_pos,cljs.core.cst$sym$end_DASH_pos],null)};cljs.pprint.buffer_blob.cljs$lang$type=!0;cljs.pprint.buffer_blob.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.pprint/buffer-blob",null,1,null)}; -cljs.pprint.buffer_blob.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write(b,"cljs.pprint/buffer-blob")};cljs.pprint.__GT_buffer_blob=function(a,b,c,d,e){return new cljs.pprint.buffer_blob(a,b,c,d,e,null,null,null)}; -cljs.pprint.map__GT_buffer_blob=function(a){var b=cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(a,cljs.core.cst$kw$type_DASH_tag,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$data,cljs.core.cst$kw$trailing_DASH_white_DASH_space,cljs.core.cst$kw$start_DASH_pos,cljs.core.cst$kw$end_DASH_pos],0));b=cljs.core.record_QMARK_(a)?cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.pprint.buffer_blob(cljs.core.cst$kw$type_DASH_tag.cljs$core$IFn$_invoke$arity$1(a), -cljs.core.cst$kw$data.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$trailing_DASH_white_DASH_space.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$start_DASH_pos.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$end_DASH_pos.cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty(b),null)};cljs.pprint.make_buffer_blob=function(a,b,c,d){return new cljs.pprint.buffer_blob(cljs.core.cst$kw$buffer_DASH_blob,a,b,c,d,null,null,null)}; -cljs.pprint.buffer_blob_QMARK_=function(a){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$type_DASH_tag.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$buffer_DASH_blob)};cljs.pprint.nl_t=function(a,b,c,d,e,f,g,h){this.type_tag=a;this.type=b;this.logical_block=c;this.start_pos=d;this.end_pos=e;this.__meta=f;this.__extmap=g;this.__hash=h;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264}; -cljs.pprint.nl_t.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)}; -cljs.pprint.nl_t.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "type-tag":return this.type_tag;case "type":return this.type;case "logical-block":return this.logical_block;case "start-pos":return this.start_pos;case "end-pos":return this.end_pos;default:return cljs.core.get.cljs$core$IFn$_invoke$arity$3(this.__extmap,b,c)}}; -cljs.pprint.nl_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,c){var d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);return b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(a,d,c):b.call(null,a,d,c)}}(this),c,this)}; -cljs.pprint.nl_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer(b,a,"#cljs.pprint.nl-t{",", ","}",c,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$type_DASH_tag, -this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$type,this.type],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$logical_DASH_block,this.logical_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$start_DASH_pos,this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$end_DASH_pos, -this.end_pos],null)],null),this.__extmap))};cljs.pprint.nl_t.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,5,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$type_DASH_tag,cljs.core.cst$kw$type,cljs.core.cst$kw$logical_DASH_block,cljs.core.cst$kw$start_DASH_pos,cljs.core.cst$kw$end_DASH_pos],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator(this.__extmap):cljs.core.nil_iter())}; -cljs.pprint.nl_t.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.nl_t.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,this.__hash)};cljs.pprint.nl_t.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 5+cljs.core.count(this.__extmap)}; -cljs.pprint.nl_t.prototype.cljs$core$IHash$_hash$arity$1=function(a){var b=this,c=this.__hash;return null!=c?c:this.__hash=a=function(){return function(a,b){return function(a){return-1640656800^cljs.core.hash_unordered_coll(a)}}(c,b)(b)}()}; -cljs.pprint.nl_t.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.type_tag,b.type_tag)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.type,b.type)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.logical_block,b.logical_block)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.start_pos,b.start_pos)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.end_pos,b.end_pos)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.__extmap, -b.__extmap)}; -cljs.pprint.nl_t.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$end_DASH_pos,null,cljs.core.cst$kw$type,null,cljs.core.cst$kw$logical_DASH_block,null,cljs.core.cst$kw$type_DASH_tag,null,cljs.core.cst$kw$start_DASH_pos,null],null),null),b)?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this), -this.__meta),b):new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,this.start_pos,this.end_pos,this.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(this.__extmap,b)),null)}; -cljs.pprint.nl_t.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){var d=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(function(){var a=cljs.core.cst$kw$type_DASH_tag;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.nl_t(c,this.type,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$type;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a, -b):d.call(null,a,b)}())?new cljs.pprint.nl_t(this.type_tag,c,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$logical_DASH_block;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.nl_t(this.type_tag,this.type,c,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$start_DASH_pos;return d.cljs$core$IFn$_invoke$arity$2? -d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,c,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$end_DASH_pos;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,this.start_pos,c,this.__meta,this.__extmap,null):new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block, -this.start_pos,this.end_pos,this.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this.__extmap,b,c),null)}; -cljs.pprint.nl_t.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(cljs.core.cst$kw$type_DASH_tag,this.type_tag,null),new cljs.core.MapEntry(cljs.core.cst$kw$type,this.type,null),new cljs.core.MapEntry(cljs.core.cst$kw$logical_DASH_block,this.logical_block,null),new cljs.core.MapEntry(cljs.core.cst$kw$start_DASH_pos,this.start_pos, -null),new cljs.core.MapEntry(cljs.core.cst$kw$end_DASH_pos,this.end_pos,null)],null),this.__extmap))};cljs.pprint.nl_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,this.start_pos,this.end_pos,b,this.__extmap,this.__hash)}; -cljs.pprint.nl_t.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_(b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,1)):cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this,b)}; -cljs.pprint.nl_t.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$type_DASH_tag,cljs.core.cst$sym$type,cljs.core.cst$sym$logical_DASH_block,cljs.core.cst$sym$start_DASH_pos,cljs.core.cst$sym$end_DASH_pos],null)};cljs.pprint.nl_t.cljs$lang$type=!0;cljs.pprint.nl_t.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.pprint/nl-t",null,1,null)}; -cljs.pprint.nl_t.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write(b,"cljs.pprint/nl-t")};cljs.pprint.__GT_nl_t=function(a,b,c,d,e){return new cljs.pprint.nl_t(a,b,c,d,e,null,null,null)}; -cljs.pprint.map__GT_nl_t=function(a){var b=cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(a,cljs.core.cst$kw$type_DASH_tag,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$type,cljs.core.cst$kw$logical_DASH_block,cljs.core.cst$kw$start_DASH_pos,cljs.core.cst$kw$end_DASH_pos],0));b=cljs.core.record_QMARK_(a)?cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.pprint.nl_t(cljs.core.cst$kw$type_DASH_tag.cljs$core$IFn$_invoke$arity$1(a), -cljs.core.cst$kw$type.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$logical_DASH_block.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$start_DASH_pos.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$end_DASH_pos.cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty(b),null)};cljs.pprint.make_nl_t=function(a,b,c,d){return new cljs.pprint.nl_t(cljs.core.cst$kw$nl_DASH_t,a,b,c,d,null,null,null)}; -cljs.pprint.nl_t_QMARK_=function(a){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$type_DASH_tag.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$nl_DASH_t)};cljs.pprint.start_block_t=function(a,b,c,d,e,f,g){this.type_tag=a;this.logical_block=b;this.start_pos=c;this.end_pos=d;this.__meta=e;this.__extmap=f;this.__hash=g;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264}; -cljs.pprint.start_block_t.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)}; -cljs.pprint.start_block_t.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "type-tag":return this.type_tag;case "logical-block":return this.logical_block;case "start-pos":return this.start_pos;case "end-pos":return this.end_pos;default:return cljs.core.get.cljs$core$IFn$_invoke$arity$3(this.__extmap,b,c)}}; -cljs.pprint.start_block_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,c){var d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);return b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(a,d,c):b.call(null,a,d,c)}}(this),c,this)}; -cljs.pprint.start_block_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer(b,a,"#cljs.pprint.start-block-t{",", ","}",c,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE, -[cljs.core.cst$kw$type_DASH_tag,this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$logical_DASH_block,this.logical_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$start_DASH_pos,this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$end_DASH_pos,this.end_pos],null)],null),this.__extmap))}; -cljs.pprint.start_block_t.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,4,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$type_DASH_tag,cljs.core.cst$kw$logical_DASH_block,cljs.core.cst$kw$start_DASH_pos,cljs.core.cst$kw$end_DASH_pos],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator(this.__extmap):cljs.core.nil_iter())};cljs.pprint.start_block_t.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta}; -cljs.pprint.start_block_t.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.start_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,this.__hash)};cljs.pprint.start_block_t.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 4+cljs.core.count(this.__extmap)}; -cljs.pprint.start_block_t.prototype.cljs$core$IHash$_hash$arity$1=function(a){var b=this,c=this.__hash;return null!=c?c:this.__hash=a=function(){return function(a,b){return function(a){return-414877272^cljs.core.hash_unordered_coll(a)}}(c,b)(b)}()}; -cljs.pprint.start_block_t.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.type_tag,b.type_tag)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.logical_block,b.logical_block)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.start_pos,b.start_pos)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.end_pos,b.end_pos)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.__extmap,b.__extmap)}; -cljs.pprint.start_block_t.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[cljs.core.cst$kw$end_DASH_pos,null,cljs.core.cst$kw$logical_DASH_block,null,cljs.core.cst$kw$type_DASH_tag,null,cljs.core.cst$kw$start_DASH_pos,null],null),null),b)?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY, -this),this.__meta),b):new cljs.pprint.start_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,this.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(this.__extmap,b)),null)}; -cljs.pprint.start_block_t.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){var d=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(function(){var a=cljs.core.cst$kw$type_DASH_tag;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.start_block_t(c,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$logical_DASH_block;return d.cljs$core$IFn$_invoke$arity$2? -d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.start_block_t(this.type_tag,c,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$start_DASH_pos;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.start_block_t(this.type_tag,this.logical_block,c,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$end_DASH_pos; -return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.start_block_t(this.type_tag,this.logical_block,this.start_pos,c,this.__meta,this.__extmap,null):new cljs.pprint.start_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,this.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this.__extmap,b,c),null)}; -cljs.pprint.start_block_t.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(cljs.core.cst$kw$type_DASH_tag,this.type_tag,null),new cljs.core.MapEntry(cljs.core.cst$kw$logical_DASH_block,this.logical_block,null),new cljs.core.MapEntry(cljs.core.cst$kw$start_DASH_pos,this.start_pos,null),new cljs.core.MapEntry(cljs.core.cst$kw$end_DASH_pos, -this.end_pos,null)],null),this.__extmap))};cljs.pprint.start_block_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.start_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,b,this.__extmap,this.__hash)}; -cljs.pprint.start_block_t.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_(b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,1)):cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this,b)}; -cljs.pprint.start_block_t.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$type_DASH_tag,cljs.core.cst$sym$logical_DASH_block,cljs.core.cst$sym$start_DASH_pos,cljs.core.cst$sym$end_DASH_pos],null)};cljs.pprint.start_block_t.cljs$lang$type=!0;cljs.pprint.start_block_t.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.pprint/start-block-t",null,1,null)}; -cljs.pprint.start_block_t.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write(b,"cljs.pprint/start-block-t")};cljs.pprint.__GT_start_block_t=function(a,b,c,d){return new cljs.pprint.start_block_t(a,b,c,d,null,null,null)}; -cljs.pprint.map__GT_start_block_t=function(a){var b=cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(a,cljs.core.cst$kw$type_DASH_tag,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$logical_DASH_block,cljs.core.cst$kw$start_DASH_pos,cljs.core.cst$kw$end_DASH_pos],0));b=cljs.core.record_QMARK_(a)?cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.pprint.start_block_t(cljs.core.cst$kw$type_DASH_tag.cljs$core$IFn$_invoke$arity$1(a), -cljs.core.cst$kw$logical_DASH_block.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$start_DASH_pos.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$end_DASH_pos.cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty(b),null)};cljs.pprint.make_start_block_t=function(a,b,c){return new cljs.pprint.start_block_t(cljs.core.cst$kw$start_DASH_block_DASH_t,a,b,c,null,null,null)}; -cljs.pprint.start_block_t_QMARK_=function(a){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$type_DASH_tag.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$start_DASH_block_DASH_t)};cljs.pprint.end_block_t=function(a,b,c,d,e,f,g){this.type_tag=a;this.logical_block=b;this.start_pos=c;this.end_pos=d;this.__meta=e;this.__extmap=f;this.__hash=g;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264}; -cljs.pprint.end_block_t.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)}; -cljs.pprint.end_block_t.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "type-tag":return this.type_tag;case "logical-block":return this.logical_block;case "start-pos":return this.start_pos;case "end-pos":return this.end_pos;default:return cljs.core.get.cljs$core$IFn$_invoke$arity$3(this.__extmap,b,c)}}; -cljs.pprint.end_block_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,c){var d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);return b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(a,d,c):b.call(null,a,d,c)}}(this),c,this)}; -cljs.pprint.end_block_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer(b,a,"#cljs.pprint.end-block-t{",", ","}",c,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$type_DASH_tag, -this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$logical_DASH_block,this.logical_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$start_DASH_pos,this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$end_DASH_pos,this.end_pos],null)],null),this.__extmap))}; -cljs.pprint.end_block_t.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,4,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$type_DASH_tag,cljs.core.cst$kw$logical_DASH_block,cljs.core.cst$kw$start_DASH_pos,cljs.core.cst$kw$end_DASH_pos],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator(this.__extmap):cljs.core.nil_iter())};cljs.pprint.end_block_t.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta}; -cljs.pprint.end_block_t.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.end_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,this.__hash)};cljs.pprint.end_block_t.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 4+cljs.core.count(this.__extmap)}; -cljs.pprint.end_block_t.prototype.cljs$core$IHash$_hash$arity$1=function(a){var b=this,c=this.__hash;return null!=c?c:this.__hash=a=function(){return function(a,b){return function(a){return 1365867980^cljs.core.hash_unordered_coll(a)}}(c,b)(b)}()}; -cljs.pprint.end_block_t.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.type_tag,b.type_tag)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.logical_block,b.logical_block)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.start_pos,b.start_pos)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.end_pos,b.end_pos)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.__extmap,b.__extmap)}; -cljs.pprint.end_block_t.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[cljs.core.cst$kw$end_DASH_pos,null,cljs.core.cst$kw$logical_DASH_block,null,cljs.core.cst$kw$type_DASH_tag,null,cljs.core.cst$kw$start_DASH_pos,null],null),null),b)?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY, -this),this.__meta),b):new cljs.pprint.end_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,this.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(this.__extmap,b)),null)}; -cljs.pprint.end_block_t.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){var d=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(function(){var a=cljs.core.cst$kw$type_DASH_tag;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.end_block_t(c,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$logical_DASH_block;return d.cljs$core$IFn$_invoke$arity$2? -d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.end_block_t(this.type_tag,c,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$start_DASH_pos;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.end_block_t(this.type_tag,this.logical_block,c,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$end_DASH_pos;return d.cljs$core$IFn$_invoke$arity$2? -d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.end_block_t(this.type_tag,this.logical_block,this.start_pos,c,this.__meta,this.__extmap,null):new cljs.pprint.end_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,this.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this.__extmap,b,c),null)}; -cljs.pprint.end_block_t.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(cljs.core.cst$kw$type_DASH_tag,this.type_tag,null),new cljs.core.MapEntry(cljs.core.cst$kw$logical_DASH_block,this.logical_block,null),new cljs.core.MapEntry(cljs.core.cst$kw$start_DASH_pos,this.start_pos,null),new cljs.core.MapEntry(cljs.core.cst$kw$end_DASH_pos, -this.end_pos,null)],null),this.__extmap))};cljs.pprint.end_block_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.end_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,b,this.__extmap,this.__hash)}; -cljs.pprint.end_block_t.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_(b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,1)):cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this,b)}; -cljs.pprint.end_block_t.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$type_DASH_tag,cljs.core.cst$sym$logical_DASH_block,cljs.core.cst$sym$start_DASH_pos,cljs.core.cst$sym$end_DASH_pos],null)};cljs.pprint.end_block_t.cljs$lang$type=!0;cljs.pprint.end_block_t.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.pprint/end-block-t",null,1,null)}; -cljs.pprint.end_block_t.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write(b,"cljs.pprint/end-block-t")};cljs.pprint.__GT_end_block_t=function(a,b,c,d){return new cljs.pprint.end_block_t(a,b,c,d,null,null,null)}; -cljs.pprint.map__GT_end_block_t=function(a){var b=cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(a,cljs.core.cst$kw$type_DASH_tag,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$logical_DASH_block,cljs.core.cst$kw$start_DASH_pos,cljs.core.cst$kw$end_DASH_pos],0));b=cljs.core.record_QMARK_(a)?cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.pprint.end_block_t(cljs.core.cst$kw$type_DASH_tag.cljs$core$IFn$_invoke$arity$1(a), -cljs.core.cst$kw$logical_DASH_block.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$start_DASH_pos.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$end_DASH_pos.cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty(b),null)};cljs.pprint.make_end_block_t=function(a,b,c){return new cljs.pprint.end_block_t(cljs.core.cst$kw$end_DASH_block_DASH_t,a,b,c,null,null,null)}; -cljs.pprint.end_block_t_QMARK_=function(a){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$type_DASH_tag.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$end_DASH_block_DASH_t)};cljs.pprint.indent_t=function(a,b,c,d,e,f,g,h,k){this.type_tag=a;this.logical_block=b;this.relative_to=c;this.offset=d;this.start_pos=e;this.end_pos=f;this.__meta=g;this.__extmap=h;this.__hash=k;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264}; -cljs.pprint.indent_t.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)}; -cljs.pprint.indent_t.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "type-tag":return this.type_tag;case "logical-block":return this.logical_block;case "relative-to":return this.relative_to;case "offset":return this.offset;case "start-pos":return this.start_pos;case "end-pos":return this.end_pos;default:return cljs.core.get.cljs$core$IFn$_invoke$arity$3(this.__extmap,b,c)}}; -cljs.pprint.indent_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,c){var d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);return b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(a,d,c):b.call(null,a,d,c)}}(this),c,this)}; -cljs.pprint.indent_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer(b,a,"#cljs.pprint.indent-t{",", ","}",c,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$type_DASH_tag, -this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$logical_DASH_block,this.logical_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$relative_DASH_to,this.relative_to],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$offset,this.offset],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$start_DASH_pos, -this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$end_DASH_pos,this.end_pos],null)],null),this.__extmap))}; -cljs.pprint.indent_t.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,6,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$type_DASH_tag,cljs.core.cst$kw$logical_DASH_block,cljs.core.cst$kw$relative_DASH_to,cljs.core.cst$kw$offset,cljs.core.cst$kw$start_DASH_pos,cljs.core.cst$kw$end_DASH_pos],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator(this.__extmap):cljs.core.nil_iter())}; -cljs.pprint.indent_t.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.indent_t.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,this.start_pos,this.end_pos,this.__meta,this.__extmap,this.__hash)};cljs.pprint.indent_t.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 6+cljs.core.count(this.__extmap)}; -cljs.pprint.indent_t.prototype.cljs$core$IHash$_hash$arity$1=function(a){var b=this,c=this.__hash;return null!=c?c:this.__hash=a=function(){return function(a,b){return function(a){return-1602780238^cljs.core.hash_unordered_coll(a)}}(c,b)(b)}()}; -cljs.pprint.indent_t.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.type_tag,b.type_tag)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.logical_block,b.logical_block)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.relative_to,b.relative_to)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.offset,b.offset)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.start_pos,b.start_pos)&& -cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.end_pos,b.end_pos)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.__extmap,b.__extmap)}; -cljs.pprint.indent_t.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,6,[cljs.core.cst$kw$offset,null,cljs.core.cst$kw$end_DASH_pos,null,cljs.core.cst$kw$relative_DASH_to,null,cljs.core.cst$kw$logical_DASH_block,null,cljs.core.cst$kw$type_DASH_tag,null,cljs.core.cst$kw$start_DASH_pos,null],null),null),b)?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY, -this),this.__meta),b):new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,this.start_pos,this.end_pos,this.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(this.__extmap,b)),null)}; -cljs.pprint.indent_t.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){var d=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(function(){var a=cljs.core.cst$kw$type_DASH_tag;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.indent_t(c,this.logical_block,this.relative_to,this.offset,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$logical_DASH_block;return d.cljs$core$IFn$_invoke$arity$2? -d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.indent_t(this.type_tag,c,this.relative_to,this.offset,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$relative_DASH_to;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.indent_t(this.type_tag,this.logical_block,c,this.offset,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a= -cljs.core.cst$kw$offset;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,c,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$start_DASH_pos;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset, -c,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$end_DASH_pos;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,this.start_pos,c,this.__meta,this.__extmap,null):new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,this.start_pos,this.end_pos,this.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this.__extmap, -b,c),null)}; -cljs.pprint.indent_t.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(cljs.core.cst$kw$type_DASH_tag,this.type_tag,null),new cljs.core.MapEntry(cljs.core.cst$kw$logical_DASH_block,this.logical_block,null),new cljs.core.MapEntry(cljs.core.cst$kw$relative_DASH_to,this.relative_to,null),new cljs.core.MapEntry(cljs.core.cst$kw$offset,this.offset, -null),new cljs.core.MapEntry(cljs.core.cst$kw$start_DASH_pos,this.start_pos,null),new cljs.core.MapEntry(cljs.core.cst$kw$end_DASH_pos,this.end_pos,null)],null),this.__extmap))};cljs.pprint.indent_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,this.start_pos,this.end_pos,b,this.__extmap,this.__hash)}; -cljs.pprint.indent_t.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_(b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,1)):cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this,b)}; -cljs.pprint.indent_t.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$type_DASH_tag,cljs.core.cst$sym$logical_DASH_block,cljs.core.cst$sym$relative_DASH_to,cljs.core.cst$sym$offset,cljs.core.cst$sym$start_DASH_pos,cljs.core.cst$sym$end_DASH_pos],null)};cljs.pprint.indent_t.cljs$lang$type=!0;cljs.pprint.indent_t.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.pprint/indent-t",null,1,null)}; -cljs.pprint.indent_t.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write(b,"cljs.pprint/indent-t")};cljs.pprint.__GT_indent_t=function(a,b,c,d,e,f){return new cljs.pprint.indent_t(a,b,c,d,e,f,null,null,null)}; -cljs.pprint.map__GT_indent_t=function(a){var b=cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(a,cljs.core.cst$kw$type_DASH_tag,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$logical_DASH_block,cljs.core.cst$kw$relative_DASH_to,cljs.core.cst$kw$offset,cljs.core.cst$kw$start_DASH_pos,cljs.core.cst$kw$end_DASH_pos],0));b=cljs.core.record_QMARK_(a)?cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.pprint.indent_t(cljs.core.cst$kw$type_DASH_tag.cljs$core$IFn$_invoke$arity$1(a), -cljs.core.cst$kw$logical_DASH_block.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$relative_DASH_to.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$offset.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$start_DASH_pos.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$end_DASH_pos.cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty(b),null)};cljs.pprint.make_indent_t=function(a,b,c,d,e){return new cljs.pprint.indent_t(cljs.core.cst$kw$indent_DASH_t,a,b,c,d,e,null,null,null)}; -cljs.pprint.indent_t_QMARK_=function(a){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$type_DASH_tag.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$indent_DASH_t)};cljs.pprint.pp_newline=function(){return"\n"}; -if("undefined"===typeof cljs||"undefined"===typeof cljs.pprint||"undefined"===typeof cljs.pprint.write_token)cljs.pprint.write_token=function(){var a=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY, -cljs.core.cst$kw$hierarchy,function(){var a=cljs.core.get_global_hierarchy;return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)}());return new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2("cljs.pprint","write-token"),function(a,b,c,d,e){return function(a,b){return cljs.core.cst$kw$type_DASH_tag.cljs$core$IFn$_invoke$arity$1(b)}}(a,b,c,d,e),cljs.core.cst$kw$default,e,a,b,c,d)}(); -cljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$kw$start_DASH_block_DASH_t,function(a,b){var c=cljs.core.cst$kw$logical_DASH_block_DASH_callback.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a)));if(cljs.core.truth_(c)){var d=cljs.core.cst$kw$start;c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d)}b=cljs.core.cst$kw$logical_DASH_block.cljs$core$IFn$_invoke$arity$1(b);c=cljs.core.cst$kw$prefix.cljs$core$IFn$_invoke$arity$1(b); -cljs.core.truth_(c)&&cljs.core._write(cljs.core.cst$kw$base.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a))),c);a=cljs.pprint.get_column(cljs.core.cst$kw$base.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a))));cljs.core.reset_BANG_(cljs.core.cst$kw$start_DASH_col.cljs$core$IFn$_invoke$arity$1(b),a);return cljs.core.reset_BANG_(cljs.core.cst$kw$indent.cljs$core$IFn$_invoke$arity$1(b),a)}); -cljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$kw$end_DASH_block_DASH_t,function(a,b){var c=cljs.core.cst$kw$logical_DASH_block_DASH_callback.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a)));if(cljs.core.truth_(c)){var d=cljs.core.cst$kw$end;c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d)}b=cljs.core.cst$kw$suffix.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$kw$logical_DASH_block.cljs$core$IFn$_invoke$arity$1(b)); -return cljs.core.truth_(b)?cljs.core._write(cljs.core.cst$kw$base.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a))),b):null}); -cljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$kw$indent_DASH_t,function(a,b){var c=cljs.core.cst$kw$logical_DASH_block.cljs$core$IFn$_invoke$arity$1(b);return cljs.core.reset_BANG_(cljs.core.cst$kw$indent.cljs$core$IFn$_invoke$arity$1(c),cljs.core.cst$kw$offset.cljs$core$IFn$_invoke$arity$1(b)+function(){var d=cljs.core._EQ_,e=cljs.core.cst$kw$relative_DASH_to.cljs$core$IFn$_invoke$arity$1(b);if(cljs.core.truth_(function(){var a=cljs.core.cst$kw$block;return d.cljs$core$IFn$_invoke$arity$2? -d.cljs$core$IFn$_invoke$arity$2(a,e):d.call(null,a,e)}()))return cljs.core.deref(cljs.core.cst$kw$start_DASH_col.cljs$core$IFn$_invoke$arity$1(c));if(cljs.core.truth_(function(){var a=cljs.core.cst$kw$current;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,e):d.call(null,a,e)}()))return cljs.pprint.get_column(cljs.core.cst$kw$base.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a))));throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join("")); -}())});cljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$kw$buffer_DASH_blob,function(a,b){return cljs.core._write(cljs.core.cst$kw$base.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a))),cljs.core.cst$kw$data.cljs$core$IFn$_invoke$arity$1(b))}); -cljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$kw$nl_DASH_t,function(a,b){if(cljs.core.truth_(function(){var a=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$type.cljs$core$IFn$_invoke$arity$1(b),cljs.core.cst$kw$mandatory);return a?a:(a=!cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$type.cljs$core$IFn$_invoke$arity$1(b),cljs.core.cst$kw$fill))?cljs.core.deref(cljs.core.cst$kw$done_DASH_nl.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$kw$logical_DASH_block.cljs$core$IFn$_invoke$arity$1(b))): -a}()))cljs.pprint.emit_nl.cljs$core$IFn$_invoke$arity$2?cljs.pprint.emit_nl.cljs$core$IFn$_invoke$arity$2(a,b):cljs.pprint.emit_nl.call(null,a,b);else{var c=cljs.core.cst$kw$trailing_DASH_white_DASH_space.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a)));cljs.core.truth_(c)&&cljs.core._write(cljs.core.cst$kw$base.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a))),c)}return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(a),cljs.core.assoc,cljs.core.cst$kw$trailing_DASH_white_DASH_space, -null)}); -cljs.pprint.write_tokens=function(a,b,c){b=cljs.core.seq(b);for(var d=null,e=0,f=0;;)if(f=e-d)?cljs.pprint.linear_nl_QMARK_(a,b,c):d:e:d}; -if("undefined"===typeof cljs||"undefined"===typeof cljs.pprint||"undefined"===typeof cljs.pprint.emit_nl_QMARK_)cljs.pprint.emit_nl_QMARK_=function(){var a=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY, -cljs.core.cst$kw$hierarchy,function(){var a=cljs.core.get_global_hierarchy;return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)}());return new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2("cljs.pprint","emit-nl?"),function(a,b,c,d,e){return function(a,b,c,d){return cljs.core.cst$kw$type.cljs$core$IFn$_invoke$arity$1(a)}}(a,b,c,d,e),cljs.core.cst$kw$default,e,a,b,c,d)}(); -cljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$kw$linear,function(a,b,c,d){a=cljs.core.cst$kw$logical_DASH_block.cljs$core$IFn$_invoke$arity$1(a);return cljs.pprint.linear_nl_QMARK_(b,a,c)});cljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$kw$miser,function(a,b,c,d){a=cljs.core.cst$kw$logical_DASH_block.cljs$core$IFn$_invoke$arity$1(a);return cljs.pprint.miser_nl_QMARK_(b,a,c)}); -cljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$kw$fill,function(a,b,c,d){a=cljs.core.cst$kw$logical_DASH_block.cljs$core$IFn$_invoke$arity$1(a);var e=cljs.core.deref(cljs.core.cst$kw$intra_DASH_block_DASH_nl.cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(e)?e:(d=!cljs.pprint.tokens_fit_QMARK_(b,d))?d:cljs.pprint.miser_nl_QMARK_(b,a,c)}); -cljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.cst$kw$mandatory,function(a,b,c,d){return!0}); -cljs.pprint.get_section=function(a){var b=cljs.core.first(a),c=cljs.core.cst$kw$logical_DASH_block.cljs$core$IFn$_invoke$arity$1(b);b=cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(function(a,b){return function(a){return!(cljs.pprint.nl_t_QMARK_(a)&&cljs.pprint.ancestor_QMARK_(cljs.core.cst$kw$logical_DASH_block.cljs$core$IFn$_invoke$arity$1(a),b))}}(b,c),cljs.core.next(a)));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(b)+ -1,a))],null)};cljs.pprint.get_sub_section=function(a){var b=cljs.core.first(a),c=cljs.core.cst$kw$logical_DASH_block.cljs$core$IFn$_invoke$arity$1(b);return cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(function(a,b){return function(a){var c=cljs.core.cst$kw$logical_DASH_block.cljs$core$IFn$_invoke$arity$1(a);return!(cljs.pprint.nl_t_QMARK_(a)&&(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,b)||cljs.pprint.ancestor_QMARK_(c,b)))}}(b,c),cljs.core.next(a)))}; -cljs.pprint.update_nl_state=function(a){cljs.core.reset_BANG_(cljs.core.cst$kw$intra_DASH_block_DASH_nl.cljs$core$IFn$_invoke$arity$1(a),!0);cljs.core.reset_BANG_(cljs.core.cst$kw$done_DASH_nl.cljs$core$IFn$_invoke$arity$1(a),!0);for(a=cljs.core.cst$kw$parent.cljs$core$IFn$_invoke$arity$1(a);;)if(cljs.core.truth_(a))cljs.core.reset_BANG_(cljs.core.cst$kw$done_DASH_nl.cljs$core$IFn$_invoke$arity$1(a),!0),cljs.core.reset_BANG_(cljs.core.cst$kw$intra_DASH_block_DASH_nl.cljs$core$IFn$_invoke$arity$1(a), -!0),a=cljs.core.cst$kw$parent.cljs$core$IFn$_invoke$arity$1(a);else return null}; -cljs.pprint.emit_nl=function(a,b){cljs.core._write(cljs.core.cst$kw$base.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a))),cljs.pprint.pp_newline());cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(a),cljs.core.assoc,cljs.core.cst$kw$trailing_DASH_white_DASH_space,null);b=cljs.core.cst$kw$logical_DASH_block.cljs$core$IFn$_invoke$arity$1(b);var c=cljs.core.cst$kw$per_DASH_line_DASH_prefix.cljs$core$IFn$_invoke$arity$1(b);cljs.core.truth_(c)&&cljs.core._write(cljs.core.cst$kw$base.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a))), -c);c=cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.cst$kw$indent.cljs$core$IFn$_invoke$arity$1(b))-cljs.core.count(c)," "));cljs.core._write(cljs.core.cst$kw$base.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a))),c);return cljs.pprint.update_nl_state(b)}; -cljs.pprint.split_at_newline=function(a){var b=cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(function(a){return!cljs.pprint.nl_t_QMARK_(a)},a));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(b),a))],null)}; -cljs.pprint.write_token_string=function(a,b){b=cljs.pprint.split_at_newline(b);var c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null),d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null);cljs.core.truth_(c)&&cljs.pprint.write_tokens(a,c,!1);if(cljs.core.truth_(d)){b=cljs.pprint.get_section(d);var e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null),f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null),g=cljs.core.first(d);b=function(){var b=cljs.pprint.get_sub_section(d);return cljs.pprint.emit_nl_QMARK_.cljs$core$IFn$_invoke$arity$4? -cljs.pprint.emit_nl_QMARK_.cljs$core$IFn$_invoke$arity$4(g,a,e,b):cljs.pprint.emit_nl_QMARK_.call(null,g,a,e,b)}();cljs.core.truth_(b)?(cljs.pprint.emit_nl(a,g),b=cljs.core.next(d)):b=d;return cljs.pprint.tokens_fit_QMARK_(a,b)?b:function(){var b=cljs.pprint.write_token_string.cljs$core$IFn$_invoke$arity$2?cljs.pprint.write_token_string.cljs$core$IFn$_invoke$arity$2(a,e):cljs.pprint.write_token_string.call(null,a,e);return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,e)?(cljs.pprint.write_tokens(a, -e,!1),f):cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(b,f))}()}return null}; -cljs.pprint.write_line=function(a){for(var b=cljs.core.cst$kw$buffer.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a)));;){cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(a),cljs.core.assoc,cljs.core.cst$kw$buffer,cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,b));if(cljs.pprint.tokens_fit_QMARK_(a,b))return null;var c=cljs.pprint.write_token_string(a,b);if(b!==c)b=c;else return null}}; -cljs.pprint.add_to_buffer=function(a,b){cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(a),cljs.core.assoc,cljs.core.cst$kw$buffer,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$buffer.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a))),b));return cljs.pprint.tokens_fit_QMARK_(a,cljs.core.cst$kw$buffer.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a))))?null:cljs.pprint.write_line(a)}; -cljs.pprint.write_buffered_output=function(a){cljs.pprint.write_line(a);var b=cljs.core.cst$kw$buffer.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a)));return cljs.core.truth_(b)?(cljs.pprint.write_tokens(a,b,!0),cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(a),cljs.core.assoc,cljs.core.cst$kw$buffer,cljs.core.PersistentVector.EMPTY)):null}; -cljs.pprint.write_white_space=function(a){var b=cljs.core.cst$kw$trailing_DASH_white_DASH_space.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a)));return cljs.core.truth_(b)?(cljs.core._write(cljs.core.cst$kw$base.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a))),b),cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(a),cljs.core.assoc,cljs.core.cst$kw$trailing_DASH_white_DASH_space,null)):null}; -cljs.pprint.write_initial_lines=function(a,b){var c=clojure.string.split.cljs$core$IFn$_invoke$arity$3(b,"\n",-1);if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(c),1))return b;b=cljs.core.cst$kw$per_DASH_line_DASH_prefix.cljs$core$IFn$_invoke$arity$1(cljs.core.first(cljs.core.cst$kw$logical_DASH_blocks.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a)))));var d=cljs.core.first(c);if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$buffering,cljs.core.cst$kw$mode.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a))))){var e= -cljs.core.cst$kw$pos.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a))),f=e+cljs.core.count(d);cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(a),cljs.core.assoc,cljs.core.cst$kw$pos,f);cljs.pprint.add_to_buffer(a,cljs.pprint.make_buffer_blob(d,null,e,f));cljs.pprint.write_buffered_output(a)}else cljs.pprint.write_white_space(a),cljs.core._write(cljs.core.cst$kw$base.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a))),d);cljs.core._write(cljs.core.cst$kw$base.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(a))), -"\n");d=cljs.core.seq(cljs.core.next(cljs.core.butlast(c)));e=null;for(var g=f=0;;)if(g=cljs.core._STAR_print_length_STAR_:b);cljs.pprint._STAR_print_pretty_STAR_?cljs.core.truth_(b)?cljs.core._write(cljs.core._STAR_out_STAR_,"..."):(cljs.core.truth_(cljs.pprint._STAR_current_length_STAR_)&&(cljs.pprint._STAR_current_length_STAR_+=1),cljs.pprint._STAR_print_pprint_dispatch_STAR_.cljs$core$IFn$_invoke$arity$1? -cljs.pprint._STAR_print_pprint_dispatch_STAR_.cljs$core$IFn$_invoke$arity$1(a):cljs.pprint._STAR_print_pprint_dispatch_STAR_.call(null,a)):cljs.pprint.pr.cljs$core$IFn$_invoke$arity$1?cljs.pprint.pr.cljs$core$IFn$_invoke$arity$1(a):cljs.pprint.pr.call(null,a);return b}; -cljs.pprint.write=function(a){for(var b=[],c=arguments.length,d=0;;)if(d=cljs.core._STAR_print_level_STAR_:a}; -cljs.pprint.pprint_newline=function(a){cljs.pprint.check_enumerated_arg(a,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[cljs.core.cst$kw$mandatory,null,cljs.core.cst$kw$miser,null,cljs.core.cst$kw$fill,null,cljs.core.cst$kw$linear,null],null),null));return cljs.pprint.nl(cljs.core._STAR_out_STAR_,a)}; -cljs.pprint.pprint_indent=function(a,b){cljs.pprint.check_enumerated_arg(a,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$kw$block,null,cljs.core.cst$kw$current,null],null),null));return cljs.pprint.indent(cljs.core._STAR_out_STAR_,a,b)}; -cljs.pprint.pprint_tab=function(a,b,c){cljs.pprint.check_enumerated_arg(a,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[cljs.core.cst$kw$section,null,cljs.core.cst$kw$line,null,cljs.core.cst$kw$line_DASH_relative,null,cljs.core.cst$kw$section_DASH_relative,null],null),null));throw Error("pprint-tab is not yet implemented");}; -cljs.pprint.cl_format=function(a){for(var b=[],c=arguments.length,d=0;;)if(d=cljs.core.cst$kw$pos.cljs$core$IFn$_invoke$arity$1(a)?(b=cljs.core.cst$kw$pos.cljs$core$IFn$_invoke$arity$1(a)-b,cljs.pprint.relative_reposition.cljs$core$IFn$_invoke$arity$2?cljs.pprint.relative_reposition.cljs$core$IFn$_invoke$arity$2(a,b):cljs.pprint.relative_reposition.call(null,a,b)):new cljs.pprint.arg_navigator(cljs.core.cst$kw$seq.cljs$core$IFn$_invoke$arity$1(a),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$seq.cljs$core$IFn$_invoke$arity$1(a)), -b,null,null,null)};cljs.pprint.relative_reposition=function(a,b){var c=cljs.core.cst$kw$pos.cljs$core$IFn$_invoke$arity$1(a)+b;return 0>b?cljs.pprint.absolute_reposition(a,c):new cljs.pprint.arg_navigator(cljs.core.cst$kw$seq.cljs$core$IFn$_invoke$arity$1(a),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cst$kw$rest.cljs$core$IFn$_invoke$arity$1(a)),c,null,null,null)}; -cljs.pprint.compiled_directive=function(a,b,c,d,e,f,g){this.func=a;this.def=b;this.params=c;this.offset=d;this.__meta=e;this.__extmap=f;this.__hash=g;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264};cljs.pprint.compiled_directive.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)}; -cljs.pprint.compiled_directive.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "func":return this.func;case "def":return this.def;case "params":return this.params;case "offset":return this.offset;default:return cljs.core.get.cljs$core$IFn$_invoke$arity$3(this.__extmap,b,c)}}; -cljs.pprint.compiled_directive.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,c){var d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);return b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(a,d,c):b.call(null,a,d,c)}}(this),c,this)}; -cljs.pprint.compiled_directive.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer(b,a,"#cljs.pprint.compiled-directive{",", ","}",c,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE, -[cljs.core.cst$kw$func,this.func],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$def,this.def],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$params,this.params],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$offset,this.offset],null)],null),this.__extmap))}; -cljs.pprint.compiled_directive.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,4,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$func,cljs.core.cst$kw$def,cljs.core.cst$kw$params,cljs.core.cst$kw$offset],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator(this.__extmap):cljs.core.nil_iter())};cljs.pprint.compiled_directive.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta}; -cljs.pprint.compiled_directive.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.compiled_directive(this.func,this.def,this.params,this.offset,this.__meta,this.__extmap,this.__hash)};cljs.pprint.compiled_directive.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 4+cljs.core.count(this.__extmap)}; -cljs.pprint.compiled_directive.prototype.cljs$core$IHash$_hash$arity$1=function(a){var b=this,c=this.__hash;return null!=c?c:this.__hash=a=function(){return function(a,b){return function(a){return-829256337^cljs.core.hash_unordered_coll(a)}}(c,b)(b)}()}; -cljs.pprint.compiled_directive.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.func,b.func)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.def,b.def)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.params,b.params)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.offset,b.offset)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.__extmap,b.__extmap)}; -cljs.pprint.compiled_directive.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[cljs.core.cst$kw$offset,null,cljs.core.cst$kw$func,null,cljs.core.cst$kw$params,null,cljs.core.cst$kw$def,null],null),null),b)?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.pprint.compiled_directive(this.func, -this.def,this.params,this.offset,this.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(this.__extmap,b)),null)}; -cljs.pprint.compiled_directive.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){var d=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(function(){var a=cljs.core.cst$kw$func;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.compiled_directive(c,this.def,this.params,this.offset,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$def;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a, -b):d.call(null,a,b)}())?new cljs.pprint.compiled_directive(this.func,c,this.params,this.offset,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$params;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)}())?new cljs.pprint.compiled_directive(this.func,this.def,c,this.offset,this.__meta,this.__extmap,null):cljs.core.truth_(function(){var a=cljs.core.cst$kw$offset;return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a, -b):d.call(null,a,b)}())?new cljs.pprint.compiled_directive(this.func,this.def,this.params,c,this.__meta,this.__extmap,null):new cljs.pprint.compiled_directive(this.func,this.def,this.params,this.offset,this.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this.__extmap,b,c),null)}; -cljs.pprint.compiled_directive.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(cljs.core.cst$kw$func,this.func,null),new cljs.core.MapEntry(cljs.core.cst$kw$def,this.def,null),new cljs.core.MapEntry(cljs.core.cst$kw$params,this.params,null),new cljs.core.MapEntry(cljs.core.cst$kw$offset,this.offset,null)],null),this.__extmap))}; -cljs.pprint.compiled_directive.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.compiled_directive(this.func,this.def,this.params,this.offset,b,this.__extmap,this.__hash)}; -cljs.pprint.compiled_directive.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_(b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,1)):cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this,b)}; -cljs.pprint.compiled_directive.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$sym$func,cljs.core.cst$sym$def,cljs.core.cst$sym$params,cljs.core.cst$sym$offset],null)};cljs.pprint.compiled_directive.cljs$lang$type=!0;cljs.pprint.compiled_directive.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.pprint/compiled-directive",null,1,null)}; -cljs.pprint.compiled_directive.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write(b,"cljs.pprint/compiled-directive")};cljs.pprint.__GT_compiled_directive=function(a,b,c,d){return new cljs.pprint.compiled_directive(a,b,c,d,null,null,null)}; -cljs.pprint.map__GT_compiled_directive=function(a){var b=cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(a,cljs.core.cst$kw$func,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$def,cljs.core.cst$kw$params,cljs.core.cst$kw$offset],0));b=cljs.core.record_QMARK_(a)?cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.pprint.compiled_directive(cljs.core.cst$kw$func.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$def.cljs$core$IFn$_invoke$arity$1(a), -cljs.core.cst$kw$params.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$offset.cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty(b),null)}; -cljs.pprint.realize_parameter=function(a,b){var c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,1,null);var d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,1,null);d=cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$kw$colon,null,cljs.core.cst$kw$at,null],null),null),c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE, -[d,b],null):cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(d,cljs.core.cst$kw$parameter_DASH_from_DASH_args)?cljs.pprint.next_arg(b):cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(d,cljs.core.cst$kw$remaining_DASH_arg_DASH_count)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.count(cljs.core.cst$kw$rest.cljs$core$IFn$_invoke$arity$1(b)),b],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,b],null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d, -0,null);d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)],null),d],null)}; -cljs.pprint.realize_parameter_list=function(a,b){b=cljs.pprint.map_passing_context(cljs.pprint.realize_parameter,b,a);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,a),b],null)}; -cljs.pprint.special_radix_markers=new cljs.core.PersistentArrayMap(null,3,[2,"#b",8,"#o",16,"#x"],null); -cljs.pprint.format_simple_number=function(a){return cljs.core.integer_QMARK_(a)?cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.pprint._STAR_print_base_STAR_,10)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.truth_(cljs.pprint._STAR_print_radix_STAR_)?".":null].join(""):[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(cljs.pprint._STAR_print_radix_STAR_)?function(){var a=cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.special_radix_markers,cljs.pprint._STAR_print_base_STAR_); -return cljs.core.truth_(a)?a:["#",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_print_base_STAR_),"r"].join("")}():null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint.opt_base_str(cljs.pprint._STAR_print_base_STAR_,a))].join(""):null}; -cljs.pprint.format_ascii=function(a,b,c,d){c=cljs.pprint.next_arg(c);d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);var e=cljs.pprint.format_simple_number(d);a=cljs.core.truth_(e)?e:a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);d=a.length;e=d+cljs.core.cst$kw$minpad.cljs$core$IFn$_invoke$arity$1(b);e=e>=cljs.core.cst$kw$mincol.cljs$core$IFn$_invoke$arity$1(b)?e:e+(cljs.core.quot(cljs.core.cst$kw$mincol.cljs$core$IFn$_invoke$arity$1(b)- -e-1,cljs.core.cst$kw$colinc.cljs$core$IFn$_invoke$arity$1(b))+1)*cljs.core.cst$kw$colinc.cljs$core$IFn$_invoke$arity$1(b);d=cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(e-d,cljs.core.cst$kw$padchar.cljs$core$IFn$_invoke$arity$1(b)));cljs.core.truth_(cljs.core.cst$kw$at.cljs$core$IFn$_invoke$arity$1(b))?cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d), -cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")],0)):cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join("")],0));return c};cljs.pprint.integral_QMARK_=function(a){return cljs.core.integer_QMARK_(a)?!0:cljs.pprint.float_QMARK_(a)?cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,Math.floor(a)):!1}; -cljs.pprint.remainders=function(a,b){return cljs.core.reverse(cljs.core.first(cljs.pprint.consume(function(b){return 0a?cljs.core.char$(cljs.pprint.char_code("0")+a):cljs.core.char$(cljs.pprint.char_code("a")+(a-10))}}(b),cljs.pprint.remainders(a,b)))};cljs.pprint.javascript_base_formats=new cljs.core.PersistentArrayMap(null,3,[8,"%o",10,"%d",16,"%x"],null); -cljs.pprint.opt_base_str=function(a,b){return cljs.pprint.base_str(a,b)};cljs.pprint.group_by_STAR_=function(a,b){return cljs.core.reverse(cljs.core.first(cljs.pprint.consume(function(b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.seq(cljs.core.reverse(cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,b))),cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(a,b))],null)},cljs.core.reverse(b))))}; -cljs.pprint.format_integer=function(a,b,c,d){var e=cljs.pprint.next_arg(c),f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,0,null),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null);if(cljs.pprint.integral_QMARK_(f)){var h=0>f,k=h?-f:f,l=cljs.pprint.opt_base_str(a,k);a=cljs.core.truth_(cljs.core.cst$kw$colon.cljs$core$IFn$_invoke$arity$1(b))?function(){var a=cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a,b,c,d,e,f){return function(a){return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str, -a)}}(h,k,l,e,f,g),cljs.pprint.group_by_STAR_(cljs.core.cst$kw$commainterval.cljs$core$IFn$_invoke$arity$1(b),l)),c=cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(cljs.core.count(a),cljs.core.cst$kw$commachar.cljs$core$IFn$_invoke$arity$1(b));return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.next(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(c,a)))}():l;a=h?["-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""):cljs.core.truth_(cljs.core.cst$kw$at.cljs$core$IFn$_invoke$arity$1(b))? -["+",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""):a;a=a.lengthc?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,c):function(){var a=cljs.core.quot(c,10),b=cljs.core.rem(c,10);return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(0< -a?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_tens,a):null),0a?-a:a),cljs.core.count(c)<=cljs.core.count(cljs.pprint.english_scale_numbers)?(c=cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.format_simple_cardinal, -c),c=cljs.pprint.add_english_scales(c,0),cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[0>a?"minus ":null,c].join("")],0))):cljs.pprint.format_integer(10,new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$mincol,0,cljs.core.cst$kw$padchar," ",cljs.core.cst$kw$commachar,",",cljs.core.cst$kw$commainterval,3,cljs.core.cst$kw$colon,!0],null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE, -[a],null)),new cljs.core.PersistentArrayMap(null,4,[cljs.core.cst$kw$mincol,0,cljs.core.cst$kw$padchar,0,cljs.core.cst$kw$commachar,0,cljs.core.cst$kw$commainterval,0],null)));return b}; -cljs.pprint.format_simple_ordinal=function(a){var b=cljs.core.quot(a,100),c=cljs.core.rem(a,100);return[0c?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_ordinal_units,c):function(){var a=cljs.core.quot(c,10),b=cljs.core.rem(c,10);return 0b?-b:b),cljs.core.count(c)<=cljs.core.count(cljs.pprint.english_scale_numbers)){var d=cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.format_simple_cardinal, -cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1(c));d=cljs.pprint.add_english_scales(d,1);c=cljs.pprint.format_simple_ordinal(cljs.core.last(c));cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[0>b?"minus ":null,cljs.core.empty_QMARK_(d)||cljs.core.empty_QMARK_(c)?cljs.core.empty_QMARK_(d)?c:[d,"th"].join(""):[d,", ",c].join("")].join("")],0))}else cljs.pprint.format_integer(10,new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$mincol, -0,cljs.core.cst$kw$padchar," ",cljs.core.cst$kw$commachar,",",cljs.core.cst$kw$commainterval,3,cljs.core.cst$kw$colon,!0],null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[b],null)),new cljs.core.PersistentArrayMap(null,4,[cljs.core.cst$kw$mincol,0,cljs.core.cst$kw$padchar,0,cljs.core.cst$kw$commachar,0,cljs.core.cst$kw$commainterval,0],null)),c=cljs.core.rem(b,100),b=11c,c=cljs.core.rem(c,10),cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([1=== -c&&b?"st":2===c&&b?"nd":3===c&&b?"rd":"th"],0));return a}; -cljs.pprint.old_roman_table=new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"I II III IIII V VI VII VIII VIIII".split(" "),null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"X XX XXX XXXX L LX LXX LXXX LXXXX".split(" "),null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"C CC CCC CCCC D DC DCC DCCC DCCCC".split(" "),null),new cljs.core.PersistentVector(null, -3,5,cljs.core.PersistentVector.EMPTY_NODE,["M","MM","MMM"],null)],null); -cljs.pprint.new_roman_table=new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"I II III IV V VI VII VIII IX".split(" "),null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"X XX XXX XL L LX LXX LXXX XC".split(" "),null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"C CC CCC CD D DC DCC DCCC CM".split(" "),null),new cljs.core.PersistentVector(null, -3,5,cljs.core.PersistentVector.EMPTY_NODE,["M","MM","MMM"],null)],null); -cljs.pprint.format_roman=function(a,b,c,d){b=cljs.pprint.next_arg(c);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null);if("number"===typeof c&&0c){var e=cljs.pprint.remainders(10,c);c=cljs.core.PersistentVector.EMPTY;for(d=cljs.core.count(e)-1;;)if(cljs.core.empty_QMARK_(e)){cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,c)], -0));break}else{var f=cljs.core.first(e);c=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(0,f)?c:cljs.core.conj.cljs$core$IFn$_invoke$arity$2(c,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(a,d),f-1));--d;e=cljs.core.next(e)}}else cljs.pprint.format_integer(10,new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$mincol,0,cljs.core.cst$kw$padchar," ",cljs.core.cst$kw$commachar,",",cljs.core.cst$kw$commainterval,3,cljs.core.cst$kw$colon,!0],null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, -1,5,cljs.core.PersistentVector.EMPTY_NODE,[c],null)),new cljs.core.PersistentArrayMap(null,4,[cljs.core.cst$kw$mincol,0,cljs.core.cst$kw$padchar,0,cljs.core.cst$kw$commachar,0,cljs.core.cst$kw$commainterval,0],null));return b};cljs.pprint.format_old_roman=function(a,b,c){return cljs.pprint.format_roman(cljs.pprint.old_roman_table,a,b,c)};cljs.pprint.format_new_roman=function(a,b,c){return cljs.pprint.format_roman(cljs.pprint.new_roman_table,a,b,c)}; -cljs.pprint.special_chars=new cljs.core.PersistentArrayMap(null,5,[8,"Backspace",9,"Tab",10,"Newline",13,"Return",32,"Space"],null); -cljs.pprint.pretty_character=function(a,b,c){a=cljs.pprint.next_arg(b);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,1,null);c=cljs.pprint.char_code(b);b=c&127;c&=128;var d=cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.special_chars,b);0b?["Control-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.char$(b+64))].join(""):cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,127)?"Control-?":cljs.core.char$(b)],0));return a}; -cljs.pprint.readable_character=function(a,b,c){c=cljs.pprint.next_arg(b);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);var d=cljs.core._EQ_;a=cljs.core.cst$kw$char_DASH_format.cljs$core$IFn$_invoke$arity$1(a);if(cljs.core.truth_(d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2("o",a):d.call(null,"o",a)))cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(!0,"\\o~3, '0o",cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.pprint.char_code(b)], -0));else if(cljs.core.truth_(d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2("u",a):d.call(null,"u",a)))cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(!0,"\\u~4, '0x",cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.pprint.char_code(b)],0));else if(cljs.core.truth_(d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(null,a):d.call(null,null,a)))cljs.pprint.print_char(b);else throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")); -return c};cljs.pprint.plain_character=function(a,b,c){b=cljs.pprint.next_arg(b);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null);cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a],0));return b}; -cljs.pprint.abort_QMARK_=function(a){a=cljs.core.first(a);return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$up_DASH_arrow,a)||cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$colon_DASH_up_DASH_arrow,a)}; -cljs.pprint.execute_sub_format=function(a,b,c){return cljs.core.second(cljs.pprint.map_passing_context(function(a,b){if(cljs.pprint.abort_QMARK_(b))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,b],null);b=cljs.pprint.realize_parameter_list(cljs.core.cst$kw$params.cljs$core$IFn$_invoke$arity$1(a),b);var d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null);var e=cljs.pprint.unzip_map(d);d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e, -0,null);e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null);d=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(d,cljs.core.cst$kw$base_DASH_args,c);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$func.cljs$core$IFn$_invoke$arity$1(a),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[d,b,e],null))],null)},b,a))}; -cljs.pprint.float_parts_base=function(a){a=clojure.string.lower_case(cljs.core.str.cljs$core$IFn$_invoke$arity$1(a));var b=a.indexOf("e"),c=a.indexOf(".");return 0>b?0>c?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(a)-1)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(a,0,c)), -cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(a,c+1))].join(""),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c-1)],null):0>c?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(a,0,b),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(a,b+1)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(a, -0,1)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(a,2,b))].join(""),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(a,b+1)],null)}; -cljs.pprint.float_parts=function(a){a=cljs.pprint.float_parts_base(a);var b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,1,null);var c=cljs.pprint.rtrim(b,"0");b=cljs.pprint.ltrim(c,"0");c=cljs.core.count(c)-cljs.core.count(b);a=0c)return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,"1",cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(b+1,"0"));if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2("9",a.charAt(c)))--c;else return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.str,cljs.core.subs.cljs$core$IFn$_invoke$arity$3(a,0,c),cljs.core.char$(cljs.pprint.char_code(a.charAt(c))+1),cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(b- -c,"0"))}}; -cljs.pprint.round_str=function(a,b,c,d){if(cljs.core.truth_(cljs.core.truth_(c)?c:d)){var e=cljs.core.count(a);d=cljs.core.truth_(d)?2>d?2:d:0;cljs.core.truth_(c)?c=b+c+1:0<=b?(c=b+1,--d,c=c>d?c:d):c=d+b;var f=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,0)?new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[["0",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),b+1,1,e+1],null):new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b, -c,e],null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null);e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,1,null);d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,2,null);f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,3,null);if(cljs.core.truth_(d)){if(0>d)return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["0",0,!1],null);if(f>d)return a=cljs.core.nth.cljs$core$IFn$_invoke$arity$2(c,d),b=cljs.core.subs.cljs$core$IFn$_invoke$arity$3(c,0,d),cljs.pprint.char_code(a)>= -cljs.pprint.char_code("5")?(a=cljs.pprint.inc_s(b),b=cljs.core.count(a)>cljs.core.count(b),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b?cljs.core.subs.cljs$core$IFn$_invoke$arity$3(a,0,cljs.core.count(a)-1):a,e,b],null)):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,e,!1],null)}}return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,!1],null)}; -cljs.pprint.expand_fixed=function(a,b,c){b=0>b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(-b-1,"0"))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),-1],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null); -var d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null);b=cljs.core.count(a);c=cljs.core.truth_(c)?d+c+1:d+1;return bb)return[".",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("");b+=1;return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(a,0,b)),".",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(a,b))].join("")};cljs.pprint.get_fixed=function(a,b,c){return cljs.pprint.insert_decimal(cljs.pprint.expand_fixed(a,b,c),b)}; -cljs.pprint.insert_scaled_decimal=function(a,b){return 0>b?[".",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""):[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(a,0,b)),".",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(a,b))].join("")};cljs.pprint.convert_ratio=function(a){return a}; -cljs.pprint.fixed_float=function(a,b,c){var d=cljs.core.cst$kw$w.cljs$core$IFn$_invoke$arity$1(a),e=cljs.core.cst$kw$d.cljs$core$IFn$_invoke$arity$1(a);b=cljs.pprint.next_arg(b);var f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null);var g=0>f?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["-",-f],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["+",f],null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(g, -0,null);g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(g,1,null);g=cljs.pprint.convert_ratio(g);g=cljs.pprint.float_parts(g);var h=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(g,0,null),k=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(g,1,null)+cljs.core.cst$kw$k.cljs$core$IFn$_invoke$arity$1(a);g=function(){var b=cljs.core.cst$kw$at.cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?b:0>f}();var l=cljs.core.not(e)&&cljs.core.count(h)-1<=k,m=cljs.pprint.round_str(h,k,e,cljs.core.truth_(d)?d-(cljs.core.truth_(g)? -1:0):null);h=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(m,0,null);k=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(m,1,null);m=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(m,2,null);h=cljs.pprint.get_fixed(h,cljs.core.truth_(m)?k+1:k,e);e=cljs.core.truth_(cljs.core.truth_(d)?cljs.core.truth_(e)?1<=e&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(h.charAt(0),"0")&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(h.charAt(1),".")&&cljs.core.count(h)>d-(cljs.core.truth_(g)?1:0):e:d)?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(h, -1):h;k=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(e),".");if(cljs.core.truth_(d)){h=cljs.core.count(e);h=cljs.core.truth_(g)?h+1:h;k=k&&!(h>=d);l=l&&!(h>=d);var n=k||l?h+1:h;cljs.core.truth_(function(){var b=n>d;return b?cljs.core.cst$kw$overflowchar.cljs$core$IFn$_invoke$arity$1(a):b}())?cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(d, -cljs.core.cst$kw$overflowchar.cljs$core$IFn$_invoke$arity$1(a)))],0)):cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(d-n,cljs.core.cst$kw$padchar.cljs$core$IFn$_invoke$arity$1(a)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(g)?c:null),k?"0":null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e), -l?"0":null].join("")],0))}else cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(g)?c:null),k?"0":null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),l?"0":null].join("")],0));return b}; -cljs.pprint.exponential_float=function(a,b,c){b=cljs.pprint.next_arg(b);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null);var d=cljs.pprint.convert_ratio(c);c=cljs.pprint.float_parts(0>d?-d:d);cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);for(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);;){var e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null),f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null),g=cljs.core.cst$kw$w.cljs$core$IFn$_invoke$arity$1(a), -h=cljs.core.cst$kw$d.cljs$core$IFn$_invoke$arity$1(a),k=cljs.core.cst$kw$e.cljs$core$IFn$_invoke$arity$1(a),l=cljs.core.cst$kw$k.cljs$core$IFn$_invoke$arity$1(a),m=function(){var b=cljs.core.cst$kw$exponentchar.cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?b:"E"}();c=function(){var b=cljs.core.cst$kw$at.cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?b:0>d}();var n=0>=l,p=f-(l-1),q=cljs.core.str.cljs$core$IFn$_invoke$arity$1(Math.abs(p));m=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(m), -0>p?"-":"+",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(k)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(k-cljs.core.count(q),"0")):null),q].join("");var r=cljs.core.count(m);p=cljs.core.count(e);e=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(-l,"0"))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(h)? -cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(h-(p-1)-(0>l?-l:0),"0")):null)].join("");p=cljs.core.truth_(g)?g-r:null;e=cljs.pprint.round_str(e,0,cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(l,0)?h-1:0l?h-1:null,cljs.core.truth_(p)?p-(cljs.core.truth_(c)?1:0):null);p=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,0,null);cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null);q=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,2,null);e= -cljs.pprint.insert_scaled_decimal(p,l);h=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(l,cljs.core.count(p))&&null==h;if(cljs.core.not(q)){if(cljs.core.truth_(g)){f=cljs.core.count(e)+r;f=cljs.core.truth_(c)?f+1:f;var u=(n=n&&!cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(f,g))?f+1:f;f=h&&ug;b||(b=k,b=cljs.core.truth_(b)?r-2>k:b);return cljs.core.truth_(b)?cljs.core.cst$kw$overflowchar.cljs$core$IFn$_invoke$arity$1(a):b}())?cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str, -cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(g,cljs.core.cst$kw$overflowchar.cljs$core$IFn$_invoke$arity$1(a)))],0)):cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(g-u-(f?1:0),cljs.core.cst$kw$padchar.cljs$core$IFn$_invoke$arity$1(a)))),cljs.core.truth_(c)?0>d?"-":"+":null,n?"0":null,e,f? -"0":null,m].join("")],0))}else cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.truth_(c)?0>d?"-":"+":null,n?"0":null,e,h?"0":null,m].join("")],0));break}else c=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[p,f+1],null)}return b}; -cljs.pprint.general_float=function(a,b,c){var d=cljs.pprint.next_arg(b),e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,0,null);cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,1,null);d=cljs.pprint.convert_ratio(e);e=cljs.pprint.float_parts(0>d?-d:d);var f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,0,null);e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null);var g=cljs.core.cst$kw$w.cljs$core$IFn$_invoke$arity$1(a),h=cljs.core.cst$kw$d.cljs$core$IFn$_invoke$arity$1(a),k=cljs.core.cst$kw$e.cljs$core$IFn$_invoke$arity$1(a); -e=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(d,0)?0:e+1;d=cljs.core.truth_(k)?k+2:4;g=cljs.core.truth_(g)?g-d:null;cljs.core.truth_(h)?f=h:(f=cljs.core.count(f),h=7>e?e:7,f=f>h?f:h);e=f-e;return 0<=e&&e<=f?(a=cljs.pprint.fixed_float(new cljs.core.PersistentArrayMap(null,6,[cljs.core.cst$kw$w,g,cljs.core.cst$kw$d,e,cljs.core.cst$kw$k,0,cljs.core.cst$kw$overflowchar,cljs.core.cst$kw$overflowchar.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cst$kw$padchar,cljs.core.cst$kw$padchar.cljs$core$IFn$_invoke$arity$1(a), -cljs.core.cst$kw$at,cljs.core.cst$kw$at.cljs$core$IFn$_invoke$arity$1(a)],null),b,c),cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(d," "))],0)),a):cljs.pprint.exponential_float(a,b,c)}; -cljs.pprint.dollar_float=function(a,b,c){b=cljs.pprint.next_arg(b);var d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null);c=cljs.pprint.float_parts(Math.abs(d));var e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null),f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null),g=cljs.core.cst$kw$d.cljs$core$IFn$_invoke$arity$1(a),h=cljs.core.cst$kw$n.cljs$core$IFn$_invoke$arity$1(a);c=cljs.core.cst$kw$w.cljs$core$IFn$_invoke$arity$1(a);var k= -function(){var b=cljs.core.cst$kw$at.cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?b:0>d}(),l=cljs.pprint.round_str(e,f,g,null);e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(l,0,null);f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(l,1,null);l=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(l,2,null);g=cljs.pprint.get_fixed(e,cljs.core.truth_(l)?f+1:f,g);h=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(h- -g.indexOf("."),"0"))),g].join("");g=cljs.core.count(h)+(cljs.core.truth_(k)?1:0);cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.truth_(function(){var b=cljs.core.cst$kw$colon.cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?k:b}())?0>d?"-":"+":null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(c-g,cljs.core.cst$kw$padchar.cljs$core$IFn$_invoke$arity$1(a)))), -cljs.core.truth_(function(){var b=cljs.core.not(cljs.core.cst$kw$colon.cljs$core$IFn$_invoke$arity$1(a));return b?k:b}())?0>d?"-":"+":null,h].join("")],0));return b}; -cljs.pprint.choice_conditional=function(a,b,c){c=cljs.core.cst$kw$selector.cljs$core$IFn$_invoke$arity$1(a);c=cljs.core.truth_(c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null):cljs.pprint.next_arg(b);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);var d=cljs.core.cst$kw$clauses.cljs$core$IFn$_invoke$arity$1(a);b=0>b||b>=cljs.core.count(d)?cljs.core.first(cljs.core.cst$kw$else.cljs$core$IFn$_invoke$arity$1(a)): -cljs.core.nth.cljs$core$IFn$_invoke$arity$2(d,b);return cljs.core.truth_(b)?cljs.pprint.execute_sub_format(b,c,cljs.core.cst$kw$base_DASH_args.cljs$core$IFn$_invoke$arity$1(a)):c}; -cljs.pprint.boolean_conditional=function(a,b,c){c=cljs.pprint.next_arg(b);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);var d=cljs.core.cst$kw$clauses.cljs$core$IFn$_invoke$arity$1(a);b=cljs.core.truth_(b)?cljs.core.second(d):cljs.core.first(d);return cljs.core.truth_(b)?cljs.pprint.execute_sub_format(b,c,cljs.core.cst$kw$base_DASH_args.cljs$core$IFn$_invoke$arity$1(a)):c}; -cljs.pprint.check_arg_conditional=function(a,b,c){var d=cljs.pprint.next_arg(b);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,0,null);d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,1,null);var e=cljs.core.cst$kw$clauses.cljs$core$IFn$_invoke$arity$1(a);e=cljs.core.truth_(c)?cljs.core.first(e):null;return cljs.core.truth_(c)?cljs.core.truth_(e)?cljs.pprint.execute_sub_format(e,b,cljs.core.cst$kw$base_DASH_args.cljs$core$IFn$_invoke$arity$1(a)):b:d}; -cljs.pprint.iterate_sublist=function(a,b,c){var d=cljs.core.cst$kw$max_DASH_iterations.cljs$core$IFn$_invoke$arity$1(a);c=cljs.core.first(cljs.core.cst$kw$clauses.cljs$core$IFn$_invoke$arity$1(a));c=cljs.core.empty_QMARK_(c)?cljs.pprint.get_format_arg(b):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);c=cljs.pprint.next_arg(c);var e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c, -0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);var f=0,g=cljs.pprint.init_navigator(e);for(e=-1;;){if(cljs.core.not(d)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$pos.cljs$core$IFn$_invoke$arity$1(g),e)&&1=d:d}()))return c;var h=cljs.pprint.execute_sub_format(b,g,cljs.core.cst$kw$base_DASH_args.cljs$core$IFn$_invoke$arity$1(a));if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$up_DASH_arrow,cljs.core.first(h)))return c;e=f+1;var k=cljs.core.cst$kw$pos.cljs$core$IFn$_invoke$arity$1(g);f=e;g=h;e=k}}; -cljs.pprint.iterate_list_of_sublists=function(a,b,c){var d=cljs.core.cst$kw$max_DASH_iterations.cljs$core$IFn$_invoke$arity$1(a);c=cljs.core.first(cljs.core.cst$kw$clauses.cljs$core$IFn$_invoke$arity$1(a));c=cljs.core.empty_QMARK_(c)?cljs.pprint.get_format_arg(b):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);c=cljs.pprint.next_arg(c);var e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c, -0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);for(var f=0,g=e;;){if(cljs.core.truth_(function(){var b=cljs.core.empty_QMARK_(g)&&(cljs.core.not(cljs.core.cst$kw$colon.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$kw$right_DASH_params.cljs$core$IFn$_invoke$arity$1(a)))||0=d:d}()))return c;e=cljs.pprint.execute_sub_format(b,cljs.pprint.init_navigator(cljs.core.first(g)),cljs.pprint.init_navigator(cljs.core.next(g)));if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$colon_DASH_up_DASH_arrow, -cljs.core.first(e)))return c;e=f+1;var h=cljs.core.next(g);f=e;g=h}}; -cljs.pprint.iterate_main_list=function(a,b,c){var d=cljs.core.cst$kw$max_DASH_iterations.cljs$core$IFn$_invoke$arity$1(a);c=cljs.core.first(cljs.core.cst$kw$clauses.cljs$core$IFn$_invoke$arity$1(a));c=cljs.core.empty_QMARK_(c)?cljs.pprint.get_format_arg(b):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);var e=0,f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);for(c=-1;;){if(cljs.core.not(d)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$pos.cljs$core$IFn$_invoke$arity$1(f), -c)&&1=d:d}()))return f;var g=cljs.pprint.execute_sub_format(b,f,cljs.core.cst$kw$base_DASH_args.cljs$core$IFn$_invoke$arity$1(a));if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$up_DASH_arrow, -cljs.core.first(g)))return cljs.core.second(g);c=e+1;var h=cljs.core.cst$kw$pos.cljs$core$IFn$_invoke$arity$1(f);e=c;f=g;c=h}}; -cljs.pprint.iterate_main_sublists=function(a,b,c){var d=cljs.core.cst$kw$max_DASH_iterations.cljs$core$IFn$_invoke$arity$1(a);c=cljs.core.first(cljs.core.cst$kw$clauses.cljs$core$IFn$_invoke$arity$1(a));c=cljs.core.empty_QMARK_(c)?cljs.pprint.get_format_arg(b):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);for(var e=0,f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);;){if(cljs.core.truth_(function(){var b= -cljs.core.empty_QMARK_(cljs.core.cst$kw$rest.cljs$core$IFn$_invoke$arity$1(f))&&(cljs.core.not(cljs.core.cst$kw$colon.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$kw$right_DASH_params.cljs$core$IFn$_invoke$arity$1(a)))||0=d:d}()))return f;var g=cljs.pprint.next_arg_or_nil(f);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(g,0,null);g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(g,1,null);c=cljs.pprint.execute_sub_format(b,cljs.pprint.init_navigator(c),g);if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$colon_DASH_up_DASH_arrow, -cljs.core.first(c)))return g;c=g;e+=1;f=c}};cljs.pprint.logical_block_or_justify=function(a,b,c){return cljs.core.truth_(cljs.core.cst$kw$colon.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$kw$right_DASH_params.cljs$core$IFn$_invoke$arity$1(a)))?cljs.pprint.format_logical_block(a,b,c):cljs.pprint.justify_clauses(a,b,c)}; -cljs.pprint.render_clauses=function(a,b,c){for(var d=cljs.core.PersistentVector.EMPTY;;){if(cljs.core.empty_QMARK_(a))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,b],null);var e=cljs.core.first(a);a:{var f=new goog.string.StringBuffer,g=cljs.core._STAR_out_STAR_,h=new cljs.core.StringBufferWriter(f);cljs.core._STAR_out_STAR_=h;try{var k=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.pprint.execute_sub_format(e,b,c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)], -null);break a}finally{cljs.core._STAR_out_STAR_=g}k=void 0}b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(k,0,null);e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(k,1,null);if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$up_DASH_arrow,cljs.core.first(b)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,cljs.core.second(b)],null);a=cljs.core.next(a);d=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(d,e)}}; -cljs.pprint.justify_clauses=function(a,b,c){var d=function(){var c=cljs.core.cst$kw$else.cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(c)?cljs.pprint.render_clauses(c,b,cljs.core.cst$kw$base_DASH_args.cljs$core$IFn$_invoke$arity$1(a)):null}();c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,1,null);var e=cljs.core.truth_(d)?d:b;d=function(){var b=cljs.core.cst$kw$else_DASH_params.cljs$core$IFn$_invoke$arity$1(a); -return cljs.core.truth_(b)?cljs.pprint.realize_parameter_list(b,e):null}();var f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,0,null);d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,1,null);var g=cljs.core.truth_(d)?d:e;d=function(){var a=cljs.core.first(cljs.core.cst$kw$min_DASH_remaining.cljs$core$IFn$_invoke$arity$1(f));return cljs.core.truth_(a)?a:0}();var h=function(){var a=cljs.core.first(cljs.core.cst$kw$max_DASH_columns.cljs$core$IFn$_invoke$arity$1(f));return cljs.core.truth_(a)?a:cljs.pprint.get_max_column(cljs.core._STAR_out_STAR_)}(), -k=cljs.core.cst$kw$clauses.cljs$core$IFn$_invoke$arity$1(a);g=cljs.pprint.render_clauses(k,g,cljs.core.cst$kw$base_DASH_args.cljs$core$IFn$_invoke$arity$1(a));var l=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(g,0,null);g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(g,1,null);var m=function(){var b=cljs.core.count(l)-1+(cljs.core.truth_(cljs.core.cst$kw$colon.cljs$core$IFn$_invoke$arity$1(a))?1:0)+(cljs.core.truth_(cljs.core.cst$kw$at.cljs$core$IFn$_invoke$arity$1(a))?1:0);return 1>b?1:b}();k=cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(cljs.core._PLUS_, -cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.count,l));var n=cljs.core.cst$kw$mincol.cljs$core$IFn$_invoke$arity$1(a),p=cljs.core.cst$kw$minpad.cljs$core$IFn$_invoke$arity$1(a),q=cljs.core.cst$kw$colinc.cljs$core$IFn$_invoke$arity$1(a),r=k+m*p;n=r<=n?n:n+q*(1+cljs.core.quot(r-n-1,q));var u=n-k;k=function(){var a=cljs.core.quot(u,m);return p>a?p:a}();q=u-k*m;k=cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(k,cljs.core.cst$kw$padchar.cljs$core$IFn$_invoke$arity$1(a))); -cljs.core.truth_(cljs.core.truth_(c)?cljs.pprint.get_column(cljs.core.cst$kw$base.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_))))+d+n>h:c)&&cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([c],0));d=q;for(var t=l,v=function(){var b=cljs.core.cst$kw$colon.cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?b:cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(t),1)&&cljs.core.not(cljs.core.cst$kw$at.cljs$core$IFn$_invoke$arity$1(a))}();;)if(cljs.core.seq(t))cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.not(v)? -cljs.core.first(t):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(function(){var b=v;return cljs.core.truth_(b)?b:(b=cljs.core.next(t))?b:cljs.core.cst$kw$at.cljs$core$IFn$_invoke$arity$1(a)}())?k:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(0cljs.core.count(cljs.core.cst$kw$params.cljs$core$IFn$_invoke$arity$1(a))&&cljs.pprint.format_error(cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(null,'Too many parameters for directive "~C": ~D~:* ~[were~;was~:;were~] specified but only ~D~:* ~[are~;is~:;are~] allowed',cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$directive.cljs$core$IFn$_invoke$arity$1(a),cljs.core.count(b), -cljs.core.count(cljs.core.cst$kw$params.cljs$core$IFn$_invoke$arity$1(a))],0)),cljs.core.second(cljs.core.first(b)));cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$3(function(b,c){var d=cljs.core.first(b);return null==d||cljs.core.contains_QMARK_(cljs.pprint.special_params,d)||cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.second(cljs.core.second(c)),cljs.core.type(d))?null:cljs.pprint.format_error(["Parameter ",cljs.core.name(cljs.core.first(c)),' has bad type in directive "', -cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$kw$directive.cljs$core$IFn$_invoke$arity$1(a)),'": ',cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type(d))].join(""),cljs.core.second(b))},b,cljs.core.cst$kw$params.cljs$core$IFn$_invoke$arity$1(a)));return cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.reverse(function(){return function g(a){return new cljs.core.LazySeq(null, -function(){for(;;){var b=cljs.core.seq(a);if(b){if(cljs.core.chunked_seq_QMARK_(b)){var c=cljs.core.chunk_first(b),f=cljs.core.count(c),m=cljs.core.chunk_buffer(f);a:for(var n=0;;)if(nc? -new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.pprint.compile_raw_string(b,a),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["",a+b.length],null)],null):0===c?cljs.pprint.compile_directive(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(b,1),a+1):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.pprint.compile_raw_string(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(b,0,c),a),new cljs.core.PersistentVector(null, -2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.subs.cljs$core$IFn$_invoke$arity$2(b,c),c+a],null)],null)}}(b,a),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,0],null))))}finally{cljs.pprint._STAR_format_str_STAR_=b}}; -cljs.pprint.needs_pretty=function(a){for(var b=a;;){if(cljs.core.empty_QMARK_(b))return!1;if(cljs.core.truth_(function(){var a=cljs.core.cst$kw$pretty.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$kw$flags.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$kw$def.cljs$core$IFn$_invoke$arity$1(cljs.core.first(b))));if(cljs.core.truth_(a))return a;a=cljs.core.some(cljs.pprint.needs_pretty,cljs.core.first(cljs.core.cst$kw$clauses.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$kw$params.cljs$core$IFn$_invoke$arity$1(cljs.core.first(b))))); -return cljs.core.truth_(a)?a:cljs.core.some(cljs.pprint.needs_pretty,cljs.core.first(cljs.core.cst$kw$else.cljs$core$IFn$_invoke$arity$1(cljs.core.cst$kw$params.cljs$core$IFn$_invoke$arity$1(cljs.core.first(b)))))}()))return!0;b=cljs.core.next(b)}}; -cljs.pprint.execute_format=function(a){switch(arguments.length){case 3:return cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 2:return cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=new goog.string.StringBuffer,e=cljs.core.not(a)||!0===a?new cljs.core.StringBufferWriter(d):a,f=cljs.pprint.needs_pretty(b)&&cljs.core.not(cljs.pprint.pretty_writer_QMARK_(e))?cljs.pprint.get_pretty_writer(e):e,g=cljs.core._STAR_out_STAR_;cljs.core._STAR_out_STAR_=f;try{try{cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(b,c)}finally{e!==f&&cljs.core._flush(f)}return cljs.core.not(a)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(d): -!0===a?cljs.core.string_print(cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)):null}finally{cljs.core._STAR_out_STAR_=g}}; -cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2=function(a,b){cljs.pprint.map_passing_context(function(a,b){if(cljs.pprint.abort_QMARK_(b))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,b],null);b=cljs.pprint.realize_parameter_list(cljs.core.cst$kw$params.cljs$core$IFn$_invoke$arity$1(a),b);var c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null);var d=cljs.pprint.unzip_map(c);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d, -0,null);d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,1,null);c=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(c,cljs.core.cst$kw$base_DASH_args,b);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$func.cljs$core$IFn$_invoke$arity$1(a),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b,d],null))],null)},b,a);return null}; -cljs.pprint.execute_format.cljs$lang$maxFixedArity=3;cljs.pprint.cached_compile=cljs.core.memoize(cljs.pprint.compile_format);cljs.pprint.use_method=function(a,b,c){return cljs.core._add_method(a,b,c)}; -cljs.pprint.reader_macros=new cljs.core.PersistentArrayMap(null,6,[cljs.core.cst$sym$quote,"'",cljs.core.cst$sym$var,"#'",cljs.core.cst$sym$clojure$core_SLASH_deref,"@",cljs.core.cst$sym$clojure$core_SLASH_unquote,"~",cljs.core.cst$sym$cljs$core_SLASH_deref,"@",cljs.core.cst$sym$cljs$core_SLASH_unquote,"~"],null); -cljs.pprint.pprint_reader_macro=function(a){var b=cljs.core.first(a);b=cljs.pprint.reader_macros.cljs$core$IFn$_invoke$arity$1?cljs.pprint.reader_macros.cljs$core$IFn$_invoke$arity$1(b):cljs.pprint.reader_macros.call(null,b);return cljs.core.truth_(cljs.core.truth_(b)?cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(2,cljs.core.count(a)):b)?(cljs.core._write(cljs.core._STAR_out_STAR_,b),cljs.pprint.write_out(cljs.core.second(a)),!0):null}; -cljs.pprint.pprint_simple_list=function(a){if(cljs.core.truth_(cljs.pprint.level_exceeded()))cljs.core._write(cljs.core._STAR_out_STAR_,"#");else{var b=cljs.pprint._STAR_current_level_STAR_,c=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,"(",null,")");for(var d=0,e=cljs.core.seq(a);;){if(cljs.core.not(cljs.core._STAR_print_length_STAR_)||da?0:a," ")),b)}; -cljs.pprint.print_table=function(a){switch(arguments.length){case 2:return cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 1:return cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2=function(a,b){if(cljs.core.seq(b)){var c=cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a){return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.max,cljs.core.count(cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)),cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(b){return cljs.core.count(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,a)))},b))},a),d=cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a){return function(a){return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str, -cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(a,"-"))}}(c),c);c=function(b,c){return function(d,e,f,g){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(e,function(){var d=function(a,b){return function x(c){return new cljs.core.LazySeq(null,function(a,b){return function(){for(;;){var a=cljs.core.seq(c);if(a){if(cljs.core.chunked_seq_QMARK_(a)){var b= -cljs.core.chunk_first(a),d=cljs.core.count(b),e=cljs.core.chunk_buffer(d);a:for(var f=0;;)if(fa?f:a}(),p=cljs.core.truth_(g)?cljs.core.partial.cljs$core$IFn$_invoke$arity$2(klipse_clj.lang.clojure.guard.my_emits,n):klipse_clj.lang.clojure.original_emits;cljs.js.eval_str.cljs$core$IFn$_invoke$arity$5(k,a,"compile.klipse",new cljs.core.PersistentArrayMap(null,6,[cljs.core.cst$kw$eval,klipse_clj.lang.clojure.eval_for_compilation,cljs.core.cst$kw$ns,cljs.core.deref(l),cljs.core.cst$kw$static_DASH_fns,d,cljs.core.cst$kw$_STAR_compiler_STAR_,cljs.env._STAR_compiler_STAR_=k,cljs.core.cst$kw$verbose, -h,cljs.core.cst$kw$load,cljs.core.partial.cljs$core$IFn$_invoke$arity$2(klipse_clj.lang.clojure.io.load_ns,e)],null),function(a,b,c,d,e,f,g,h,k,l,m,n){return function(b){klipse_clj.lang.clojure.update_current_ns(b,l,n);return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(a,b)}}(m,n,p,b,c,d,e,f,g,h,k,l));return m}; -klipse_clj.lang.clojure.warning_handler=function(a,b,c,d){return cljs.core.truth_(b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(cljs.analyzer._STAR_cljs_warnings_STAR_):b.call(null,cljs.analyzer._STAR_cljs_warnings_STAR_))?(b=cljs.analyzer.error_message.cljs$core$IFn$_invoke$arity$2?cljs.analyzer.error_message.cljs$core$IFn$_invoke$arity$2(b,d):cljs.analyzer.error_message.call(null,b,d),cljs.core.truth_(b)?cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(a,[cljs.analyzer.message(c, -["WARNING: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")),"\n"].join("")):null):null}; -klipse_clj.lang.clojure.read_until_closed_BANG_=function(a){var b=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0(),c=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(b,c){return function(){var d=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d= -c;break a}}}catch(t){if(t instanceof Object)b[5]=t,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw t;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b,c){return function(b){var d=b[1];if(1===d)return d= -cljs.core.PersistentVector.EMPTY,b[7]=d,b[2]=null,b[1]=2,cljs.core.cst$kw$recur;if(2===d)return cljs.core.async.impl.ioc_helpers.take_BANG_(b,4,a);if(3===d)return cljs.core.async.impl.ioc_helpers.return_chan(b,b[2]);if(4===d)return d=b[2],b[8]=d,cljs.core.truth_(null==d)?b[1]=5:b[1]=6,cljs.core.cst$kw$recur;if(5===d)return d=b[7],d=cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,d),b[2]=d,b[1]=7,cljs.core.cst$kw$recur;if(6===d){d=b[7];var e=b[8];d=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(d, -e);b[7]=d;b[2]=null;b[1]=2;return cljs.core.cst$kw$recur}return 7===d?(b[2]=b[2],b[1]=3,cljs.core.cst$kw$recur):null}}(b,c),b,c)}(),e=function(){var a=d.cljs$core$IFn$_invoke$arity$0?d.cljs$core$IFn$_invoke$arity$0():d.call(null);a[6]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(e)}}(c,b));return b}; -klipse_clj.lang.clojure.core_eval_an_exp=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,b):b,d=cljs.core.get.cljs$core$IFn$_invoke$arity$3(c,cljs.core.cst$kw$static_DASH_fns,!1),e=cljs.core.get.cljs$core$IFn$_invoke$arity$3(c,cljs.core.cst$kw$external_DASH_libs,null),f=cljs.core.get.cljs$core$IFn$_invoke$arity$3(c,cljs.core.cst$kw$max_DASH_eval_DASH_duration,klipse_clj.lang.clojure.guard.min_max_eval_duration), -g=cljs.core.get.cljs$core$IFn$_invoke$arity$3(c,cljs.core.cst$kw$verbose_QMARK_,!1),h=cljs.core.get.cljs$core$IFn$_invoke$arity$3(c,cljs.core.cst$kw$st,null),k=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,cljs.core.cst$kw$ns),l=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0(),m=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1024),n=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0(),p=function(){var a=klipse_clj.lang.clojure.guard.min_max_eval_duration;return f>a?f:a}(),q=cljs.analyzer._STAR_cljs_warning_handlers_STAR_, -r=new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.partial.cljs$core$IFn$_invoke$arity$2(klipse_clj.lang.clojure.warning_handler,m)],null);cljs.analyzer._STAR_cljs_warning_handlers_STAR_=r;try{return cljs.js.eval_str.cljs$core$IFn$_invoke$arity$5(h,a,"my.klipse",new cljs.core.PersistentArrayMap(null,8,[cljs.core.cst$kw$eval,klipse_clj.lang.clojure.my_eval,cljs.core.cst$kw$ns,cljs.core.deref(k),cljs.core.cst$kw$def_DASH_emits_DASH_var,!0,cljs.core.cst$kw$verbose, -g,cljs.core.cst$kw$_STAR_compiler_STAR_,cljs.env._STAR_compiler_STAR_=h,cljs.core.cst$kw$context,cljs.core.cst$kw$expr,cljs.core.cst$kw$static_DASH_fns,d,cljs.core.cst$kw$load,cljs.core.partial.cljs$core$IFn$_invoke$arity$2(klipse_clj.lang.clojure.io.load_ns,e)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,q,p){return function(r){cljs.core.async.close_BANG_(d);var t=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,t){return function(){var u= -function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,r,t){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(Da){if(Da instanceof Object)b[5]=Da,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw Da;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}}; -b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,b,c,d,e,f,g,h,k,l,m,n,q,p,t){return function(a){var b=a[1];if(1===b)return b=klipse_clj.lang.clojure.read_until_closed_BANG_(e),cljs.core.async.impl.ioc_helpers.take_BANG_(a,2,b);if(2===b){var c=a[2];b=klipse_clj.lang.clojure.update_current_ns(r,q,t);var g=cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(d, -r);c=clojure.string.join.cljs$core$IFn$_invoke$arity$2("",c);c=cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(f,c);a[7]=b;a[8]=g;return cljs.core.async.impl.ioc_helpers.return_chan(a,c)}return null}}(a,b,c,d,e,f,g,h,k,l,m,n,q,p,t),a,b,c,d,e,f,g,h,k,l,m,n,q,p,t)}(),v=function(){var b=u.cljs$core$IFn$_invoke$arity$0?u.cljs$core$IFn$_invoke$arity$0():u.call(null);b[6]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(v)}}(t,a,b,c,d,e,f,g,h,k,l,m,n,q,p));return t}}(q, -r,l,m,n,p,b,c,d,e,f,g,h,k)),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,n],null)}finally{cljs.analyzer._STAR_cljs_warning_handlers_STAR_=q}};klipse_clj.lang.clojure.read_chars=function(a){for(var b=cljs.core.PersistentVector.EMPTY;;){var c=cljs.tools.reader.reader_types.read_char(a);if(cljs.core.truth_(c))b=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(b,c);else return b}}; -klipse_clj.lang.clojure.reader_content=function(a){return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,klipse_clj.lang.clojure.read_chars(a))};klipse_clj.lang.clojure.data_readers=function(){return cljs.tagged_literals._STAR_cljs_data_readers_STAR_}; -klipse_clj.lang.clojure.first_exp_and_rest=function(a,b,c){var d=cljs.tools.reader._STAR_alias_map_STAR_,e=cljs.core._STAR_ns_STAR_,f=cljs.analyzer._STAR_cljs_ns_STAR_,g=cljs.env._STAR_compiler_STAR_,h=cljs.tools.reader.resolve_symbol,k=cljs.tools.reader._STAR_data_readers_STAR_,l=klipse_clj.repl.current_alias_map.cljs$core$IFn$_invoke$arity$2(c,b),m=cljs.analyzer.resolve_symbol,n=klipse_clj.lang.clojure.data_readers();cljs.tools.reader._STAR_alias_map_STAR_=l;cljs.core._STAR_ns_STAR_=c;cljs.analyzer._STAR_cljs_ns_STAR_= -c;cljs.env._STAR_compiler_STAR_=b;cljs.tools.reader.resolve_symbol=m;cljs.tools.reader._STAR_data_readers_STAR_=n;try{b={};var p=cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(a),q=cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3(p,!1,b);if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,q))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["",""],null);var r=klipse_clj.lang.clojure.reader_content(p),u=cljs.core.subs.cljs$core$IFn$_invoke$arity$3(a, -0,cljs.core.count(a)-cljs.core.count(r));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[clojure.string.replace(u,/^[\s\n]*/,""),r],null)}finally{cljs.tools.reader._STAR_data_readers_STAR_=k,cljs.tools.reader.resolve_symbol=h,cljs.env._STAR_compiler_STAR_=g,cljs.analyzer._STAR_cljs_ns_STAR_=f,cljs.core._STAR_ns_STAR_=e,cljs.tools.reader._STAR_alias_map_STAR_=d}}; -klipse_clj.lang.clojure.read_string=function(a){switch(arguments.length){case 1:return klipse_clj.lang.clojure.read_string.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return klipse_clj.lang.clojure.read_string.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -klipse_clj.lang.clojure.read_string.cljs$core$IFn$_invoke$arity$1=function(a){return klipse_clj.lang.clojure.read_string.cljs$core$IFn$_invoke$arity$3(a,cljs.core.deref(klipse_clj.repl.st),cljs.core.deref(klipse_clj.repl.current_ns_eval))}; -klipse_clj.lang.clojure.read_string.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.tools.reader._STAR_alias_map_STAR_,e=cljs.core._STAR_ns_STAR_,f=cljs.analyzer._STAR_cljs_ns_STAR_,g=cljs.env._STAR_compiler_STAR_,h=cljs.tools.reader.resolve_symbol,k=cljs.tools.reader._STAR_data_readers_STAR_,l=klipse_clj.repl.current_alias_map.cljs$core$IFn$_invoke$arity$2(c,b),m=cljs.analyzer.resolve_symbol,n=klipse_clj.lang.clojure.data_readers();cljs.tools.reader._STAR_alias_map_STAR_=l;cljs.core._STAR_ns_STAR_= -c;cljs.analyzer._STAR_cljs_ns_STAR_=c;cljs.env._STAR_compiler_STAR_=b;cljs.tools.reader.resolve_symbol=m;cljs.tools.reader._STAR_data_readers_STAR_=n;try{var p=cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(a);return cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$1(p)}finally{cljs.tools.reader._STAR_data_readers_STAR_=k,cljs.tools.reader.resolve_symbol=h,cljs.env._STAR_compiler_STAR_=g,cljs.analyzer._STAR_cljs_ns_STAR_=f,cljs.core._STAR_ns_STAR_=e,cljs.tools.reader._STAR_alias_map_STAR_= -d}};klipse_clj.lang.clojure.read_string.cljs$lang$maxFixedArity=3; -klipse_clj.lang.clojure.split_expressions=function(a){var b=a;for(a=cljs.core.PersistentVector.EMPTY;;){if(cljs.core.empty_QMARK_(b))return a;var c=klipse_clj.lang.clojure.first_exp_and_rest(b,cljs.core.deref(klipse_clj.repl.st),cljs.core.deref(klipse_clj.repl.current_ns_eval));b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);cljs.core.empty_QMARK_(b)?b=c:(a=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,b),b=c)}}; -klipse_clj.lang.clojure.populate_err=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,b):b;b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,cljs.core.cst$kw$result_DASH_element);c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,cljs.core.cst$kw$container);cljs.core.truth_(cljs.core.truth_(c)?cljs.core.not(b):c)&&(b=klipse_clj.lang.clojure.display_err(cljs.core.cst$kw$error.cljs$core$IFn$_invoke$arity$1(a)), -goog.dom.setTextContent(c,b));return a};klipse_clj.lang.clojure.completions=klipse_clj.repl.get_completions; -klipse_clj.lang.clojure.core_eval=function(a,b){var c=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0(),d=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0(),e=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(c,d,e){return function(){var f=function(){return function(a,b,c,d){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]= -1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(y){if(y instanceof Object)b[5]=y,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw y;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0= -c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c,d,e){return function(c){var f=c[1];if(7===f)return f=c,f[2]=c[2],cljs.core.async.impl.ioc_helpers.process_exception(f),cljs.core.cst$kw$recur;if(1===f)return c[2]=null,c[1]=4,cljs.core.cst$kw$recur;if(4===f)return cljs.core.async.impl.ioc_helpers.add_exception_frame(c,3,Object,null,2),f=klipse_clj.lang.clojure.create_state_eval(),cljs.core.async.impl.ioc_helpers.take_BANG_(c,5,f);if(15===f){var g=c[7];f=c[8];var h=c[9],k=c[2];g=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(g), -cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)].join("");c[7]=g;c[10]=f;c[11]=h;c[2]=null;c[1]=6;return cljs.core.cst$kw$recur}return 13===f?(f=c[12],g=c[13],h=cljs.core.deref(klipse_clj.repl.st),k=cljs.core.deref(klipse_clj.repl.current_ns_eval),h=klipse_clj.lang.clojure.first_exp_and_rest(f,h,k),c[9]=h,cljs.core.async.impl.ioc_helpers.take_BANG_(c,15,g)):6===f?(f=c[11],h=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null),f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,1,null),g=!cljs.core.empty_QMARK_(h), -c[12]=f,c[14]=h,c[1]=g?8:9,cljs.core.cst$kw$recur):3===f?(g=c[2],f=cljs.core.async.close_BANG_(e),h=cljs.core.PersistentHashMap.fromArrays([cljs.core.cst$kw$error],[g]),h=cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(d,h),g=cljs.core.PersistentHashMap.fromArrays([cljs.core.cst$kw$error],[g]),g=klipse_clj.lang.clojure.populate_err(g,b),c[15]=h,c[16]=f,f=c,f[2]=g,cljs.core.async.impl.ioc_helpers.process_exception(f),cljs.core.cst$kw$recur):12===f?(f=c[8],h=cljs.core.async.close_BANG_(e),g= -cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(d,f),f=klipse_clj.lang.clojure.populate_err(f,b),c[17]=g,c[18]=h,c[2]=f,c[1]=14,cljs.core.cst$kw$recur):2===f?cljs.core.async.impl.ioc_helpers.return_chan(c,c[2]):11===f?(f=c[2],h=cljs.core.cst$kw$error.cljs$core$IFn$_invoke$arity$1(f),c[8]=f,f=c,cljs.core.truth_(h)?f[1]=12:f[1]=13,cljs.core.cst$kw$recur):9===f?(g=c[7],f=c[10],h=cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(e,g),f=cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(d, -f),c[19]=h,c[2]=f,c[1]=10,cljs.core.cst$kw$recur):5===f?(f=c[2],h=cljs.core.deref(klipse_clj.repl.st),g=cljs.core.deref(klipse_clj.repl.current_ns_eval),h=klipse_clj.lang.clojure.first_exp_and_rest(a,h,g),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(h,0,null),k=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(h,1,null),c[7]="",c[20]=f,c[21]=k,c[10]=null,c[11]=h,c[22]=g,c[2]=null,c[1]=6,cljs.core.cst$kw$recur):14===f?(c[2]=c[2],c[1]=10,cljs.core.cst$kw$recur):10===f?(c[2]=c[2],c[1]=7,cljs.core.cst$kw$recur): -8===f?(f=c[14],h=cljs.core.deref(klipse_clj.repl.st),h=cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.cst$kw$st,h,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$ns,klipse_clj.repl.current_ns_eval],0)),h=klipse_clj.lang.clojure.core_eval_an_exp(f,h),f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(h,0,null),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(h,1,null),c[13]=g,cljs.core.async.impl.ioc_helpers.take_BANG_(c,11,f)):null}}(c,d,e),c,d,e)}(),g=function(){var a= -f.cljs$core$IFn$_invoke$arity$0?f.cljs$core$IFn$_invoke$arity$0():f.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(g)}}(e,c,d));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,d],null)}; -klipse_clj.lang.clojure.core_compile=function(a,b){var c=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(c){return function(){var d=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(r){if(r instanceof -Object)b[5]=r,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw r;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c){return function(c){var d=c[1];if(7===d){d=c[7];var e=klipse_clj.repl.create_state_compile(); -e=cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.cst$kw$st,e,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$ns,klipse_clj.repl.current_ns_compile],0));d=klipse_clj.lang.clojure.core_compile_an_exp(d,e);return cljs.core.async.impl.ioc_helpers.take_BANG_(c,10,d)}if(1===d)return c[2]=null,c[1]=4,cljs.core.cst$kw$recur;if(4===d){cljs.core.async.impl.ioc_helpers.add_exception_frame(c,3,Object,null,2);d=klipse_clj.repl.create_state_compile();e=cljs.core.deref(klipse_clj.repl.current_ns_compile); -d=klipse_clj.lang.clojure.first_exp_and_rest(a,d,e);e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,0,null);var f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,1,null);c[8]=d;c[9]=f;c[10]=e;c[11]="";c[2]=null;c[1]=5;return cljs.core.cst$kw$recur}if(13===d)return c[2]=c[2],c[1]=9,cljs.core.cst$kw$recur;if(6===d)return d=c[2],c[2]=d,cljs.core.async.impl.ioc_helpers.process_exception(c),cljs.core.cst$kw$recur;if(3===d)return d=cljs.core.PersistentHashMap.fromArrays([cljs.core.cst$kw$error],[c[2]]),c[2]= -d,cljs.core.async.impl.ioc_helpers.process_exception(c),cljs.core.cst$kw$recur;if(12===d){e=c[12];f=c[13];d=c[11];var g=klipse_clj.repl.create_state_compile(),h=cljs.core.deref(klipse_clj.repl.current_ns_compile);e=klipse_clj.lang.clojure.first_exp_and_rest(e,g,h);f=cljs.core.cst$kw$value.cljs$core$IFn$_invoke$arity$1(f);d=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)].join("");c[8]=e;c[11]=d;c[2]=null;c[1]=5;return cljs.core.cst$kw$recur}return 2=== -d?cljs.core.async.impl.ioc_helpers.return_chan(c,c[2]):11===d?(f=c[13],c[2]=f,c[1]=13,cljs.core.cst$kw$recur):9===d?(c[2]=c[2],c[1]=6,cljs.core.cst$kw$recur):5===d?(e=c[8],d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,0,null),e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null),f=!cljs.core.empty_QMARK_(d),c[7]=d,c[12]=e,c[1]=f?7:8,cljs.core.cst$kw$recur):10===d?(e=c[2],d=cljs.core.cst$kw$error.cljs$core$IFn$_invoke$arity$1(e),c[13]=e,cljs.core.truth_(d)?c[1]=11:c[1]=12,cljs.core.cst$kw$recur): -8===d?(d=c[11],d=cljs.core.PersistentHashMap.fromArrays([cljs.core.cst$kw$value],[d]),c[2]=d,c[1]=9,cljs.core.cst$kw$recur):null}}(c),c)}(),f=function(){var a=d.cljs$core$IFn$_invoke$arity$0?d.cljs$core$IFn$_invoke$arity$0():d.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(f)}}(c));return c}; -klipse_clj.lang.clojure.eval_async_map=function(a,b){var c=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(c){return function(){var d=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(r){if(r instanceof Object)b[5]= -r,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw r;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c){return function(c){var d=c[1];if(1===d){var e=klipse_clj.lang.clojure.core_eval(a,b);d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e, -0,null);e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null);c[7]=e;return cljs.core.async.impl.ioc_helpers.take_BANG_(c,2,d)}return 2===d?(e=c[7],d=klipse_clj.lang.clojure.result_as_str(c[2],b),c[8]=d,cljs.core.async.impl.ioc_helpers.take_BANG_(c,3,e)):3===d?(d=c[8],d=cljs.core.PersistentHashMap.fromArrays([cljs.core.cst$kw$warnings,cljs.core.cst$kw$res],[c[2],d]),cljs.core.async.impl.ioc_helpers.return_chan(c,d)):null}}(c),c)}(),f=function(){var a=d.cljs$core$IFn$_invoke$arity$0?d.cljs$core$IFn$_invoke$arity$0(): -d.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(f)}}(c));return c}; -klipse_clj.lang.clojure.eval_async=function(a,b){var c=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(c){return function(){var d=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(r){if(r instanceof Object)b[5]= -r,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw r;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c){return function(c){var d=c[1];if(1===d){var e=klipse_clj.lang.clojure.core_eval(a,b);d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e, -0,null);e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null);c[7]=e;return cljs.core.async.impl.ioc_helpers.take_BANG_(c,2,d)}return 2===d?(e=c[7],d=klipse_clj.lang.clojure.result_as_str(c[2],b),c[8]=d,cljs.core.async.impl.ioc_helpers.take_BANG_(c,3,e)):3===d?(d=c[8],c[9]=c[2],cljs.core.async.impl.ioc_helpers.return_chan(c,d)):null}}(c),c)}(),f=function(){var a=d.cljs$core$IFn$_invoke$arity$0?d.cljs$core$IFn$_invoke$arity$0():d.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(f)}}(c)); -return c};klipse_clj.lang.clojure.the_eval=function(a){switch(arguments.length){case 1:return klipse_clj.lang.clojure.the_eval.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return klipse_clj.lang.clojure.the_eval.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -klipse_clj.lang.clojure.the_eval.cljs$core$IFn$_invoke$arity$1=function(a){return klipse_clj.lang.clojure.the_eval.cljs$core$IFn$_invoke$arity$2(a,cljs.core.PersistentArrayMap.EMPTY)}; -klipse_clj.lang.clojure.the_eval.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(c){return function(){var d=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(r){if(r instanceof -Object)b[5]=r,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw r;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c){return function(c){var d=c[1];return 1===d?(d=klipse_clj.lang.clojure.core_eval(a, -b),d=cljs.core.first(d),cljs.core.async.impl.ioc_helpers.take_BANG_(c,2,d)):2===d?(d=klipse_clj.lang.clojure.read_result(c[2]),cljs.core.async.impl.ioc_helpers.return_chan(c,d)):null}}(c),c)}(),f=function(){var a=d.cljs$core$IFn$_invoke$arity$0?d.cljs$core$IFn$_invoke$arity$0():d.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(f)}}(c));return c};klipse_clj.lang.clojure.the_eval.cljs$lang$maxFixedArity=2; -klipse_clj.lang.clojure.eval_and_callback=function(a,b){var c=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(c){return function(){var d=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(r){if(r instanceof Object)b[5]=r,cljs.core.async.impl.ioc_helpers.process_exception(b), -d=cljs.core.cst$kw$recur;else throw r;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c){return function(c){var d=c[1];return 1===d?(d=klipse_clj.lang.clojure.the_eval.cljs$core$IFn$_invoke$arity$1(a),cljs.core.async.impl.ioc_helpers.take_BANG_(c, -2,d)):2===d?(d=cljs.core.clj__GT_js(c[2]),d=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d),cljs.core.async.impl.ioc_helpers.return_chan(c,d)):null}}(c),c)}(),f=function(){var a=d.cljs$core$IFn$_invoke$arity$0?d.cljs$core$IFn$_invoke$arity$0():d.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(f)}}(c));return c}; -klipse_clj.lang.clojure.str_compile=function(a){switch(arguments.length){case 1:return klipse_clj.lang.clojure.str_compile.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return klipse_clj.lang.clojure.str_compile.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -klipse_clj.lang.clojure.str_compile.cljs$core$IFn$_invoke$arity$1=function(a){return klipse_clj.lang.clojure.str_compile.cljs$core$IFn$_invoke$arity$2(a,cljs.core.PersistentArrayMap.EMPTY)}; -klipse_clj.lang.clojure.str_compile.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(c){return function(){var d=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(r){if(r instanceof -Object)b[5]=r,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw r;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c){return function(c){var d=c[1];return 1===d?(d=klipse_clj.lang.clojure.core_compile(a, -b),cljs.core.async.impl.ioc_helpers.take_BANG_(c,2,d)):2===d?(d=klipse_clj.lang.clojure.convert_compile_res(c[2]),cljs.core.async.impl.ioc_helpers.return_chan(c,d)):null}}(c),c)}(),f=function(){var a=d.cljs$core$IFn$_invoke$arity$0?d.cljs$core$IFn$_invoke$arity$0():d.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(f)}}(c));return c};klipse_clj.lang.clojure.str_compile.cljs$lang$maxFixedArity=2; -klipse_clj.lang.clojure.compile_async=function(a,b){var c=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(c){return function(){var d=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(r){if(r instanceof Object)b[5]=r,cljs.core.async.impl.ioc_helpers.process_exception(b), -d=cljs.core.cst$kw$recur;else throw r;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c){return function(c){var d=c[1];return 1===d?(d=klipse_clj.lang.clojure.core_compile(a,b),cljs.core.async.impl.ioc_helpers.take_BANG_(c,2,d)):2===d?(d= -klipse_clj.lang.clojure.convert_compile_res(c[2]),cljs.core.async.impl.ioc_helpers.return_chan(c,d)):null}}(c),c)}(),f=function(){var a=d.cljs$core$IFn$_invoke$arity$0?d.cljs$core$IFn$_invoke$arity$0():d.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(f)}}(c));return c}; -klipse_clj.lang.clojure.str_compile_async=function(a,b){var c=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(c){return function(){var d=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(r){if(r instanceof Object)b[5]=r,cljs.core.async.impl.ioc_helpers.process_exception(b), -d=cljs.core.cst$kw$recur;else throw r;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c){return function(c){var d=c[1];return 1===d?(d=klipse_clj.lang.clojure.compile_async(a,b),cljs.core.async.impl.ioc_helpers.take_BANG_(c,2,d)):2===d?(d= -cljs.core.second(c[2]),d=cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.async.impl.ioc_helpers.return_chan(c,d)):null}}(c),c)}(),f=function(){var a=d.cljs$core$IFn$_invoke$arity$0?d.cljs$core$IFn$_invoke$arity$0():d.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(f)}}(c));return c}; -klipse_clj.lang.clojure.str_eval_async=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,b):b,d=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,cljs.core.cst$kw$container_DASH_id),e=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,cljs.core.cst$kw$setup_DASH_container_DASH_fn),f=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,cljs.core.cst$kw$verbose_QMARK_),g=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0(); -cljs.core.truth_(f)&&console.info("[clojure] evaluating",a);var h=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(b,c,d,e,f,g,h,u){return function(){var k=function(){return function(a,b,c,d,e,f,g,h,k){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d= -c;break a}}}catch(M){if(M instanceof Object)b[5]=M,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw M;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b,c,d,e,f,g,h,k){return function(l){var m=l[1]; -if(7===m){var n=l[2],p=function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a){return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(g,a)}}(cljs.core._STAR_print_newline_STAR_,cljs.core._STAR_print_fn_STAR_,!0,n,m,b,c,d,e,f,g,h,k)}(),q=cljs.core._STAR_print_newline_STAR_=!0;p=cljs.core._STAR_print_fn_STAR_=p;l[7]=n;l[8]=q;l[9]=p;l[2]=null;l[1]=10;return cljs.core.cst$kw$recur}if(20===m)return p=l[2],q=cljs.core.get.cljs$core$IFn$_invoke$arity$2(p,cljs.core.cst$kw$warnings), -p=cljs.core.get.cljs$core$IFn$_invoke$arity$2(p,cljs.core.cst$kw$res),p=cljs.core.second(p),q=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(q),cljs.core.str.cljs$core$IFn$_invoke$arity$1(p)].join(""),q=cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,q),l[2]=q,cljs.core.async.impl.ioc_helpers.process_exception(l),cljs.core.cst$kw$recur;if(1===m)return q=clojure.string.blank_QMARK_(a),l[1]=q?2:3,cljs.core.cst$kw$recur;if(4===m)return cljs.core.async.impl.ioc_helpers.return_chan(l,l[2]);if(15=== -m)return l[2]=!0,l[1]=17,cljs.core.cst$kw$recur;if(13===m)return l[2]=!1,l[1]=14,cljs.core.cst$kw$recur;if(6===m)return l[2]=null,l[1]=7,cljs.core.cst$kw$recur;if(17===m)return l[2]=l[2],l[1]=14,cljs.core.cst$kw$recur;if(3===m)return cljs.core.truth_(h)?l[1]=5:l[1]=6,cljs.core.cst$kw$recur;if(12===m)return q=l[10],p=cljs.core.PROTOCOL_SENTINEL===q.cljs$core$ISeq$,q=q.cljs$lang$protocol_mask$partition0$&64||p,cljs.core.truth_(q)?l[1]=15:l[1]=16,cljs.core.cst$kw$recur;if(2===m)return q=cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c, -""),l[2]=q,l[1]=4,cljs.core.cst$kw$recur;if(19===m)return q=l[10],l[2]=q,l[1]=20,cljs.core.cst$kw$recur;if(11===m)return q=l[10],q=l[2],p=cljs.core.not(null==q),l[10]=q,l[1]=p?12:13,cljs.core.cst$kw$recur;if(9===m){q=l[2];p=cljs.core._STAR_print_fn_STAR_=cljs.core._STAR_print_fn_STAR_;var r=cljs.core._STAR_print_newline_STAR_=cljs.core._STAR_print_newline_STAR_;l[11]=r;l[12]=p;l[13]=q;cljs.core.async.impl.ioc_helpers.process_exception(l);return cljs.core.cst$kw$recur}return 5===m?(q=h.cljs$core$IFn$_invoke$arity$1? -h.cljs$core$IFn$_invoke$arity$1(g):h.call(null,g),l[2]=q,l[1]=7,cljs.core.cst$kw$recur):14===m?(q=l[2],cljs.core.truth_(q)?l[1]=18:l[1]=19,cljs.core.cst$kw$recur):16===m?(l[2]=!1,l[1]=17,cljs.core.cst$kw$recur):10===m?(cljs.core.async.impl.ioc_helpers.add_exception_frame(l,null,null,9,8),q=klipse_clj.lang.clojure.eval_async_map(a,f),cljs.core.async.impl.ioc_helpers.take_BANG_(l,11,q)):18===m?(q=l[10],q=cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,q),l[2]=q,l[1]=20,cljs.core.cst$kw$recur): -8===m?(l[2]=l[2],l[1]=4,cljs.core.cst$kw$recur):null}}(b,c,d,e,f,g,h,u),b,c,d,e,f,g,h,u)}(),l=function(){var a=k.cljs$core$IFn$_invoke$arity$0?k.cljs$core$IFn$_invoke$arity$0():k.call(null);a[6]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(l)}}(h,g,b,c,c,d,e,f));return g}; -klipse_clj.lang.clojure.eval_async_prepl=function(a){switch(arguments.length){case 1:return klipse_clj.lang.clojure.eval_async_prepl.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return klipse_clj.lang.clojure.eval_async_prepl.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}; -klipse_clj.lang.clojure.eval_async_prepl.cljs$core$IFn$_invoke$arity$1=function(a){return klipse_clj.lang.clojure.eval_async_prepl.cljs$core$IFn$_invoke$arity$2(a,cljs.core.PersistentArrayMap.EMPTY)}; -klipse_clj.lang.clojure.eval_async_prepl.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0(),d=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(c,d){return function(){var e=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c, -cljs.core.cst$kw$recur)){var d=c;break a}}}catch(v){if(v instanceof Object)b[5]=v,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw v;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c,d){return function(e){var f= -e[1];if(1===f){var g=function(){return function(a,b,c,d){return function(a){return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(d,new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$kw$val,a,cljs.core.cst$kw$tag,cljs.core.cst$kw$out],null))}}(cljs.core._STAR_print_fn_STAR_,f,c,d)}();g=cljs.core._STAR_print_fn_STAR_=g;e[7]=g;e[2]=null;e[1]=4;return cljs.core.cst$kw$recur}if(2===f)return cljs.core.async.impl.ioc_helpers.return_chan(e,e[2]);if(3===f){g=e[2];var h=cljs.core._STAR_print_fn_STAR_= -cljs.core._STAR_print_fn_STAR_;e[8]=h;e[9]=g;cljs.core.async.impl.ioc_helpers.process_exception(e);return cljs.core.cst$kw$recur}return 4===f?(cljs.core.async.impl.ioc_helpers.add_exception_frame(e,null,null,3,2),g=klipse_clj.lang.clojure.core_eval(a,b),g=cljs.core.first(g),cljs.core.async.impl.ioc_helpers.take_BANG_(e,5,g)):5===f?(g=klipse_clj.lang.clojure.result_as_prepl_map(a,e[2],b),g=cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(d,g),e[2]=g,cljs.core.async.impl.ioc_helpers.process_exception(e), -cljs.core.cst$kw$recur):null}}(c,d),c,d)}(),f=function(){var a=e.cljs$core$IFn$_invoke$arity$0?e.cljs$core$IFn$_invoke$arity$0():e.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(f)}}(d,c));return c};klipse_clj.lang.clojure.eval_async_prepl.cljs$lang$maxFixedArity=2;klipse_clj.lang.clojure.main=function(){return console.log("main")};klipse.lang.clojure={};klipse_clj.lang.clojure.io._STAR_klipse_settings_STAR_=klipse.utils.klipse_settings.cljs$core$IFn$_invoke$arity$0?klipse.utils.klipse_settings.cljs$core$IFn$_invoke$arity$0():klipse.utils.klipse_settings.call(null);klipse_clj.lang.clojure.io._STAR_verbose_QMARK__STAR_=klipse.utils.verbose_QMARK_(); -klipse_clj.lang.clojure.io._STAR_cache_buster_QMARK__STAR_=cljs.core.boolean$(cljs.reader.read_string.cljs$core$IFn$_invoke$arity$1(function(){var a=cljs.core.cst$kw$cache_DASH_buster.cljs$core$IFn$_invoke$arity$1(klipse.utils.url_parameters.cljs$core$IFn$_invoke$arity$0?klipse.utils.url_parameters.cljs$core$IFn$_invoke$arity$0():klipse.utils.url_parameters.call(null));return cljs.core.truth_(a)?a:"false"}())); -klipse.lang.clojure.eval_opts=new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$editor_DASH_in_DASH_mode,"clojure",cljs.core.cst$kw$editor_DASH_out_DASH_mode,"clojure",cljs.core.cst$kw$eval_DASH_fn,function(a,b){return klipse_clj.lang.clojure.str_eval_async(a,cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.cst$kw$setup_DASH_container_DASH_fn,klipse.utils.setup_container_BANG_,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$verbose,klipse.utils.verbose_QMARK_()], -0)))},cljs.core.cst$kw$external_DASH_scripts,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[klipse.common.registry.codemirror_mode_src("clojure")],null),cljs.core.cst$kw$comment_DASH_str,";"],null); -klipse.lang.clojure.compile_opts=new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$editor_DASH_in_DASH_mode,"clojure",cljs.core.cst$kw$editor_DASH_out_DASH_mode,"javascript",cljs.core.cst$kw$external_DASH_scripts,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[klipse.common.registry.codemirror_mode_src("clojure"),klipse.common.registry.codemirror_mode_src("javascript")],null),cljs.core.cst$kw$eval_DASH_fn,function(a,b){return klipse_clj.lang.clojure.str_compile_async(a, -cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,cljs.core.cst$kw$verbose,klipse.utils.verbose_QMARK_()))},cljs.core.cst$kw$comment_DASH_str,";"],null);klipse.common.registry.register_mode("eval-clojure","selector",klipse.lang.clojure.eval_opts);klipse.common.registry.register_mode("transpile-clojurescript","selector_js",klipse.lang.clojure.compile_opts);klipse.lang.markdown={}; -klipse.lang.markdown.str_eval_async=function(a,b){b=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(b){return function(){var c=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(q){if(q instanceof Object)b[5]=q,cljs.core.async.impl.ioc_helpers.process_exception(b), -d=cljs.core.cst$kw$recur;else throw q;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b){return function(b){if(1===b[1]){var c=markdown.toHTML(a);return cljs.core.async.impl.ioc_helpers.return_chan(b,c)}return null}}(b),b)}(),e=function(){var a= -c.cljs$core$IFn$_invoke$arity$0?c.cljs$core$IFn$_invoke$arity$0():c.call(null);a[6]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(e)}}(b));return b}; -klipse.lang.markdown.opts=new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$editor_DASH_in_DASH_mode,"markdown",cljs.core.cst$kw$editor_DASH_out_DASH_mode,"htmlmixed",cljs.core.cst$kw$external_DASH_scripts,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[klipse.common.registry.scripts_src("markdown.min.js?"),klipse.common.registry.codemirror_mode_src("xml"),klipse.common.registry.codemirror_mode_src("htmlmixed"),klipse.common.registry.codemirror_mode_src("javascript"), -klipse.common.registry.codemirror_mode_src("css")],null),cljs.core.cst$kw$eval_DASH_fn,klipse.lang.markdown.str_eval_async,cljs.core.cst$kw$comment_DASH_str,"[comment]: "],null);klipse.common.registry.register_mode("eval-markdown","selector_eval_markdown",klipse.lang.markdown.opts);klipse.lang.reagent={}; -klipse.lang.reagent.eval_reagent=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,b):b,d=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,cljs.core.cst$kw$container_DASH_id);b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,cljs.core.cst$kw$container);try{var e=klipse_clj.lang.clojure.split_expressions(a),f=klipse_clj.lang.clojure.read_string.cljs$core$IFn$_invoke$arity$1(cljs.core.last(e)),g= -cljs.core.vector_QMARK_(f)?f:new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[f],null),h=clojure.string.join.cljs$core$IFn$_invoke$arity$2("\n",cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2(1,e)),k=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(h),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.List(null,cljs.core.cst$sym$reagent$dom_SLASH_render, -null,1,null),new cljs.core.List(null,g,null,1,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.List(null,cljs.core.cst$sym$js_SLASH_document$getElementById,null,1,null),new cljs.core.List(null,d,null,1,null)))),null,1,null)],0)))))].join("");return klipse_clj.lang.clojure.str_eval_async(k,c)}catch(l){return a=cljs.core.str.cljs$core$IFn$_invoke$arity$1(l), -goog.dom.setTextContent(b,a),a=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0(),cljs.core.async.close_BANG_(a),a}}; -klipse.lang.reagent.opts=new cljs.core.PersistentArrayMap(null,6,[cljs.core.cst$kw$editor_DASH_in_DASH_mode,"clojure",cljs.core.cst$kw$editor_DASH_out_DASH_mode,"clojure",cljs.core.cst$kw$eval_DASH_fn,klipse.lang.reagent.eval_reagent,cljs.core.cst$kw$no_DASH_result,!0,cljs.core.cst$kw$external_DASH_scripts,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[klipse.common.registry.codemirror_mode_src("clojure")],null),cljs.core.cst$kw$comment_DASH_str,";"],null); -klipse.common.registry.register_mode("eval-reagent","selector_reagent",klipse.lang.reagent.opts);klipse.lang.cpp={}; -klipse.lang.cpp.eval_in_chan=function(a,b){try{var c=cljs.core.clj__GT_js(new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$stdio,new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$write,function(a){return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(b,a)}],null)],null)),d=function(){var b=JSCPP;var d=applied_science.js_interop.impl.contains_QMARK__STAR_(b,"run")?b.run:null;return d.call(b,a,"",c)}();return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(0,d)?new cljs.core.PersistentVector(null, -2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$ok,0],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$error,d],null)}catch(e){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$exception,e],null)}}; -klipse.lang.cpp.str_eval_async=function(a,b){b=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0();var c=klipse.lang.cpp.eval_in_chan(a,b);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null);c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null);a=a instanceof cljs.core.Keyword?a.fqn:null;switch(a){case "ok":cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(b,["\nexit code: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""));break;case "error":cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(b, -["\nexit code:",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""));break;case "exception":cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(b,["\n",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""));break;default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));}return b}; -klipse.lang.cpp.opts=new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$editor_DASH_in_DASH_mode,"text/x-c++src",cljs.core.cst$kw$editor_DASH_out_DASH_mode,"text",cljs.core.cst$kw$external_DASH_scripts,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[klipse.common.registry.codemirror_mode_src("clike"),klipse.common.registry.scripts_src("JSCPP.es5.min.js")],null),cljs.core.cst$kw$eval_DASH_fn,klipse.lang.cpp.str_eval_async,cljs.core.cst$kw$comment_DASH_str,"//"], -null);klipse.common.registry.register_mode("eval-cpp","selector_eval_cpp",klipse.lang.cpp.opts);klipse.lang.html={}; -klipse.lang.html.my_eval=function(a,b){b=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(b){return function(){var c=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c;break a}}}catch(q){if(q instanceof Object)b[5]=q,cljs.core.async.impl.ioc_helpers.process_exception(b),d= -cljs.core.cst$kw$recur;else throw q;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b){return function(b){return 1===b[1]?cljs.core.async.impl.ioc_helpers.return_chan(b,a):null}}(b),b)}(),e=function(){var a=c.cljs$core$IFn$_invoke$arity$0? -c.cljs$core$IFn$_invoke$arity$0():c.call(null);a[6]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(e)}}(b));return b}; -klipse.lang.html.opts=new cljs.core.PersistentArrayMap(null,6,[cljs.core.cst$kw$editor_DASH_in_DASH_mode,"text/html",cljs.core.cst$kw$editor_DASH_out_DASH_mode,"text",cljs.core.cst$kw$default_DASH_editor,"html",cljs.core.cst$kw$external_DASH_scripts,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[klipse.common.registry.codemirror_mode_src("xml"),klipse.common.registry.codemirror_mode_src("htmlmixed")],null),cljs.core.cst$kw$eval_DASH_fn,klipse.lang.html.my_eval,cljs.core.cst$kw$comment_DASH_str, -"; "],null);klipse.common.registry.register_mode("eval-html","selector_eval_html",klipse.lang.html.opts);klipse.lang.python={}; -klipse.lang.python.builtin_read=function(a){if(null==function(){var a=Sk;return applied_science.js_interop.impl.contains_QMARK__STAR_(a,"builtinFiles")?a.builtinFiles:null}()||null==function(){var a=Sk;a=applied_science.js_interop.impl.contains_QMARK__STAR_(a,"builtinFiles")?a.builtinFiles:null;return applied_science.js_interop.impl.contains_QMARK__STAR_(a,"files")?a.files:null}()[a])throw["File not found: '",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"'"].join("");return function(){var a=Sk; -a=applied_science.js_interop.impl.contains_QMARK__STAR_(a,"builtinFiles")?a.builtinFiles:null;return applied_science.js_interop.impl.contains_QMARK__STAR_(a,"files")?a.files:null}()[a]};klipse.lang.python.init=klipse.utils.runonce(function(){var a=Sk;a=null!=a?a:{};a.TurtleGraphics={};return a}); -klipse.lang.python.str_eval_async=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,b):b,d=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,cljs.core.cst$kw$container_DASH_id);klipse.lang.python.init.cljs$core$IFn$_invoke$arity$0?klipse.lang.python.init.cljs$core$IFn$_invoke$arity$0():klipse.lang.python.init.call(null);var e=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0(), -f=Sk,g=applied_science.js_interop.impl.contains_QMARK__STAR_(f,"configure")?f.configure:null;g.call(f,{output:function(a,b,c,d,e,f){return function(a){return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(c,a)}}(f,g,e,b,c,d),read:klipse.lang.python.builtin_read});(function(){var f=function(){var a=Sk;return applied_science.js_interop.impl.contains_QMARK__STAR_(a,"misceval")?a.misceval:null}(),g=applied_science.js_interop.impl.contains_QMARK__STAR_(f,"asyncToPromise")?f.asyncToPromise:null; -return g.call(f,function(b,c,d,e,f,g){return function(){cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(d,"Output:\n");var b=Sk;b=null!=b?b:{};var c=b.TurtleGraphics;null!=c?b=c:(c={},b=b.TurtleGraphics=c);b.target=g;b=Sk;return(applied_science.js_interop.impl.contains_QMARK__STAR_(b,"importMainWithBody")?b.importMainWithBody:null).call(b,"\x3cstdin\x3e",!1,a,!0)}}(f,g,e,b,c,d))})().then(function(a,b,c,d){return function(a){a=console;var b=applied_science.js_interop.impl.contains_QMARK__STAR_(a, -"info")?a.info:null;return b.call(a,"success to eval skulpt: ")}}(e,b,c,d),function(a,b,c,d){return function(b){return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(a,["error: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""))}}(e,b,c,d));return e}; -klipse.lang.python.opts=new cljs.core.PersistentArrayMap(null,6,[cljs.core.cst$kw$editor_DASH_in_DASH_mode,"python",cljs.core.cst$kw$editor_DASH_out_DASH_mode,"python",cljs.core.cst$kw$eval_DASH_fn,klipse.lang.python.str_eval_async,cljs.core.cst$kw$beautify_QMARK_,!1,cljs.core.cst$kw$external_DASH_scripts,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[klipse.common.registry.codemirror_mode_src("python"),klipse.common.registry.scripts_src("skulpt.min.js"),klipse.common.registry.scripts_src("skulpt-stdlib.js")], -null),cljs.core.cst$kw$comment_DASH_str,"#"],null);klipse.common.registry.register_mode("eval-python-client","selector_eval_python_client",klipse.lang.python.opts);klipse.lang.js_compile={}; -klipse.lang.js_compile.advanced_compile=function(a){a=cljs.core.clj__GT_js(new cljs.core.PersistentArrayMap(null,2,[cljs.core.cst$kw$jsCode,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,1,[cljs.core.cst$kw$src,a],null)],null),cljs.core.cst$kw$compilationLevel,"ADVANCED"],null));console.log(a);a=cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic(compile(a),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$keywordize_DASH_keys,!0], -0));a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,a):a;var b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,cljs.core.cst$kw$compiledCode),c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,cljs.core.cst$kw$errors);cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,cljs.core.cst$kw$warnings);return cljs.core.seq(c)?["//errors during compilation:\n",cljs.core.str.cljs$core$IFn$_invoke$arity$1(JSON.stringify(cljs.core.clj__GT_js(c)))].join(""): -b}; -klipse.lang.js_compile.str_compile_js_async=function(a,b){b=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0();var c=cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(1);cljs.core.async.impl.dispatch.run(function(b,c){return function(){var d=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a(b);if(!cljs.core.keyword_identical_QMARK_(c,cljs.core.cst$kw$recur)){var d=c; -break a}}}catch(t){if(t instanceof Object)b[5]=t,cljs.core.async.impl.ioc_helpers.process_exception(b),d=cljs.core.cst$kw$recur;else throw t;}if(!cljs.core.keyword_identical_QMARK_(d,cljs.core.cst$kw$recur))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b,c){return function(b){var d=b[1];if(1===d)return cljs.core.async.impl.ioc_helpers.put_BANG_(b, -2,c,"//compiling...\n");if(2===d){d=b[2];var e=cljs.core.async.timeout(0);b[7]=d;return cljs.core.async.impl.ioc_helpers.take_BANG_(b,3,e)}return 3===d?(d=b[2],e=klipse.lang.js_compile.advanced_compile(a),b[8]=d,cljs.core.async.impl.ioc_helpers.put_BANG_(b,4,c,e)):4===d?cljs.core.async.impl.ioc_helpers.return_chan(b,b[2]):null}}(b,c),b,c)}(),e=function(){var a=d.cljs$core$IFn$_invoke$arity$0?d.cljs$core$IFn$_invoke$arity$0():d.call(null);a[6]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(e)}}(c, -b));return b};klipse.lang.js_compile.opts=new cljs.core.PersistentArrayMap(null,5,[cljs.core.cst$kw$editor_DASH_in_DASH_mode,"javascript",cljs.core.cst$kw$editor_DASH_out_DASH_mode,"javascript",cljs.core.cst$kw$eval_DASH_fn,klipse.lang.js_compile.str_compile_js_async,cljs.core.cst$kw$min_DASH_eval_DASH_idle_DASH_msec,5E3,cljs.core.cst$kw$comment_DASH_str,"//"],null);klipse.common.registry.register_mode("compile-javascript","selector_compile_js",klipse.lang.js_compile.opts);klipse.run={};klipse.run.plugin={};klipse.run.plugin.plugin={};console.info("settings: ",window.klipse_settings);klipse.run.plugin.plugin.settings=function(){return window.klipse_settings};goog.exportSymbol("klipse.run.plugin.plugin.settings",klipse.run.plugin.plugin.settings);cljs.core.truth_(klipse.run.plugin.plugin.settings())&&klipse.plugin.init(klipse.run.plugin.plugin.settings()); -// @license-end diff --git a/docs/javascripts/klipse_reagent_fix.js b/docs/javascripts/klipse_reagent_fix.js deleted file mode 100644 index c56412a51..000000000 --- a/docs/javascripts/klipse_reagent_fix.js +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Klipse does not currently re-evaluate dependent snippets on change of a - * snippet. In other words, if a user edits a reagent view function a different - * snippet that renders that view will not be re-rendered. To the user this is - * very confusing. - * - * It is reported as a bug at https://github.com/viebel/klipse/issues/361 - * - * In the meantime we workaround it by triggering a change event on all snippet - * editors on the page every time any editor receives a change event. As this - * would cause infinite recursive events without a stop condition we keep track - * of the number of editors that have been notified. In addition, we need to use - * both the browser window load event and polling of Klipse to run code once - * Klipse has finished loading. - */ - -var editorsOnChangePending = 0 - -function onKlipseLoad () { - // klipse_editors is a array-like map, not an array, so we need to convert - // it for ease of use. - let editors = Object.keys(klipse_editors).map((key) => { - return klipse_editors[key] - }) - - console.log(editors.length, "editors on page") - for (let i = 0; i < editors.length; i++) { - editors[i].on("change", () => { - let thisIsTheUsersChange = editorsOnChangePending === 0 - if (thisIsTheUsersChange) { - editorsOnChangePending = editors.length - let head = editors.slice(0, i) - let tail = editors.slice(i + 1) - let notify = head.concat(tail) - console.log("notifying", notify.length, "editors of change") - notify.forEach((editor) => { - CodeMirror.signal(editor, "change", editor) - }) - } - editorsOnChangePending = editorsOnChangePending - 1 - if (editorsOnChangePending === 0) { - // simple.core.mount_ui() - } - - }) - } -} - -window.addEventListener("load", (event) => { - let handle = setInterval(function() { - if (window.klipse_editors !== undefined) { - clearInterval(handle) - onKlipseLoad() - } - }, 1000) -}) diff --git a/docs/klipse/.gitignore b/docs/klipse/.gitignore deleted file mode 100644 index 0dec61ddd..000000000 --- a/docs/klipse/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/package-lock.json diff --git a/docs/klipse/README.md b/docs/klipse/README.md deleted file mode 100644 index 4195563b0..000000000 --- a/docs/klipse/README.md +++ /dev/null @@ -1,107 +0,0 @@ -# Klipse - -We use [Klipse](https://github.com/viebel/klipse) on some of the pages in the website, so we can provide live coding. - -But, it turned out that this is not straightforward. - -## On The Page - -Those markdown pages which require `klipse` should have the following metadata -placed at the top: - -``` ---- -klipse: true ---- -``` - -Klipse snippets need to use embedded `` HTML markup in markdown so that -the appropriate class can be used for the Klipse library to identify the snippet -for evaluation. - -For ClojureScript snippets use: -``` - -(+ 40 2) - -``` - -For Reagent snippets use: -``` - -[some-view-fn] - -``` - -## Configuration - -`javascripts/klipse_config.js` -Config for Klipse. -Full reference at https://github.com/viebel/klipse#page-level-configuration - -## Dependencies aka CLJS Analysis Cache - -Klipse needs analysis cache and precompiled files provided at a known URL which -is configured by the page level setting `cached_ns_root`. - -There are two distinct sets of files that need to be generated that use different -tooling: - -1. namespaces bundled in [lumo](https://github.com/anmonteiro/lumo); e.g. `cljs.core`, `cljs.test`, `cljs.spec` etc. -2. namespaces not bundled in lumo or in other words library dependencies; e.g. `reagent`, `re-frame` etc. - -[lumo](https://github.com/anmonteiro/lumo) is significant because it provides some customized versions of certain -core namespaces that are compatible with self-hosted ClojureScript. - -Both 1. and 2. are executed via the [GitHub Actions docs workflow](https://github.com/day8/re-frame/blob/feature/mkdocs/.github/workflows/docs-workflow.yml). - -These require specific tooling and versions thereof that have been built -into a [Dockerfile](https://github.com/superstructor/dockerfiles/blob/master/klipse/Dockerfile) -for use with GitHub Actions to build the cache files automatically. - -The specific tools that are included are: -- [JDK](https://adoptopenjdk.net/index.html) 11 -- [lumo](https://github.com/anmonteiro/lumo) 1.5.0 (newer releases do not work, yet) -- [planck](https://github.com/planck-repl/planck) 2.25.0 needs to be compiled from - source as official binaries are only available for Ubuntu which results in large - docker container sizes. -- [node.js](https://nodejs.org/en/) 12.16.x LTS -- [npm](https://www.npmjs.com/) or [yarn](https://yarnpkg.com/) -- native build toolchain for npm to build native addons; e.g. gcc, make, g++ etc. -- [Clojure CLI tools](https://clojure.org/guides/getting_started) -- [Leiningen](https://leiningen.org/) - -It is important to realise that the version of namespaces bundled with lumo will -be the versions depended on by that release of lumo. So to upgrade those namespaces -one needs to upgrade lumo in the [Dockerfile](https://github.com/superstructor/dockerfiles/blob/master/klipse/Dockerfile) -then trigger the [GitHub Actions docs workflow](https://github.com/day8/re-frame/blob/feature/mkdocs/.github/workflows/docs-workflow.yml) -in this repository to re-build the cache files. - -For anything else (e.g. re-frame) there are two files that must have a reference to the -dependency: -1. `docs/klipse/project.clj` specifies the artifact and version -2. `docs/klipse/build-cljs-cache-for-lib-namespaces.cljs` must require the namespaces that - you want to be built. - -After committing and pushing the result [GitHub Actions docs workflow](https://github.com/day8/re-frame/blob/feature/mkdocs/.github/workflows/docs-workflow.yml) -will build and deploy the cache files to GitHub Pages. - -## NPM Dependencies aka React - -Turns out, Planck is not actually compatible with vanilla NPM package require styles like -`(:require [react :as ...` which is used by recent releases of reagent. So when we upgraded reagent past -a certain point, cache files stopped being generated for Klipse. - -Rather than write all the infrastructure to make that work, we preload React by including it in a normal -script tag then fool the compiler that it has been successfully required by providing empty cache files! -Surprisingly this madness actually works. - -The scripts including React are in `docs/theme/main.html`. - -The empty cache files that must exist are: -- `docs/klipse/cljs-cache/react.js` -- `docs/klipse/cljs-cache/react.cache.json` -- `docs/klipse/cljs-cache/react_dom.js` -- `docs/klipse/cljs-cache/react_dom.cache.json` - -If we upgrade reagent we need to manually keep this React version in sync by changing the script tags! diff --git a/docs/klipse/build-cljs-cache-for-core-namespaces.cljs b/docs/klipse/build-cljs-cache-for-core-namespaces.cljs deleted file mode 100644 index 310adf76a..000000000 --- a/docs/klipse/build-cljs-cache-for-core-namespaces.cljs +++ /dev/null @@ -1,20 +0,0 @@ -(ns klipse.generate-cljs-cache - (:require - [cljs.analyzer.api] - [cljs.spec.alpha] - [clojure.string :as string])) - -;; This is sourced from https://github.com/viebel/cljs-analysis-cache/blob/master/generate-clojure-spec-cache.cljs -;; There are multiple copies of this floating around klipse. -;; Minor changes for file paths. - -;; WARNING: This relies on Lumo internals -;; Known to work fine with Lumo 1.5 -;; However is broken on subsequent Lumo versions so will need -;; to be changed to use a different js/lumo.* to obtain cache files. -(let [embedded js/lumo.internal.embedded] - (mapv - (fn [resource] - (let [filename (str "cljs-cache/" (string/replace resource #"[/\\]" "_SLASH_"))] - (js/fs.writeFile filename (js/zlib.inflateSync (.get embedded resource)) #(println "Done: " filename)))) - (filter #(re-matches #"cljs/.*|clojure/.*" %) (.keys embedded)))) diff --git a/docs/klipse/build-cljs-cache-for-core-namespaces.sh b/docs/klipse/build-cljs-cache-for-core-namespaces.sh deleted file mode 100755 index e0db751be..000000000 --- a/docs/klipse/build-cljs-cache-for-core-namespaces.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -lumo build-cljs-cache-for-core-namespaces.cljs diff --git a/docs/klipse/build-cljs-cache-for-lib-namespaces.cljs b/docs/klipse/build-cljs-cache-for-lib-namespaces.cljs deleted file mode 100644 index b151fe79f..000000000 --- a/docs/klipse/build-cljs-cache-for-lib-namespaces.cljs +++ /dev/null @@ -1,8 +0,0 @@ -;; This file only exists to require the namespaces that we want planck to compile into cache files. -(ns klipse.generate-lib-cljs-cache - (:require - [klipse-clj.repl] - [klipse-clj.macros] - [react] - [reagent.core] - [re-frame.core])) diff --git a/docs/klipse/build-cljs-cache-for-lib-namespaces.sh b/docs/klipse/build-cljs-cache-for-lib-namespaces.sh deleted file mode 100755 index e957cb296..000000000 --- a/docs/klipse/build-cljs-cache-for-lib-namespaces.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -# This script uses lein to download the dependencies and build the classpath, then that -# classpath is passed into planck which will write out cache files of the required namespaces -# to the ./cljs-cache directory. This is because planck does not have any support for -# dependency resolution. - -# Prime the local .m2 repository so that stdout of downloads will not be captured in the -# following CLASSPATH variable. -lein deps - -CLASSPATH=`lein classpath` - -planck --cache ./cljs-cache --classpath $CLASSPATH --init build-cljs-cache-for-lib-namespaces.cljs diff --git a/docs/klipse/cljs-cache/.gitignore b/docs/klipse/cljs-cache/.gitignore deleted file mode 100644 index 4ac910703..000000000 --- a/docs/klipse/cljs-cache/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/*.js -/*.json diff --git a/docs/klipse/cljs-cache/.gitkeep b/docs/klipse/cljs-cache/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/klipse/cljs-cache/react.cache.json b/docs/klipse/cljs-cache/react.cache.json deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/klipse/cljs-cache/react.js b/docs/klipse/cljs-cache/react.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/klipse/cljs-cache/react_dom.cache.json b/docs/klipse/cljs-cache/react_dom.cache.json deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/klipse/cljs-cache/react_dom.js b/docs/klipse/cljs-cache/react_dom.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/klipse/project.clj b/docs/klipse/project.clj deleted file mode 100644 index 8752efea0..000000000 --- a/docs/klipse/project.clj +++ /dev/null @@ -1,19 +0,0 @@ -(defproject klipse-cache-ns "0.0.1" - :description "cache ns for bootstrap cljs" - :dependencies [[org.clojure/clojure "1.10.1"] - [org.clojure/clojurescript "1.10.748"] - [andare "1.1.587"] - [viebel/gadjett "0.5.13"] - [viebel/klipse-clj "10.1.8"] - [com.cemerick/url "0.1.1"] - [rewrite-cljs "0.4.4"] - [re-frame "0.12.0"] - [com.andrewmcveigh/cljs-time "0.5.2"] - [org.clojure/test.check "1.0.0"] - ;; CRITICAL: If upgrading reagent React versions MUST manually be kept in sync. - ;; See docs/klipse/README.md! Do it. Don't ignore this comment. - [reagent "0.10.0"] - [viebel/poppea "0.2.1"] - [expound "0.8.4"]] - :npm {:dependencies [["@pupeno/xmlhttprequest" "1.7.0"]]} - :plugins [[lein-npm "0.6.2"]]) diff --git a/docs/stylesheets/codemirror.css b/docs/stylesheets/codemirror.css deleted file mode 100644 index 0205e8a55..000000000 --- a/docs/stylesheets/codemirror.css +++ /dev/null @@ -1,375 +0,0 @@ -/* BASICS */ - -.CodeMirror { - /* Set height, width, borders, and global font properties here */ - font-family: 'Source Code Pro', monospace; - height: 100%; - color: black; - border: solid 1px #90B4FE; -} - -/* PADDING */ -/* PADDING */ - -.CodeMirror-lines { - padding: 4px 0; /* Vertical padding around content */ -} -.CodeMirror pre { - padding: 0 4px; /* Horizontal padding of content */ -} - -.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { - background-color: white; /* The little square between H and V scrollbars */ -} - -/* GUTTER */ - -.CodeMirror-gutters { - border-right: 1px solid #ddd; - background-color: #f7f7f7; - white-space: nowrap; -} -.CodeMirror-linenumbers {} -.CodeMirror-linenumber { - padding: 0 3px 0 5px; - min-width: 20px; - text-align: right; - color: #999; - white-space: nowrap; -} - -.CodeMirror-guttermarker { color: black; } -.CodeMirror-guttermarker-subtle { color: #999; } - -/* CURSOR */ - -.CodeMirror-cursor { - border-left: 1px solid black; - border-right: none; - width: 0; -} -/* Shown when moving in bi-directional text */ -.CodeMirror div.CodeMirror-secondarycursor { - border-left: 1px solid silver; -} -.cm-fat-cursor .CodeMirror-cursor { - width: auto; - border: 0; - background: #7e7; -} -.cm-fat-cursor div.CodeMirror-cursors { - z-index: 1; -} - -.cm-animate-fat-cursor { - width: auto; - border: 0; - -webkit-animation: blink 1.06s steps(1) infinite; - -moz-animation: blink 1.06s steps(1) infinite; - animation: blink 1.06s steps(1) infinite; - background-color: #7e7; -} -@-moz-keyframes blink { - 0% {} - 50% { background-color: transparent; } - 100% {} -} -@-webkit-keyframes blink { - 0% {} - 50% { background-color: transparent; } - 100% {} -} -@keyframes blink { - 0% {} - 50% { background-color: transparent; } - 100% {} -} - -/* Can style cursor different in overwrite (non-insert) mode */ -.CodeMirror-overwrite .CodeMirror-cursor {} - -.cm-tab { display: inline-block; text-decoration: inherit; } - -.CodeMirror-ruler { - border-left: 1px solid #ccc; - position: absolute; -} - -/* DEFAULT THEME */ - -.cm-s-default .cm-header {color: blue;} -.cm-s-default .cm-quote {color: #090;} -.cm-negative {color: #d44;} -.cm-positive {color: #292;} -.cm-header, .cm-strong {font-weight: bold;} -.cm-em {font-style: italic;} -.cm-link {text-decoration: underline;} -.cm-strikethrough {text-decoration: line-through;} - -.cm-s-default .cm-keyword {color: #708;} -.cm-s-default .cm-atom {color: #219;} -.cm-s-default .cm-number {color: #164;} -.cm-s-default .cm-def {color: #00f;} -.cm-s-default .cm-variable, -.cm-s-default .cm-punctuation, -.cm-s-default .cm-property, -.cm-s-default .cm-operator {} -.cm-s-default .cm-variable-2 {color: #05a;} -.cm-s-default .cm-variable-3 {color: #085;} -.cm-s-default .cm-comment {color: #a50;} -.cm-s-default .cm-string {color: #a11;} -.cm-s-default .cm-string-2 {color: #f50;} -.cm-s-default .cm-meta {color: #555;} -.cm-s-default .cm-qualifier {color: #555;} -.cm-s-default .cm-builtin {color: #30a;} -.cm-s-default .cm-bracket {color: #997;} -.cm-s-default .cm-tag {color: #170;} -.cm-s-default .cm-attribute {color: #00c;} -.cm-s-default .cm-hr {color: #999;} -.cm-s-default .cm-link {color: #00c;} - -.cm-s-default .cm-error {color: #f00;} -.cm-invalidchar {color: #f00;} - -.CodeMirror-composing { border-bottom: 2px solid; } - -/* Default styles for common addons */ - -div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;} -div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;} -.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); } -.CodeMirror-activeline-background {background: #e8f2ff;} - -/* STOP */ - -/* The rest of this file contains styles related to the mechanics of - the editor. You probably shouldn't touch them. */ - -.CodeMirror { - position: relative; - overflow: hidden; - background: white; -} - -.CodeMirror-scroll { - overflow: scroll !important; /* Things will break if this is overridden */ - /* 30px is the magic margin used to hide the element's real scrollbars */ - /* See overflow: hidden in .CodeMirror */ - margin-bottom: -30px; margin-right: -30px; - padding-bottom: 30px; - height: 100%; - outline: none; /* Prevent dragging from highlighting the element */ - position: relative; -} -.CodeMirror-sizer { - position: relative; - border-right: 30px solid transparent; -} - -/* The fake, visible scrollbars. Used to force redraw during scrolling - before actual scrolling happens, thus preventing shaking and - flickering artifacts. */ -.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { - position: absolute; - z-index: 6; - display: none; -} -.CodeMirror-vscrollbar { - right: 0; top: 0; - overflow-x: hidden; - overflow-y: scroll; -} -.CodeMirror-hscrollbar { - bottom: 0; left: 0; - overflow-y: hidden; - overflow-x: scroll; -} -.CodeMirror-scrollbar-filler { - right: 0; bottom: 0; -} -.CodeMirror-gutter-filler { - left: 0; bottom: 0; -} - -.CodeMirror-gutters { - position: absolute; left: 0; top: 0; - z-index: 3; -} -.CodeMirror-gutter { - white-space: normal; - height: 100%; - display: inline-block; - margin-bottom: -30px; - /* Hack to make IE7 behave */ - *zoom:1; - *display:inline; -} -.CodeMirror-gutter-wrapper { - position: absolute; - z-index: 4; - background: none !important; - border: none !important; -} -.CodeMirror-gutter-background { - position: absolute; - top: 0; bottom: 0; - z-index: 4; -} -.CodeMirror-gutter-elt { - position: absolute; - cursor: default; - z-index: 4; -} -.CodeMirror-gutter-wrapper { - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} - -.CodeMirror-lines { - cursor: text; - min-height: 1px; /* prevents collapsing before first draw */ -} -.CodeMirror pre { - /* Reset some styles that the rest of the page might have set */ - -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; - border-width: 0; - background: transparent; - font-family: inherit; - font-size: inherit; - margin: 0; - white-space: pre; - word-wrap: normal; - line-height: inherit; - color: inherit; - z-index: 1; - position: relative; - overflow: visible; - -webkit-tap-highlight-color: transparent; -} -.CodeMirror-wrap pre { - word-wrap: break-word; - white-space: pre-wrap; - word-break: normal; -} - -.CodeMirror-linebackground { - position: absolute; - left: 0; right: 0; top: 0; bottom: 0; - z-index: 0; -} - -.CodeMirror-linewidget { - position: relative; - z-index: 2; - overflow: auto; -} - -.CodeMirror-widget {} - -.CodeMirror-code { - outline: none; -} - -/* Force content-box sizing for the elements where we expect it */ -.CodeMirror-scroll, -.CodeMirror-sizer, -.CodeMirror-gutter, -.CodeMirror-gutters, -.CodeMirror-linenumber { - -moz-box-sizing: content-box; - box-sizing: content-box; -} - -.CodeMirror-measure { - position: absolute; - width: 100%; - height: 0; - overflow: hidden; - visibility: hidden; -} - -.CodeMirror-cursor { position: absolute; } -.CodeMirror-measure pre { position: static; } - -div.CodeMirror-cursors { - visibility: hidden; - position: relative; - z-index: 3; -} -div.CodeMirror-dragcursors { - visibility: visible; -} - -.CodeMirror-focused div.CodeMirror-cursors { - visibility: visible; -} - -.CodeMirror-selected { background: #d9d9d9; } -.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; } -.CodeMirror-crosshair { cursor: crosshair; } -.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; } -.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; } - -.cm-searching { - background: #ffa; - background: rgba(255, 255, 0, .4); -} - -/* IE7 hack to prevent it from returning funny offsetTops on the spans */ -.CodeMirror span { *vertical-align: text-bottom; } - -/* Used to force a border model for a node */ -.cm-force-border { padding-right: .1px; } - -@media print { - /* Hide the cursor when printing */ - .CodeMirror div.CodeMirror-cursors { - visibility: hidden; - } -} - -/* See issue #2901 */ -.cm-tab-wrap-hack:after { content: ''; } - -/* Help users use markselection to safely style text background */ -span.CodeMirror-selectedtext { background: none; } - -/* rules for autocompletio add on */ -.CodeMirror-hints { - position: absolute; - z-index: 10; - overflow: hidden; - list-style: none; - - margin: 0; - padding: 2px; - - -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2); - -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2); - box-shadow: 2px 3px 5px rgba(0,0,0,.2); - border-radius: 3px; - border: 1px solid silver; - - background: white; - font-size: 90%; - font-family: monospace; - - max-height: 20em; - overflow-y: auto; -} - -.CodeMirror-hint { - margin: 0; - padding: 0 4px; - border-radius: 2px; - white-space: pre; - color: black; - cursor: pointer; -} - -li.CodeMirror-hint-active { - background: #08f; - color: white; -} -/* rules for autocompletio add on */ diff --git a/docs/stylesheets/klipse.css b/docs/stylesheets/klipse.css deleted file mode 100644 index 016417b35..000000000 --- a/docs/stylesheets/klipse.css +++ /dev/null @@ -1,28 +0,0 @@ -.klipse-snippet, -.klipse-result, -.codehilite code { - font-family: 'Source Code Pro', monospace; - font-size: 15px; -} - -.klipse-snippet { - padding-top: 7px; - padding-bottom: 7px; -} - -.klipse-result, -.klipse-container { - padding-bottom: 7px; -} - -.klipse-snippet, -.klipse-result, -.klipse-container { - padding-left: 7px; - padding-right: 7px; - background-color: #EEEEEE; -} - -.klipse-separator { - display: none; -} diff --git a/docs/theme/main.html b/docs/theme/main.html index 5bc8f2335..6b1db6ca6 100644 --- a/docs/theme/main.html +++ b/docs/theme/main.html @@ -10,12 +10,6 @@ {% endif %} {% endblock %} -{% block libs %} - {% if page and page.meta and page.meta.klipse %} - - - {% endif %} -{% endblock %}