{:rename-macros {}, :renames {}, :externs {Error {}, goog {string {StringBuffer {prototype {append {}}}}}}, :use-macros {}, :excludes #{cat * or merge keys + and def}, :name cljs.spec.alpha, :imports nil, :requires {cljs.core cljs.core, gobj goog.object, goog.object goog.object, walk clojure.walk, gen cljs.spec.gen.alpha, c cljs.core, str clojure.string, clojure.string clojure.string, clojure.walk clojure.walk, cljs.spec.gen.alpha cljs.spec.gen.alpha}, :cljs.spec/speced-vars [], :uses nil, :defs {form {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 162, :column 7, :end-line 162, :end-column 11, :arglists (quote ([spec])), :doc "returns the spec as data"}, :name cljs.spec.alpha/form, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 11, :method-params ([spec]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 162, :end-line 162, :max-fixed-arity 1, :fn-var true, :arglists (quote ([spec])), :doc "returns the spec as data"}, nilable-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1360, :column 19, :end-line 1360, :end-column 31, :skip-wiki true, :arglists (quote ([form pred gfn])), :doc "Do not call this directly, use 'nilable'"}, :name cljs.spec.alpha/nilable-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 31, :method-params ([form pred gfn]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 1360, :end-line 1360, :max-fixed-arity 3, :fn-var true, :arglists (quote ([form pred gfn])), :doc "Do not call this directly, use 'nilable'"}, *recursion-limit* {:meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 21, :column 16, :end-line 21, :end-column 33, :dynamic true}, :name cljs.spec.alpha/*recursion-limit*, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 33, :column 1, :dynamic true, :line 21, :end-line 21, :tag number, :doc "A soft limit on how many times a branching spec (or/alt/*/opt-keys/multi-spec)\n can be recursed through during generation. After this a\n non-recursive branch will be chosen."}, *coll-error-limit* {:meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 35, :column 16, :end-line 35, :end-column 34, :dynamic true}, :name cljs.spec.alpha/*coll-error-limit*, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 34, :column 1, :dynamic true, :line 35, :end-line 35, :tag number, :doc "The number of errors reported by explain in a collection spec'ed with 'every'"}, explain-printer {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 216, :column 7, :end-line 216, :end-column 22, :arglists (quote ([ed])), :doc "Default printer for explain-data. nil indicates a successful validation."}, :name cljs.spec.alpha/explain-printer, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 22, :method-params ([ed]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 216, :end-line 216, :max-fixed-arity 1, :fn-var true, :arglists (quote ([ed])), :doc "Default printer for explain-data. nil indicates a successful validation."}, op-explain {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1112, :column 8, :end-line 1112, :end-column 18, :private true, :arglists (quote ([form p path via in input]))}, :private true, :name cljs.spec.alpha/op-explain, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 18, :method-params ([form p path via in input]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1112, :end-line 1112, :max-fixed-arity 6, :fn-var true, :arglists (quote ([form p path via in input]))}, Specize {:meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 123, :column 14, :end-line 123, :end-column 21, :doc nil, :protocol-symbol true, :jsdoc ("@interface"), :protocol-info {:methods {specize* [[_] [_ form]]}}}, :protocol-symbol true, :name cljs.spec.alpha/Specize, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 21, :column 1, :line 123, :protocol-info {:methods {specize* [[_] [_ form]]}}, :info nil, :end-line 123, :tag any, :impls #{cljs.spec.alpha/t_cljs$spec$alpha39511 cljs.spec.alpha/t_cljs$spec$alpha39562 cljs.spec.alpha/t_cljs$spec$alpha39575 cljs.spec.alpha/t_cljs$spec$alpha39580 cljs.core/Keyword cljs.spec.alpha/t_cljs$spec$alpha39630 cljs.spec.alpha/t_cljs$spec$alpha39806 cljs.spec.alpha/t_cljs$spec$alpha39825 default cljs.spec.alpha/t_cljs$spec$alpha39552 cljs.spec.alpha/t_cljs$spec$alpha39813 cljs.spec.alpha/t_cljs$spec$alpha39828 cljs.core/Symbol cljs.spec.alpha/t_cljs$spec$alpha39641 cljs.spec.alpha/t_cljs$spec$alpha39653}, :doc nil, :jsdoc ("@interface")}, alt-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 996, :column 19, :end-line 996, :end-column 27, :skip-wiki true, :arglists (quote ([ks ps forms])), :doc "Do not call this directly, use 'alt'"}, :name cljs.spec.alpha/alt-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 27, :method-params ([ks ps forms]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 996, :end-line 996, :max-fixed-arity 3, :fn-var true, :arglists (quote ([ks ps forms])), :doc "Do not call this directly, use 'alt'"}, tagged-ret {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 607, :column 8, :end-line 607, :end-column 18, :private true, :arglists (quote ([v]))}, :private true, :name cljs.spec.alpha/tagged-ret, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 18, :method-params ([v]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 607, :end-line 607, :max-fixed-arity 1, :fn-var true, :arglists (quote ([v]))}, pvalid? {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 365, :column 8, :end-line 365, :end-column 15, :private true, :arglists (quote ([pred x] [pred x form])), :doc "internal helper function that returns true when x is valid for spec.", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([pred x] [pred x form]), :arglists ([pred x] [pred x form]), :arglists-meta (nil nil)}}, :private true, :name cljs.spec.alpha/pvalid?, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 15, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([pred x] [pred x form]), :arglists ([pred x] [pred x form]), :arglists-meta (nil nil)}, :method-params ([pred x] [pred x form]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 365, :end-line 365, :max-fixed-arity 3, :fn-var true, :arglists ([pred x] [pred x form]), :doc "internal helper function that returns true when x is valid for spec."}, def-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 293, :column 19, :end-line 293, :end-column 27, :skip-wiki true, :arglists (quote ([k form spec])), :doc "Do not call this directly, use 'def'"}, :name cljs.spec.alpha/def-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 27, :method-params ([k form spec]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 293, :end-line 293, :max-fixed-arity 3, :fn-var true, :arglists (quote ([k form spec])), :doc "Do not call this directly, use 'def'"}, *explain-out* {:name cljs.spec.alpha/*explain-out*, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 249, :column 1, :end-line 249, :end-column 29, :dynamic true, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 249, :column 16, :end-line 249, :end-column 29, :dynamic true}}, *runtime-asserts* {:meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1432, :column 3, :end-line 1432, :end-column 20, :private true, :dynamic true}, :private true, :name cljs.spec.alpha/*runtime-asserts*, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 20, :column 1, :dynamic true, :line 1430, :end-line 1432, :tag boolean}, regex-spec-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1244, :column 19, :end-line 1244, :end-column 34, :skip-wiki true, :arglists (quote ([re gfn])), :doc "Do not call this directly, use 'spec' with a regex op argument"}, :name cljs.spec.alpha/regex-spec-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 34, :method-params ([re gfn]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 1244, :end-line 1244, :max-fixed-arity 2, :fn-var true, :arglists (quote ([re gfn])), :doc "Do not call this directly, use 'spec' with a regex op argument"}, merge-spec-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 767, :column 19, :end-line 767, :end-column 34, :skip-wiki true, :arglists (quote ([forms preds gfn])), :doc "Do not call this directly, use 'merge'"}, :name cljs.spec.alpha/merge-spec-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 34, :method-params ([forms preds gfn]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 767, :end-line 767, :max-fixed-arity 3, :fn-var true, :arglists (quote ([forms preds gfn])), :doc "Do not call this directly, use 'merge'"}, explain-data* {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 200, :column 7, :end-line 200, :end-column 20, :arglists (quote ([spec path via in x]))}, :name cljs.spec.alpha/explain-data*, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 20, :method-params ([spec path via in x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 200, :end-line 200, :max-fixed-arity 5, :fn-var true, :arglists (quote ([spec path via in x]))}, add-ret {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1063, :column 8, :end-line 1063, :end-column 15, :private true, :arglists (quote ([p r k]))}, :private true, :name cljs.spec.alpha/add-ret, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 15, :method-params ([p r k]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1063, :end-line 1063, :max-fixed-arity 3, :fn-var true, :arglists (quote ([p r k]))}, explain-pred-list {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 692, :column 8, :end-line 692, :end-column 25, :private true, :arglists (quote ([forms preds path via in x]))}, :private true, :name cljs.spec.alpha/explain-pred-list, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 25, :method-params ([forms preds path via in x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 692, :end-line 692, :max-fixed-arity 6, :fn-var true, :arglists (quote ([forms preds path via in x]))}, MAX_INT {:meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 19, :column 14, :end-line 19, :end-column 21, :const true}, :name cljs.spec.alpha/MAX_INT, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 21, :const-expr {:op :constant, :env {:context :expr}, :form 9007199254740991, :tag number}, :column 1, :const true, :line 19, :end-line 19, :tag number}, t_cljs$spec$alpha39562 {:num-fields 9, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/t_cljs$spec$alpha39562, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :type true, :anonymous true, :column 6, :line 507, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, check-asserts {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1440, :column 7, :end-line 1440, :end-column 20, :arglists (quote ([flag])), :doc "Enable or disable spec asserts that have been compiled\nwith '*compile-asserts*' true. See 'assert'.\nInitially set to boolean value of cljs.spec.alpha/*runtime-asserts*.\nDefaults to false."}, :name cljs.spec.alpha/check-asserts, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 20, :method-params ([flag]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1440, :end-line 1440, :max-fixed-arity 1, :fn-var true, :arglists (quote ([flag])), :doc "Enable or disable spec asserts that have been compiled\nwith '*compile-asserts*' true. See 'assert'.\nInitially set to boolean value of cljs.spec.alpha/*runtime-asserts*.\nDefaults to false."}, alt2 {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 994, :column 8, :end-line 994, :end-column 12, :private true, :arglists (quote ([p1 p2]))}, :private true, :name cljs.spec.alpha/alt2, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 12, :method-params ([p1 p2]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 994, :end-line 994, :max-fixed-arity 2, :fn-var true, :arglists (quote ([p1 p2]))}, t_cljs$spec$alpha39630 {:num-fields 6, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/t_cljs$spec$alpha39630, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :type true, :anonymous true, :column 5, :line 734, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, assert* {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1448, :column 7, :end-line 1448, :end-column 14, :arglists (quote ([spec x])), :doc "Do not call this directly, use 'assert'."}, :name cljs.spec.alpha/assert*, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 14, :method-params ([spec x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1448, :end-line 1448, :max-fixed-arity 2, :fn-var true, :arglists (quote ([spec x])), :doc "Do not call this directly, use 'assert'."}, inst-in-range? {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1395, :column 7, :end-line 1395, :end-column 21, :arglists (quote ([start end inst])), :doc "Return true if inst at or after start and before end"}, :name cljs.spec.alpha/inst-in-range?, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 21, :method-params ([start end inst]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1395, :end-line 1395, :max-fixed-arity 3, :fn-var true, :arglists (quote ([start end inst])), :doc "Return true if inst at or after start and before end"}, registry-ref {:name cljs.spec.alpha/registry-ref, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 47, :column 1, :end-line 47, :end-column 32, :private true, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 47, :column 20, :end-line 47, :end-column 32, :private true}, :tag any}, accept? {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 931, :column 8, :end-line 931, :end-column 15, :private true, :arglists (quote ([{:keys [:cljs.spec.alpha/op]}]))}, :private true, :name cljs.spec.alpha/accept?, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 15, :method-params ([p__39692]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 931, :end-line 931, :max-fixed-arity 1, :fn-var true, :arglists (quote ([{:keys [:cljs.spec.alpha/op]}]))}, ->t_cljs$spec$alpha39825 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([spec meta39826])), :file nil}, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/->t_cljs$spec$alpha39825, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :method-params ([spec meta39826]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 5, :factory :positional, :line 1344, :max-fixed-arity 2, :fn-var true, :arglists (quote ([spec meta39826])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, and-spec-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 703, :column 19, :end-line 703, :end-column 32, :skip-wiki true, :arglists (quote ([forms preds gfn])), :doc "Do not call this directly, use 'and'"}, :name cljs.spec.alpha/and-spec-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 32, :method-params ([forms preds gfn]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 703, :end-line 703, :max-fixed-arity 3, :fn-var true, :arglists (quote ([forms preds gfn])), :doc "Do not call this directly, use 'and'"}, accept {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 929, :column 8, :end-line 929, :end-column 14, :private true, :arglists (quote ([x]))}, :private true, :name cljs.spec.alpha/accept, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 14, :method-params ([x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 929, :end-line 929, :max-fixed-arity 1, :fn-var true, :arglists (quote ([x]))}, recur-limit? {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 336, :column 8, :end-line 336, :end-column 20, :private true, :arglists (quote ([rmap id path k]))}, :private true, :name cljs.spec.alpha/recur-limit?, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 20, :method-params ([rmap id path k]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 336, :end-line 336, :max-fixed-arity 4, :fn-var true, :arglists (quote ([rmap id path k]))}, t_cljs$spec$alpha39825 {:num-fields 2, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/t_cljs$spec$alpha39825, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :type true, :anonymous true, :column 5, :line 1344, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, describe* {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 45, :column 4, :end-line 45, :end-column 13, :protocol cljs.spec.alpha/Spec, :doc nil, :arglists (quote ([spec]))}, :protocol cljs.spec.alpha/Spec, :name cljs.spec.alpha/describe*, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 13, :method-params ([spec]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 39, :end-line 45, :max-fixed-arity 1, :fn-var true, :arglists (quote ([spec])), :doc nil}, map-spec-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 379, :column 19, :end-line 379, :end-column 32, :skip-wiki true, :arglists (quote ([{:keys [req-un opt-un keys-pred pred-exprs opt-keys req-specs req req-keys opt-specs pred-forms opt gfn], :as argm}])), :doc "Do not call this directly, use 'spec' with a map argument"}, :name cljs.spec.alpha/map-spec-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 32, :method-params ([p__39508]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 379, :end-line 379, :max-fixed-arity 1, :fn-var true, :arglists (quote ([{:keys [req-un opt-un keys-pred pred-exprs opt-keys req-specs req req-keys opt-specs pred-forms opt gfn], :as argm}])), :doc "Do not call this directly, use 'spec' with a map argument"}, t_cljs$spec$alpha39653 {:num-fields 25, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/t_cljs$spec$alpha39653, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :type true, :anonymous true, :column 6, :line 833, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, reg-resolve! {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 66, :column 8, :end-line 66, :end-column 20, :private true, :arglists (quote ([k])), :doc "returns the spec/regex at end of alias chain starting with k, throws if not found, k if k not ident"}, :private true, :name cljs.spec.alpha/reg-resolve!, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 20, :method-params ([k]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 66, :end-line 66, :max-fixed-arity 1, :fn-var true, :arglists (quote ([k])), :doc "returns the spec/regex at end of alias chain starting with k, throws if not found, k if k not ident"}, re-explain {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1218, :column 8, :end-line 1218, :end-column 18, :private true, :arglists (quote ([path via in re input]))}, :private true, :name cljs.spec.alpha/re-explain, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 18, :method-params ([path via in re input]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1218, :end-line 1218, :max-fixed-arity 5, :fn-var true, :arglists (quote ([path via in re input]))}, alts {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 993, :column 8, :end-line 993, :end-column 12, :private true, :arglists (quote ([& ps])), :top-fn {:variadic true, :max-fixed-arity 0, :method-params [(ps)], :arglists ([& ps]), :arglists-meta (nil)}}, :private true, :name cljs.spec.alpha/alts, :variadic true, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 12, :top-fn {:variadic true, :max-fixed-arity 0, :method-params [(ps)], :arglists ([& ps]), :arglists-meta (nil)}, :method-params [(ps)], :protocol-impl nil, :arglists-meta (nil), :column 1, :line 993, :end-line 993, :max-fixed-arity 0, :fn-var true, :arglists ([& ps])}, ->t_cljs$spec$alpha39575 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([forms preds gfn specs cnt meta39576])), :file nil}, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/->t_cljs$spec$alpha39575, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :method-params ([forms preds gfn specs cnt meta39576]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 6, :factory :positional, :line 551, :max-fixed-arity 6, :fn-var true, :arglists (quote ([forms preds gfn specs cnt meta39576])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, t_cljs$spec$alpha39813 {:num-fields 9, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta cljs.core/ILookup}, :name cljs.spec.alpha/t_cljs$spec$alpha39813, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :type true, :anonymous true, :column 5, :line 1296, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta cljs.core/ILookup}}, with-name {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 85, :column 8, :end-line 85, :end-column 17, :private true, :arglists (quote ([spec name]))}, :private true, :name cljs.spec.alpha/with-name, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 17, :method-params ([spec name]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 85, :end-line 85, :max-fixed-arity 2, :fn-var true, :arglists (quote ([spec name]))}, ->t_cljs$spec$alpha39630 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([forms preds gfn specs cform meta39631])), :file nil}, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/->t_cljs$spec$alpha39630, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :method-params ([forms preds gfn specs cform meta39631]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 5, :factory :positional, :line 734, :max-fixed-arity 6, :fn-var true, :arglists (quote ([forms preds gfn specs cform meta39631])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, explain {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 257, :column 7, :end-line 257, :end-column 14, :arglists (quote ([spec x])), :doc "Given a spec and a value that fails to conform, prints an explanation to *out*."}, :name cljs.spec.alpha/explain, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 14, :method-params ([spec x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 257, :end-line 257, :max-fixed-arity 2, :fn-var true, :arglists (quote ([spec x])), :doc "Given a spec and a value that fails to conform, prints an explanation to *out*."}, spec-name {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 93, :column 8, :end-line 93, :end-column 17, :private true, :arglists (quote ([spec]))}, :private true, :name cljs.spec.alpha/spec-name, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 17, :method-params ([spec]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 93, :end-line 93, :max-fixed-arity 1, :fn-var true, :arglists (quote ([spec]))}, map-spec {:name cljs.spec.alpha/map-spec, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 320, :column 1, :end-line 320, :end-column 18, :declared true, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 320, :column 10, :end-line 320, :end-column 18, :declared true}}, ->t_cljs$spec$alpha39562 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([form mmvar retag gfn id predx dval tag meta39563])), :file nil}, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/->t_cljs$spec$alpha39562, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :method-params ([form mmvar retag gfn id predx dval tag meta39563]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 6, :factory :positional, :line 507, :max-fixed-arity 9, :fn-var true, :arglists (quote ([form mmvar retag gfn id predx dval tag meta39563])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, ->t_cljs$spec$alpha39580 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([keys forms preds gfn id kps specs cform meta39581])), :file nil}, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/->t_cljs$spec$alpha39580, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :method-params ([keys forms preds gfn id kps specs cform meta39581]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 5, :factory :positional, :line 651, :max-fixed-arity 9, :fn-var true, :arglists (quote ([keys forms preds gfn id kps specs cform meta39581])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, with-gen* {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 44, :column 4, :end-line 44, :end-column 13, :protocol cljs.spec.alpha/Spec, :doc nil, :arglists (quote ([spec gfn]))}, :protocol cljs.spec.alpha/Spec, :name cljs.spec.alpha/with-gen*, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 13, :method-params ([spec gfn]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 39, :end-line 44, :max-fixed-arity 2, :fn-var true, :arglists (quote ([spec gfn])), :doc nil}, t_cljs$spec$alpha39552 {:num-fields 6, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/t_cljs$spec$alpha39552, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :type true, :anonymous true, :column 6, :line 471, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, or-spec-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 613, :column 19, :end-line 613, :end-column 31, :skip-wiki true, :arglists (quote ([keys forms preds gfn])), :doc "Do not call this directly, use 'or'"}, :name cljs.spec.alpha/or-spec-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 31, :method-params ([keys forms preds gfn]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 613, :end-line 613, :max-fixed-arity 4, :fn-var true, :arglists (quote ([keys forms preds gfn])), :doc "Do not call this directly, use 'or'"}, specize {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 140, :column 8, :end-line 140, :end-column 15, :private true, :arglists (quote ([s] [s form])), :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([s] [s form]), :arglists ([s] [s form]), :arglists-meta (nil nil)}}, :private true, :name cljs.spec.alpha/specize, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 15, :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([s] [s form]), :arglists ([s] [s form]), :arglists-meta (nil nil)}, :method-params ([s] [s form]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 140, :end-line 140, :max-fixed-arity 2, :fn-var true, :arglists ([s] [s form])}, *fspec-iterations* {:meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 27, :column 16, :end-line 27, :end-column 34, :dynamic true}, :name cljs.spec.alpha/*fspec-iterations*, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 34, :column 1, :dynamic true, :line 27, :end-line 27, :tag number, :doc "The number of times an anonymous fn specified by fspec will be (generatively) tested during conform"}, Spec {:meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 39, :column 14, :end-line 39, :end-column 18, :doc nil, :protocol-symbol true, :jsdoc ("@interface"), :protocol-info {:methods {conform* [[spec x]], unform* [[spec y]], explain* [[spec path via in x]], gen* [[spec overrides path rmap]], with-gen* [[spec gfn]], describe* [[spec]]}}}, :protocol-symbol true, :name cljs.spec.alpha/Spec, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 18, :column 1, :line 39, :protocol-info {:methods {conform* [[spec x]], unform* [[spec y]], explain* [[spec path via in x]], gen* [[spec overrides path rmap]], with-gen* [[spec gfn]], describe* [[spec]]}}, :info nil, :end-line 39, :tag any, :impls #{cljs.spec.alpha/t_cljs$spec$alpha39511 cljs.spec.alpha/t_cljs$spec$alpha39562 cljs.spec.alpha/t_cljs$spec$alpha39575 cljs.spec.alpha/t_cljs$spec$alpha39580 cljs.spec.alpha/t_cljs$spec$alpha39630 cljs.spec.alpha/t_cljs$spec$alpha39806 cljs.spec.alpha/t_cljs$spec$alpha39825 cljs.spec.alpha/t_cljs$spec$alpha39552 cljs.spec.alpha/t_cljs$spec$alpha39813 cljs.spec.alpha/t_cljs$spec$alpha39828 cljs.spec.alpha/t_cljs$spec$alpha39641 cljs.spec.alpha/t_cljs$spec$alpha39653}, :doc nil, :jsdoc ("@interface")}, unform {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 155, :column 7, :end-line 155, :end-column 13, :arglists (quote ([spec x])), :doc "Given a spec and a value created by or compliant with a call to\n 'conform' with the same spec, returns a value with all conform\n destructuring undone."}, :name cljs.spec.alpha/unform, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 13, :method-params ([spec x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 155, :end-line 155, :max-fixed-arity 2, :fn-var true, :arglists (quote ([spec x])), :doc "Given a spec and a value created by or compliant with a call to\n 'conform' with the same spec, returns a value with all conform\n destructuring undone."}, ->t_cljs$spec$alpha39813 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta cljs.core/ILookup}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta cljs.core/ILookup}, :factory :positional, :arglists (quote ([argspec aform retspec rform fnspec fform gfn specs meta39814])), :file nil}, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta cljs.core/ILookup}, :name cljs.spec.alpha/->t_cljs$spec$alpha39813, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :method-params ([argspec aform retspec rform fnspec fform gfn specs meta39814]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 5, :factory :positional, :line 1296, :max-fixed-arity 9, :fn-var true, :arglists (quote ([argspec aform retspec rform fnspec fform gfn specs meta39814])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta cljs.core/ILookup}}, valid? {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 356, :column 7, :end-line 356, :end-column 13, :arglists (quote ([spec x] [spec x form])), :doc "Helper function that returns true when x is valid for spec.", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([spec x] [spec x form]), :arglists ([spec x] [spec x form]), :arglists-meta (nil nil)}}, :name cljs.spec.alpha/valid?, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 13, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([spec x] [spec x form]), :arglists ([spec x] [spec x form]), :arglists-meta (nil nil)}, :method-params ([spec x] [spec x form]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 356, :end-line 356, :max-fixed-arity 3, :fn-var true, :arglists ([spec x] [spec x form]), :doc "Helper function that returns true when x is valid for spec."}, gen {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 280, :column 7, :end-line 280, :end-column 10, :arglists (quote ([spec] [spec overrides])), :doc "Given a spec, returns the generator for it, or throws if none can\n be constructed. Optionally an overrides map can be provided which\n should map spec names or paths (vectors of keywords) to no-arg\n generator-creating fns. These will be used instead of the generators at those\n names/paths. Note that parent generator (in the spec or overrides\n map) will supersede those of any subtrees. A generator for a regex\n op must always return a sequential collection (i.e. a generator for\n s/? should return either an empty sequence/vector or a\n sequence/vector with one item in it)", :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([spec] [spec overrides]), :arglists ([spec] [spec overrides]), :arglists-meta (nil nil)}}, :name cljs.spec.alpha/gen, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 10, :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([spec] [spec overrides]), :arglists ([spec] [spec overrides]), :arglists-meta (nil nil)}, :method-params ([spec] [spec overrides]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 280, :end-line 280, :max-fixed-arity 2, :fn-var true, :arglists ([spec] [spec overrides]), :doc "Given a spec, returns the generator for it, or throws if none can\n be constructed. Optionally an overrides map can be provided which\n should map spec names or paths (vectors of keywords) to no-arg\n generator-creating fns. These will be used instead of the generators at those\n names/paths. Note that parent generator (in the spec or overrides\n map) will supersede those of any subtrees. A generator for a regex\n op must always return a sequential collection (i.e. a generator for\n s/? should return either an empty sequence/vector or a\n sequence/vector with one item in it)"}, nonconforming {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1339, :column 7, :end-line 1339, :end-column 20, :arglists (quote ([spec])), :doc "takes a spec and returns a spec that has the same properties except\n 'conform' returns the original (not the conformed) value. Note, will specize regex ops."}, :name cljs.spec.alpha/nonconforming, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 20, :method-params ([spec]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1339, :end-line 1339, :max-fixed-arity 1, :fn-var true, :arglists (quote ([spec])), :doc "takes a spec and returns a spec that has the same properties except\n 'conform' returns the original (not the conformed) value. Note, will specize regex ops."}, unform* {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 41, :column 4, :end-line 41, :end-column 11, :protocol cljs.spec.alpha/Spec, :doc nil, :arglists (quote ([spec y]))}, :protocol cljs.spec.alpha/Spec, :name cljs.spec.alpha/unform*, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 11, :method-params ([spec y]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 39, :end-line 41, :max-fixed-arity 2, :fn-var true, :arglists (quote ([spec y])), :doc nil}, t_cljs$spec$alpha39580 {:num-fields 9, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/t_cljs$spec$alpha39580, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :type true, :anonymous true, :column 5, :line 651, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, ->sym {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 308, :column 8, :end-line 308, :end-column 13, :private true, :arglists (quote ([x])), :doc "Returns a symbol from a symbol or var"}, :private true, :name cljs.spec.alpha/->sym, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 13, :method-params ([x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 308, :end-line 308, :max-fixed-arity 1, :fn-var true, :arglists (quote ([x])), :doc "Returns a symbol from a symbol or var"}, abbrev {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 168, :column 7, :end-line 168, :end-column 13, :arglists (quote ([form]))}, :name cljs.spec.alpha/abbrev, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 13, :method-params ([form]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 168, :end-line 168, :max-fixed-arity 1, :fn-var true, :arglists (quote ([form]))}, ->t_cljs$spec$alpha39552 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([form pred gfn cpred? unc meta39553])), :file nil}, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/->t_cljs$spec$alpha39552, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :method-params ([form pred gfn cpred? unc meta39553]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 6, :factory :positional, :line 471, :max-fixed-arity 6, :fn-var true, :arglists (quote ([form pred gfn cpred? unc meta39553])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, regex? {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 80, :column 7, :end-line 80, :end-column 13, :arglists (quote ([x])), :doc "returns x if x is a (cljs.spec.alpha) regex op, else logical false"}, :name cljs.spec.alpha/regex?, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 13, :method-params ([x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 80, :end-line 80, :max-fixed-arity 1, :fn-var true, :arglists (quote ([x])), :doc "returns x if x is a (cljs.spec.alpha) regex op, else logical false"}, t_cljs$spec$alpha39828 {:num-fields 5, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/t_cljs$spec$alpha39828, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :type true, :anonymous true, :column 5, :line 1364, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, t_cljs$spec$alpha39575 {:num-fields 6, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/t_cljs$spec$alpha39575, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :type true, :anonymous true, :column 6, :line 551, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, ->t_cljs$spec$alpha39806 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([re gfn meta39807])), :file nil}, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/->t_cljs$spec$alpha39806, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :method-params ([re gfn meta39807]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 3, :factory :positional, :line 1247, :max-fixed-arity 3, :fn-var true, :arglists (quote ([re gfn meta39807])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, int-in-range? {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1402, :column 7, :end-line 1402, :end-column 20, :arglists (quote ([start end val])), :doc "Return true if start <= val, val < end and val is a fixed\n precision integer."}, :name cljs.spec.alpha/int-in-range?, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 20, :method-params ([start end val]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1402, :end-line 1402, :max-fixed-arity 3, :fn-var true, :arglists (quote ([start end val])), :doc "Return true if start <= val, val < end and val is a fixed\n precision integer."}, dt {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 343, :column 8, :end-line 343, :end-column 10, :private true, :arglists (quote ([pred x form] [pred x form cpred?])), :top-fn {:variadic false, :max-fixed-arity 4, :method-params ([pred x form] [pred x form cpred?]), :arglists ([pred x form] [pred x form cpred?]), :arglists-meta (nil nil)}}, :private true, :name cljs.spec.alpha/dt, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 10, :top-fn {:variadic false, :max-fixed-arity 4, :method-params ([pred x form] [pred x form cpred?]), :arglists ([pred x form] [pred x form cpred?]), :arglists-meta (nil nil)}, :method-params ([pred x form] [pred x form cpred?]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 343, :end-line 343, :max-fixed-arity 4, :fn-var true, :arglists ([pred x form] [pred x form cpred?])}, preturn {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1027, :column 8, :end-line 1027, :end-column 15, :private true, :arglists (quote ([p]))}, :private true, :name cljs.spec.alpha/preturn, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 15, :method-params ([p]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1027, :end-line 1027, :max-fixed-arity 1, :fn-var true, :arglists (quote ([p]))}, re-conform {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1205, :column 8, :end-line 1205, :end-column 18, :private true, :arglists (quote ([p [x & xs :as data]]))}, :private true, :name cljs.spec.alpha/re-conform, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 18, :method-params ([p p__39792]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1205, :end-line 1205, :max-fixed-arity 2, :fn-var true, :arglists (quote ([p [x & xs :as data]]))}, spec? {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 74, :column 7, :end-line 74, :end-column 12, :arglists (quote ([x])), :doc "returns x if x is a spec object, else logical false"}, :name cljs.spec.alpha/spec?, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 12, :method-params ([x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 74, :end-line 74, :max-fixed-arity 1, :fn-var true, :arglists (quote ([x])), :doc "returns x if x is a spec object, else logical false"}, t_cljs$spec$alpha39641 {:num-fields 4, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/t_cljs$spec$alpha39641, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :type true, :anonymous true, :column 3, :line 770, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, registry {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 303, :column 7, :end-line 303, :end-column 15, :arglists (quote ([])), :doc "returns the registry map, prefer 'get-spec' to lookup a spec by name"}, :name cljs.spec.alpha/registry, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 15, :method-params ([]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 303, :end-line 303, :max-fixed-arity 0, :fn-var true, :arglists (quote ([])), :doc "returns the registry map, prefer 'get-spec' to lookup a spec by name"}, rep+impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 962, :column 19, :end-line 962, :end-column 27, :skip-wiki true, :arglists (quote ([form p])), :doc "Do not call this directly, use '+'"}, :name cljs.spec.alpha/rep+impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 27, :method-params ([form p]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 962, :end-line 962, :max-fixed-arity 2, :fn-var true, :arglists (quote ([form p])), :doc "Do not call this directly, use '+'"}, deriv {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1076, :column 8, :end-line 1076, :end-column 13, :private true, :arglists (quote ([p x]))}, :private true, :name cljs.spec.alpha/deriv, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 13, :method-params ([p x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1076, :end-line 1076, :max-fixed-arity 2, :fn-var true, :arglists (quote ([p x]))}, deep-resolve {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 49, :column 8, :end-line 49, :end-column 20, :private true, :arglists (quote ([reg k]))}, :private true, :name cljs.spec.alpha/deep-resolve, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 20, :method-params ([reg k]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 49, :end-line 49, :max-fixed-arity 2, :fn-var true, :arglists (quote ([reg k]))}, exercise {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1386, :column 7, :end-line 1386, :end-column 15, :arglists (quote ([spec] [spec n] [spec n overrides])), :doc "generates a number (default 10) of values compatible with spec and maps conform over them,\n returning a sequence of [val conformed-val] tuples. Optionally takes\n a generator overrides map as per gen", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([spec] [spec n] [spec n overrides]), :arglists ([spec] [spec n] [spec n overrides]), :arglists-meta (nil nil nil)}}, :name cljs.spec.alpha/exercise, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 15, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([spec] [spec n] [spec n overrides]), :arglists ([spec] [spec n] [spec n overrides]), :arglists-meta (nil nil nil)}, :method-params ([spec] [spec n] [spec n overrides]), :protocol-impl nil, :arglists-meta (nil nil nil), :column 1, :line 1386, :end-line 1386, :max-fixed-arity 3, :fn-var true, :arglists ([spec] [spec n] [spec n overrides]), :doc "generates a number (default 10) of values compatible with spec and maps conform over them,\n returning a sequence of [val conformed-val] tuples. Optionally takes\n a generator overrides map as per gen"}, t_cljs$spec$alpha39806 {:num-fields 3, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/t_cljs$spec$alpha39806, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :type true, :anonymous true, :column 3, :line 1247, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, explain-data {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 207, :column 7, :end-line 207, :end-column 19, :arglists (quote ([spec x])), :doc "Given a spec and a value x which ought to conform, returns nil if x\n conforms, else a map with at least the key ::problems whose value is\n a collection of problem-maps, where problem-map has at least :path :pred and :val\n keys describing the predicate and the value that failed at that\n path."}, :name cljs.spec.alpha/explain-data, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 19, :method-params ([spec x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 207, :end-line 207, :max-fixed-arity 2, :fn-var true, :arglists (quote ([spec x])), :doc "Given a spec and a value x which ought to conform, returns nil if x\n conforms, else a map with at least the key ::problems whose value is\n a collection of problem-maps, where problem-map has at least :path :pred and :val\n keys describing the predicate and the value that failed at that\n path."}, tuple-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 545, :column 19, :end-line 545, :end-column 29, :skip-wiki true, :arglists (quote ([forms preds] [forms preds gfn])), :doc "Do not call this directly, use 'tuple'", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([forms preds] [forms preds gfn]), :arglists ([forms preds] [forms preds gfn]), :arglists-meta (nil nil)}}, :name cljs.spec.alpha/tuple-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 29, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([forms preds] [forms preds gfn]), :arglists ([forms preds] [forms preds gfn]), :arglists-meta (nil nil)}, :method-params ([forms preds] [forms preds gfn]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 545, :end-line 545, :max-fixed-arity 3, :fn-var true, :arglists ([forms preds] [forms preds gfn]), :doc "Do not call this directly, use 'tuple'"}, multi-spec-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 495, :column 19, :end-line 495, :end-column 34, :skip-wiki true, :arglists (quote ([form mmvar retag] [form mmvar retag gfn])), :doc "Do not call this directly, use 'multi-spec'", :top-fn {:variadic false, :max-fixed-arity 4, :method-params ([form mmvar retag] [form mmvar retag gfn]), :arglists ([form mmvar retag] [form mmvar retag gfn]), :arglists-meta (nil nil)}}, :name cljs.spec.alpha/multi-spec-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 34, :top-fn {:variadic false, :max-fixed-arity 4, :method-params ([form mmvar retag] [form mmvar retag gfn]), :arglists ([form mmvar retag] [form mmvar retag gfn]), :arglists-meta (nil nil)}, :method-params ([form mmvar retag] [form mmvar retag gfn]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 495, :end-line 495, :max-fixed-arity 4, :fn-var true, :arglists ([form mmvar retag] [form mmvar retag gfn]), :doc "Do not call this directly, use 'multi-spec'"}, conform {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 149, :column 7, :end-line 149, :end-column 14, :arglists (quote ([spec x])), :doc "Given a spec and a value, returns :cljs.spec.alpha/invalid if value does\n not match spec, else the (possibly destructured) value."}, :name cljs.spec.alpha/conform, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 14, :method-params ([spec x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 149, :end-line 149, :max-fixed-arity 2, :fn-var true, :arglists (quote ([spec x])), :doc "Given a spec and a value, returns :cljs.spec.alpha/invalid if value does\n not match spec, else the (possibly destructured) value."}, ->t_cljs$spec$alpha39828 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([form pred gfn spec meta39829])), :file nil}, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/->t_cljs$spec$alpha39828, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :method-params ([form pred gfn spec meta39829]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 5, :factory :positional, :line 1364, :max-fixed-arity 5, :fn-var true, :arglists (quote ([form pred gfn spec meta39829])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, gen* {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 43, :column 4, :end-line 43, :end-column 8, :protocol cljs.spec.alpha/Spec, :doc nil, :arglists (quote ([spec overrides path rmap]))}, :protocol cljs.spec.alpha/Spec, :name cljs.spec.alpha/gen*, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 8, :method-params ([spec overrides path rmap]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 39, :end-line 43, :max-fixed-arity 4, :fn-var true, :arglists (quote ([spec overrides path rmap])), :doc nil}, ->t_cljs$spec$alpha39511 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([keys->specnames map__39509 opt req-un opt-un gfn pred-exprs keys-pred argm opt-keys req-specs p__39508 req id req-keys opt-specs k->s pred-forms meta39512])), :file nil}, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/->t_cljs$spec$alpha39511, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :method-params ([keys->specnames map__39509 opt req-un opt-un gfn pred-exprs keys-pred argm opt-keys req-specs p__39508 req id req-keys opt-specs k->s pred-forms meta39512]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 5, :factory :positional, :line 386, :max-fixed-arity 19, :fn-var true, :arglists (quote ([keys->specnames map__39509 opt req-un opt-un gfn pred-exprs keys-pred argm opt-keys req-specs p__39508 req id req-keys opt-specs k->s pred-forms meta39512])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, fspec-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1292, :column 19, :end-line 1292, :end-column 29, :skip-wiki true, :arglists (quote ([argspec aform retspec rform fnspec fform gfn])), :doc "Do not call this directly, use 'fspec'"}, :name cljs.spec.alpha/fspec-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 29, :method-params ([argspec aform retspec rform fnspec fform gfn]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 1292, :end-line 1292, :max-fixed-arity 7, :fn-var true, :arglists (quote ([argspec aform retspec rform fnspec fform gfn])), :doc "Do not call this directly, use 'fspec'"}, inck {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 340, :column 8, :end-line 340, :end-column 12, :private true, :arglists (quote ([m k]))}, :private true, :name cljs.spec.alpha/inck, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 12, :method-params ([m k]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 340, :end-line 340, :max-fixed-arity 2, :fn-var true, :arglists (quote ([m k]))}, *coll-check-limit* {:meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 31, :column 16, :end-line 31, :end-column 34, :dynamic true}, :name cljs.spec.alpha/*coll-check-limit*, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 34, :column 1, :dynamic true, :line 31, :end-line 31, :tag number, :doc "The number of items validated in a collection spec'ed with 'every'"}, get-spec {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 315, :column 7, :end-line 315, :end-column 15, :arglists (quote ([k])), :doc "Returns spec registered for keyword/symbol/var k, or nil."}, :name cljs.spec.alpha/get-spec, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 15, :method-params ([k]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 315, :end-line 315, :max-fixed-arity 1, :fn-var true, :arglists (quote ([k])), :doc "Returns spec registered for keyword/symbol/var k, or nil."}, gensub {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 269, :column 8, :end-line 269, :end-column 14, :private true, :arglists (quote ([spec overrides path rmap form]))}, :private true, :name cljs.spec.alpha/gensub, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 14, :method-params ([spec overrides path rmap form]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 269, :end-line 269, :max-fixed-arity 5, :fn-var true, :arglists (quote ([spec overrides path rmap form]))}, the-spec {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 116, :column 8, :end-line 116, :end-column 16, :private true, :arglists (quote ([spec-or-k])), :doc "spec-or-k must be a spec, regex or kw/sym, else returns nil. Throws if unresolvable kw/sym"}, :private true, :name cljs.spec.alpha/the-spec, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 16, :method-params ([spec-or-k]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 116, :end-line 116, :max-fixed-arity 1, :fn-var true, :arglists (quote ([spec-or-k])), :doc "spec-or-k must be a spec, regex or kw/sym, else returns nil. Throws if unresolvable kw/sym"}, coll-prob {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 747, :column 8, :end-line 747, :end-column 17, :private true, :arglists (quote ([x kfn kform distinct count min-count max-count path via in]))}, :private true, :name cljs.spec.alpha/coll-prob, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 17, :method-params ([x kfn kform distinct count min-count max-count path via in]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 747, :end-line 747, :max-fixed-arity 10, :fn-var true, :arglists (quote ([x kfn kform distinct count min-count max-count path via in]))}, every-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 795, :column 19, :end-line 795, :end-column 29, :skip-wiki true, :arglists (quote ([form pred opts] [form pred {gen-into :into, describe-form :cljs.spec.alpha/describe, :keys [kind :cljs.spec.alpha/kind-form count max-count min-count distinct gen-max :cljs.spec.alpha/kfn :cljs.spec.alpha/cpred conform-keys :cljs.spec.alpha/conform-all], :or {gen-max 20}, :as opts} gfn])), :doc "Do not call this directly, use 'every', 'every-kv', 'coll-of' or 'map-of'", :top-fn {:variadic false, :max-fixed-arity 4, :method-params ([form pred opts] [form pred {gen-into :into, describe-form :cljs.spec.alpha/describe, :keys [kind :cljs.spec.alpha/kind-form count max-count min-count distinct gen-max :cljs.spec.alpha/kfn :cljs.spec.alpha/cpred conform-keys :cljs.spec.alpha/conform-all], :or {gen-max 20}, :as opts} gfn]), :arglists ([form pred opts] [form pred {gen-into :into, describe-form :cljs.spec.alpha/describe, :keys [kind :cljs.spec.alpha/kind-form count max-count min-count distinct gen-max :cljs.spec.alpha/kfn :cljs.spec.alpha/cpred conform-keys :cljs.spec.alpha/conform-all], :or {gen-max 20}, :as opts} gfn]), :arglists-meta (nil nil)}}, :name cljs.spec.alpha/every-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 29, :top-fn {:variadic false, :max-fixed-arity 4, :method-params ([form pred opts] [form pred {gen-into :into, describe-form :cljs.spec.alpha/describe, :keys [kind :cljs.spec.alpha/kind-form count max-count min-count distinct gen-max :cljs.spec.alpha/kfn :cljs.spec.alpha/cpred conform-keys :cljs.spec.alpha/conform-all], :or {gen-max 20}, :as opts} gfn]), :arglists ([form pred opts] [form pred {gen-into :into, describe-form :cljs.spec.alpha/describe, :keys [kind :cljs.spec.alpha/kind-form count max-count min-count distinct gen-max :cljs.spec.alpha/kfn :cljs.spec.alpha/cpred conform-keys :cljs.spec.alpha/conform-all], :or {gen-max 20}, :as opts} gfn]), :arglists-meta (nil nil)}, :method-params ([form pred opts] [form pred {gen-into :into, describe-form :cljs.spec.alpha/describe, :keys [kind :cljs.spec.alpha/kind-form count max-count min-count distinct gen-max :cljs.spec.alpha/kfn :cljs.spec.alpha/cpred conform-keys :cljs.spec.alpha/conform-all], :or {gen-max 20}, :as opts} gfn]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 795, :end-line 795, :max-fixed-arity 4, :fn-var true, :arglists ([form pred opts] [form pred {gen-into :into, describe-form :cljs.spec.alpha/describe, :keys [kind :cljs.spec.alpha/kind-form count max-count min-count distinct gen-max :cljs.spec.alpha/kfn :cljs.spec.alpha/cpred conform-keys :cljs.spec.alpha/conform-all], :or {gen-max 20}, :as opts} gfn]), :doc "Do not call this directly, use 'every', 'every-kv', 'coll-of' or 'map-of'"}, accept-nil? {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1012, :column 8, :end-line 1012, :end-column 19, :private true, :arglists (quote ([p]))}, :private true, :name cljs.spec.alpha/accept-nil?, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 19, :method-params ([p]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1012, :end-line 1012, :max-fixed-arity 1, :fn-var true, :arglists (quote ([p]))}, maybe-spec {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 105, :column 8, :end-line 105, :end-column 18, :private true, :arglists (quote ([spec-or-k])), :doc "spec-or-k must be a spec, regex or resolvable kw/sym, else returns nil."}, :private true, :name cljs.spec.alpha/maybe-spec, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 18, :method-params ([spec-or-k]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 105, :end-line 105, :max-fixed-arity 1, :fn-var true, :arglists (quote ([spec-or-k])), :doc "spec-or-k must be a spec, regex or resolvable kw/sym, else returns nil."}, spec-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 462, :column 19, :end-line 462, :end-column 28, :skip-wiki true, :arglists (quote ([form pred gfn cpred?] [form pred gfn cpred? unc])), :doc "Do not call this directly, use 'spec'", :top-fn {:variadic false, :max-fixed-arity 5, :method-params ([form pred gfn cpred?] [form pred gfn cpred? unc]), :arglists ([form pred gfn cpred?] [form pred gfn cpred? unc]), :arglists-meta (nil nil)}}, :name cljs.spec.alpha/spec-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 28, :top-fn {:variadic false, :max-fixed-arity 5, :method-params ([form pred gfn cpred?] [form pred gfn cpred? unc]), :arglists ([form pred gfn cpred?] [form pred gfn cpred? unc]), :arglists-meta (nil nil)}, :method-params ([form pred gfn cpred?] [form pred gfn cpred? unc]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 462, :end-line 462, :max-fixed-arity 5, :fn-var true, :arglists ([form pred gfn cpred?] [form pred gfn cpred? unc]), :doc "Do not call this directly, use 'spec'"}, t_cljs$spec$alpha39511 {:num-fields 19, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/t_cljs$spec$alpha39511, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :type true, :anonymous true, :column 5, :line 386, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, ->t_cljs$spec$alpha39653 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([form max-count check? gfn gen-max p__39650 pred cpred conform-keys kind-form addcv cfns describe-form distinct spec map__39651 kfn gen-into count min-count opts kind conform-all conform-into meta39654])), :file nil}, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/->t_cljs$spec$alpha39653, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :method-params ([form max-count check? gfn gen-max p__39650 pred cpred conform-keys kind-form addcv cfns describe-form distinct spec map__39651 kfn gen-into count min-count opts kind conform-all conform-into meta39654]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 6, :factory :positional, :line 833, :max-fixed-arity 25, :fn-var true, :arglists (quote ([form max-count check? gfn gen-max p__39650 pred cpred conform-keys kind-form addcv cfns describe-form distinct spec map__39651 kfn gen-into count min-count opts kind conform-all conform-into meta39654])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, invalid? {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 144, :column 7, :end-line 144, :end-column 15, :arglists (quote ([ret])), :doc "tests the validity of a conform return value"}, :name cljs.spec.alpha/invalid?, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 15, :method-params ([ret]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 144, :end-line 144, :max-fixed-arity 1, :fn-var true, :arglists (quote ([ret])), :doc "tests the validity of a conform return value"}, amp-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 967, :column 19, :end-line 967, :end-column 27, :skip-wiki true, :arglists (quote ([re preds pred-forms])), :doc "Do not call this directly, use '&'"}, :name cljs.spec.alpha/amp-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 27, :method-params ([re preds pred-forms]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 967, :end-line 967, :max-fixed-arity 3, :fn-var true, :arglists (quote ([re preds pred-forms])), :doc "Do not call this directly, use '&'"}, pcat* {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 934, :column 8, :end-line 934, :end-column 13, :private true, :arglists (quote ([{[p1 & pr :as ps] :ps, [k1 & kr :as ks] :ks, [f1 & fr :as forms] :forms, ret :ret, rep+ :rep+}]))}, :private true, :name cljs.spec.alpha/pcat*, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 13, :method-params ([p__39695]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 934, :end-line 934, :max-fixed-arity 1, :fn-var true, :arglists (quote ([{[p1 & pr :as ps] :ps, [k1 & kr :as ks] :ks, [f1 & fr :as forms] :forms, ret :ret, rep+ :rep+}]))}, alt* {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 981, :column 8, :end-line 981, :end-column 12, :private true, :arglists (quote ([ps ks forms]))}, :private true, :name cljs.spec.alpha/alt*, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 12, :method-params ([ps ks forms]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 981, :end-line 981, :max-fixed-arity 3, :fn-var true, :arglists (quote ([ps ks forms]))}, cat-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 946, :column 19, :end-line 946, :end-column 27, :skip-wiki true, :arglists (quote ([ks ps forms])), :doc "Do not call this directly, use 'cat'"}, :name cljs.spec.alpha/cat-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 27, :method-params ([ks ps forms]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 946, :end-line 946, :max-fixed-arity 3, :fn-var true, :arglists (quote ([ks ps forms])), :doc "Do not call this directly, use 'cat'"}, macroexpand-check {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 322, :column 8, :end-line 322, :end-column 25, :private true, :arglists (quote ([v args]))}, :private true, :name cljs.spec.alpha/macroexpand-check, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 25, :method-params ([v args]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 322, :end-line 322, :max-fixed-arity 2, :fn-var true, :arglists (quote ([v args]))}, reg-resolve {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 55, :column 8, :end-line 55, :end-column 19, :private true, :arglists (quote ([k])), :doc "returns the spec/regex at end of alias chain starting with k, nil if not found, k if k not ident"}, :private true, :name cljs.spec.alpha/reg-resolve, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 19, :method-params ([k]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 55, :end-line 55, :max-fixed-arity 1, :fn-var true, :arglists (quote ([k])), :doc "returns the spec/regex at end of alias chain starting with k, nil if not found, k if k not ident"}, explain-str {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 262, :column 7, :end-line 262, :end-column 18, :arglists (quote ([spec x])), :doc "Given a spec and a value that fails to conform, returns an explanation as a string."}, :name cljs.spec.alpha/explain-str, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 18, :method-params ([spec x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 262, :end-line 262, :max-fixed-arity 2, :fn-var true, :arglists (quote ([spec x])), :doc "Given a spec and a value that fails to conform, returns an explanation as a string."}, *compile-asserts* {:meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1427, :column 3, :end-line 1427, :end-column 20, :dynamic true, :doc "If true, compiler will enable spec asserts, which are then\nsubject to runtime control via check-asserts? If false, compiler\nwill eliminate all spec assert overhead. See 'assert'.\nInitially set to the negation of the ':elide-asserts' compiler option.\nDefaults to true."}, :name cljs.spec.alpha/*compile-asserts*, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 20, :column 1, :dynamic true, :line 1420, :end-line 1427, :tag boolean, :doc "If true, compiler will enable spec asserts, which are then\nsubject to runtime control via check-asserts? If false, compiler\nwill eliminate all spec assert overhead. See 'assert'.\nInitially set to the negation of the ':elide-asserts' compiler option.\nDefaults to true."}, with-gen {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 192, :column 7, :end-line 192, :end-column 15, :arglists (quote ([spec gen-fn])), :doc "Takes a spec and a no-arg, generator-returning fn and returns a version of that spec that uses that generator"}, :name cljs.spec.alpha/with-gen, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 15, :method-params ([spec gen-fn]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 192, :end-line 192, :max-fixed-arity 2, :fn-var true, :arglists (quote ([spec gen-fn])), :doc "Takes a spec and a no-arg, generator-returning fn and returns a version of that spec that uses that generator"}, conform* {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 40, :column 4, :end-line 40, :end-column 12, :protocol cljs.spec.alpha/Spec, :doc nil, :arglists (quote ([spec x]))}, :protocol cljs.spec.alpha/Spec, :name cljs.spec.alpha/conform*, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 12, :method-params ([spec x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 39, :end-line 40, :max-fixed-arity 2, :fn-var true, :arglists (quote ([spec x])), :doc nil}, check-asserts? {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1435, :column 16, :end-line 1435, :end-column 30, :tag boolean, :arglists (quote ([])), :doc "Returns the value set by check-asserts."}, :name cljs.spec.alpha/check-asserts?, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 30, :method-params ([]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1435, :ret-tag boolean, :end-line 1435, :max-fixed-arity 0, :tag boolean, :fn-var true, :arglists (quote ([])), :doc "Returns the value set by check-asserts."}, noret? {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1004, :column 8, :end-line 1004, :end-column 14, :private true, :arglists (quote ([p1 pret]))}, :private true, :name cljs.spec.alpha/noret?, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 14, :method-params ([p1 pret]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1004, :end-line 1004, :max-fixed-arity 2, :fn-var true, :arglists (quote ([p1 pret]))}, rep-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 958, :column 19, :end-line 958, :end-column 27, :skip-wiki true, :arglists (quote ([form p])), :doc "Do not call this directly, use '*'"}, :name cljs.spec.alpha/rep-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 27, :method-params ([form p]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 958, :end-line 958, :max-fixed-arity 2, :fn-var true, :arglists (quote ([form p])), :doc "Do not call this directly, use '*'"}, ->t_cljs$spec$alpha39641 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([forms preds gfn meta39642])), :file nil}, :protocols #{cljs.spec.alpha/Spec cljs.core/IMeta cljs.spec.alpha/Specize cljs.core/IWithMeta}, :name cljs.spec.alpha/->t_cljs$spec$alpha39641, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :method-params ([forms preds gfn meta39642]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 3, :factory :positional, :line 770, :max-fixed-arity 4, :fn-var true, :arglists (quote ([forms preds gfn meta39642])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, op-describe {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1096, :column 8, :end-line 1096, :end-column 19, :private true, :arglists (quote ([p]))}, :private true, :name cljs.spec.alpha/op-describe, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 19, :method-params ([p]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1096, :end-line 1096, :max-fixed-arity 1, :fn-var true, :arglists (quote ([p]))}, describe {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 187, :column 7, :end-line 187, :end-column 15, :arglists (quote ([spec])), :doc "returns an abbreviated description of the spec as data"}, :name cljs.spec.alpha/describe, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 15, :method-params ([spec]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 187, :end-line 187, :max-fixed-arity 1, :fn-var true, :arglists (quote ([spec])), :doc "returns an abbreviated description of the spec as data"}, explain-1 {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 372, :column 8, :end-line 372, :end-column 17, :private true, :arglists (quote ([form pred path via in v]))}, :private true, :name cljs.spec.alpha/explain-1, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 17, :method-params ([form pred path via in v]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 372, :end-line 372, :max-fixed-arity 6, :fn-var true, :arglists (quote ([form pred path via in v]))}, explain-out {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 251, :column 7, :end-line 251, :end-column 18, :arglists (quote ([ed])), :doc "Prints explanation data (per 'explain-data') to *out* using the printer in *explain-out*,\n by default explain-printer."}, :name cljs.spec.alpha/explain-out, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 18, :method-params ([ed]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 251, :end-line 251, :max-fixed-arity 1, :fn-var true, :arglists (quote ([ed])), :doc "Prints explanation data (per 'explain-data') to *out* using the printer in *explain-out*,\n by default explain-printer."}, re-gen {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1167, :column 8, :end-line 1167, :end-column 14, :private true, :arglists (quote ([p overrides path rmap f]))}, :private true, :name cljs.spec.alpha/re-gen, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 14, :method-params ([p overrides path rmap f]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1167, :end-line 1167, :max-fixed-arity 5, :fn-var true, :arglists (quote ([p overrides path rmap f]))}, filter-alt {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 972, :column 8, :end-line 972, :end-column 18, :private true, :arglists (quote ([ps ks forms f]))}, :private true, :name cljs.spec.alpha/filter-alt, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 18, :method-params ([ps ks forms f]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 972, :end-line 972, :max-fixed-arity 4, :fn-var true, :arglists (quote ([ps ks forms f]))}, and-preds {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 680, :column 8, :end-line 680, :end-column 17, :private true, :arglists (quote ([x preds forms]))}, :private true, :name cljs.spec.alpha/and-preds, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 17, :method-params ([x preds forms]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 680, :end-line 680, :max-fixed-arity 3, :fn-var true, :arglists (quote ([x preds forms]))}, call-valid? {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1271, :column 8, :end-line 1271, :end-column 19, :private true, :arglists (quote ([f specs args]))}, :private true, :name cljs.spec.alpha/call-valid?, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 19, :method-params ([f specs args]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1271, :end-line 1271, :max-fixed-arity 3, :fn-var true, :arglists (quote ([f specs args]))}, op-unform {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1042, :column 8, :end-line 1042, :end-column 17, :private true, :arglists (quote ([p x]))}, :private true, :name cljs.spec.alpha/op-unform, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 17, :method-params ([p x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1042, :end-line 1042, :max-fixed-arity 2, :fn-var true, :arglists (quote ([p x]))}, rep* {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 951, :column 8, :end-line 951, :end-column 12, :private true, :arglists (quote ([p1 p2 ret splice form]))}, :private true, :name cljs.spec.alpha/rep*, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 12, :method-params ([p1 p2 ret splice form]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 951, :end-line 951, :max-fixed-arity 5, :fn-var true, :arglists (quote ([p1 p2 ret splice form]))}, specize* {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 124, :column 4, :end-line 124, :end-column 12, :protocol cljs.spec.alpha/Specize, :doc nil, :arglists (quote ([_] [_ form])), :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([_] [_ form]), :arglists ([_] [_ form]), :arglists-meta (nil nil)}}, :protocol cljs.spec.alpha/Specize, :name cljs.spec.alpha/specize*, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 12, :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([_] [_ form]), :arglists ([_] [_ form]), :arglists-meta (nil nil)}, :method-params ([_] [_ form]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 123, :end-line 124, :max-fixed-arity 2, :fn-var true, :arglists ([_] [_ form]), :doc nil}, maybe-impl {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1000, :column 19, :end-line 1000, :end-column 29, :skip-wiki true, :arglists (quote ([p form])), :doc "Do not call this directly, use '?'"}, :name cljs.spec.alpha/maybe-impl, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 29, :method-params ([p form]), :protocol-impl nil, :skip-wiki true, :arglists-meta (nil nil), :column 1, :line 1000, :end-line 1000, :max-fixed-arity 2, :fn-var true, :arglists (quote ([p form])), :doc "Do not call this directly, use '?'"}, pcat {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 944, :column 8, :end-line 944, :end-column 12, :private true, :arglists (quote ([& ps])), :top-fn {:variadic true, :max-fixed-arity 0, :method-params [(ps)], :arglists ([& ps]), :arglists-meta (nil)}}, :private true, :name cljs.spec.alpha/pcat, :variadic true, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 12, :top-fn {:variadic true, :max-fixed-arity 0, :method-params [(ps)], :arglists ([& ps]), :arglists-meta (nil)}, :method-params [(ps)], :protocol-impl nil, :arglists-meta (nil), :column 1, :line 944, :end-line 944, :max-fixed-arity 0, :fn-var true, :arglists ([& ps])}, explain* {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 42, :column 4, :end-line 42, :end-column 12, :protocol cljs.spec.alpha/Spec, :doc nil, :arglists (quote ([spec path via in x]))}, :protocol cljs.spec.alpha/Spec, :name cljs.spec.alpha/explain*, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 12, :method-params ([spec path via in x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 39, :end-line 42, :max-fixed-arity 5, :fn-var true, :arglists (quote ([spec path via in x])), :doc nil}, validate-fn {:protocol-inline nil, :meta {:file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :line 1282, :column 8, :end-line 1282, :end-column 19, :private true, :arglists (quote ([f specs iters])), :doc "returns f if valid, else smallest"}, :private true, :name cljs.spec.alpha/validate-fn, :variadic false, :file "file:/home/didier/.m2/repository/org/clojure/clojurescript/1.9.946/clojurescript-1.9.946.jar!/cljs/spec/alpha.cljs", :end-column 19, :method-params ([f specs iters]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1282, :end-line 1282, :max-fixed-arity 3, :fn-var true, :arglists (quote ([f specs iters])), :doc "returns f if valid, else smallest"}}, :cljs.spec/registry-ref [[:cljs.spec.alpha/kvs->map (cljs.spec.alpha/conformer (fn* [p1__39819#] (cljs.core/zipmap (cljs.core/map :cljs.spec.alpha/k p1__39819#) (cljs.core/map :cljs.spec.alpha/v p1__39819#))) (fn* [p1__39820#] (cljs.core/map (cljs.core/fn [[k v]] #:cljs.spec.alpha{:k k, :v v}) p1__39820#)))]], :require-macros {c cljs.core, cljs.core cljs.core, s cljs.spec.alpha, cljs.spec.alpha cljs.spec.alpha}, :cljs.analyzer/constants {:seen #{form tag max-count :args :cljs.spec.alpha/failure cljs.spec.alpha/* :max-tries :path :req-un :opt-un meta39553 unc cljs.spec.alpha/+ :p2 :ret :cljs.spec.alpha/unknown :cljs.spec.alpha/value :gfn :cljs.spec.alpha/recursion-limit :cljs.spec.alpha/name :pred-exprs :into :keys-pred vector? :gen-max meta39512 :shrunk :fn cljs.spec.alpha/alt predx :rep+ cljs.core/= meta39576 :opt-keys aform keys->specnames :cljs.spec.alpha/rep :pred dval :splice check? map__39509 forms opt :cljs.spec.alpha/accept argspec :else :ks cljs.core/count cljs.spec.alpha/and req-un opt-un cljs.spec.alpha/cat :_ :cljs.spec.alpha/kind-form :maybe :via meta39642 cljs.spec.alpha/every meta39814 :req-specs cljs.spec.alpha/or gfn :cljs.spec.alpha/gfn gen-max meta39826 fnspec v map? :cljs.spec.alpha/spec pred-exprs :conform-keys meta39563 keys-pred p__39650 cpred? cljs.spec.alpha/fspec argm fn :val fform :cljs.spec.alpha/op cljs.spec.alpha/nilable opt-keys :cljs.spec.alpha/v cljs.spec.alpha/tuple pred :cljs.spec.alpha/cpred meta39829 :p1 cljs.core/zipmap :cljs.spec.alpha/problems cpred % cljs.core/map :cljs.spec.alpha/kvs->map method :distinct req-specs cljs.spec.alpha/keys re conform-keys kps :reason cljs.spec.alpha/merge :cljs.spec.alpha/invalid preds kind-form :req addcv cfns nil? :assertion-failed fn* cljs.core/<= p__39508 cljs.spec.alpha/nonconforming :cljs.spec.alpha/amp :id meta39807 describe-form :min-count :kind :smallest meta39631 meta39581 :count cnt mmvar :req-keys retag k :cljs.spec.alpha/k cljs.core/fn distinct retspec :opt-specs :cljs.spec.alpha/args rform ifn? :pred-forms req p1__39819# spec keys distinct? p1__39820# :max-count map__39651 kfn :cljs.spec.alpha/kfn :max-elements gen-into cljs.spec.alpha/multi-spec cljs.core/coll? id :num-elements specs meta39654 count req-keys apply min-count opts kind cform :min-elements opt-specs conform-all :cljs.spec.alpha/conform-all :cljs.spec.alpha/alt :forms :cljs.spec.alpha/pred :cljs.spec.alpha/nil :ps k->s cljs.spec.alpha/conformer :in :cljs.spec.alpha/describe conform-into :accept cljs.spec.alpha/& :opt :cljs.spec.alpha/pcat pred-forms cljs.spec.alpha/?}, :order [:cljs.spec.alpha/op :cljs.spec.alpha/name :cljs.spec.alpha/unknown :cljs.spec.alpha/invalid fn % :else :cljs.spec.alpha/gfn :cljs.spec.alpha/problems :cljs.spec.alpha/spec :cljs.spec.alpha/value :path :pred :val :reason :via :in :cljs.spec.alpha/recursion-limit :args :cljs.spec.alpha/args :opt :req-un :opt-un :gfn :pred-exprs :keys-pred :opt-keys :req-specs :req :req-keys :opt-specs :pred-forms map? cljs.spec.alpha/keys keys->specnames map__39509 opt req-un opt-un gfn pred-exprs keys-pred argm opt-keys req-specs p__39508 req id req-keys opt-specs k->s pred-forms meta39512 form pred cpred? unc meta39553 method cljs.spec.alpha/multi-spec mmvar retag predx dval tag meta39563 vector? cljs.core/= cljs.core/count cljs.spec.alpha/tuple forms preds specs cnt meta39576 cljs.spec.alpha/or keys kps cform meta39581 cljs.spec.alpha/and meta39631 cljs.core/coll? cljs.core/<= distinct? cljs.spec.alpha/merge meta39642 :max-count :cljs.spec.alpha/kind-form :gen-max :cljs.spec.alpha/cpred :conform-keys :cljs.spec.alpha/describe :distinct :cljs.spec.alpha/kfn :into :count :min-count :kind :cljs.spec.alpha/conform-all :num-elements :max-tries :min-elements :max-elements cljs.spec.alpha/every max-count check? gen-max p__39650 cpred conform-keys kind-form addcv cfns describe-form distinct spec map__39651 kfn gen-into count min-count opts kind conform-all conform-into meta39654 :ret :cljs.spec.alpha/accept :ps :ks :forms :rep+ :cljs.spec.alpha/pcat :p2 :splice :id :cljs.spec.alpha/rep :p1 cljs.spec.alpha/* :cljs.spec.alpha/amp :cljs.spec.alpha/alt :cljs.spec.alpha/nil :maybe cljs.spec.alpha/& cljs.spec.alpha/+ cljs.spec.alpha/cat :_ cljs.spec.alpha/? cljs.spec.alpha/alt :accept re meta39807 :fn :smallest :shrunk apply ifn? cljs.spec.alpha/fspec argspec aform retspec rform fnspec fform meta39814 :cljs.spec.alpha/kvs->map cljs.spec.alpha/conformer fn* p1__39819# cljs.core/zipmap cljs.core/map :cljs.spec.alpha/k :cljs.spec.alpha/v p1__39820# cljs.core/fn k v cljs.spec.alpha/nonconforming meta39826 :cljs.spec.alpha/pred nil? cljs.spec.alpha/nilable meta39829 :cljs.spec.alpha/failure :assertion-failed]}, :doc nil}