UNPKG

create-expo-cljs-app

Version:

Create a react native application with Expo and Shadow-CLJS!

1 lines 202 kB
["^ ","~:output",["^ ","~:js","goog.provide('spec_tools.core');\nspec_tools.core.registry = (function spec_tools$core$registry(var_args){\nvar G__56066 = arguments.length;\nswitch (G__56066) {\ncase 0:\nreturn spec_tools.core.registry.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn spec_tools.core.registry.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(spec_tools.core.registry.cljs$core$IFn$_invoke$arity$0 = (function (){\nreturn cljs.spec.alpha.registry();\n}));\n\n(spec_tools.core.registry.cljs$core$IFn$_invoke$arity$1 = (function (re){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__56062_SHARP_){\nreturn cljs.core.re_matches(re,cljs.core.subs.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(p1__56062_SHARP_)),(1)));\n}),cljs.spec.alpha.registry()));\n}));\n\n(spec_tools.core.registry.cljs$lang$maxFixedArity = 1);\n\n/**\n * Finds recursively a spec implementation from the registry\n */\nspec_tools.core.get_spec = (function spec_tools$core$get_spec(name){\nvar temp__5733__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.registry(),name);\nif(cljs.core.truth_(temp__5733__auto__)){\nvar spec = temp__5733__auto__;\nif((spec instanceof cljs.core.Keyword)){\nreturn (spec_tools.core.get_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.get_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.get_spec.call(null,spec));\n} else {\nreturn spec;\n}\n} else {\nreturn null;\n}\n});\n/**\n * Returns a spec from a spec name or spec. Throws exception\n * if no spec was found.\n */\nspec_tools.core.coerce_spec = (function spec_tools$core$coerce_spec(name_or_spec){\nvar or__4126__auto__ = (function (){var and__4115__auto__ = (spec_tools.core.spec_QMARK_.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.spec_QMARK_.cljs$core$IFn$_invoke$arity$1(name_or_spec) : spec_tools.core.spec_QMARK_.call(null,name_or_spec));\nif(cljs.core.truth_(and__4115__auto__)){\nreturn name_or_spec;\n} else {\nreturn and__4115__auto__;\n}\n})();\nif(cljs.core.truth_(or__4126__auto__)){\nreturn or__4126__auto__;\n} else {\nvar or__4126__auto____$1 = spec_tools.core.get_spec(name_or_spec);\nif(cljs.core.truth_(or__4126__auto____$1)){\nreturn or__4126__auto____$1;\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\"can't coerce to spec: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(name_or_spec)].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"name-or-spec\",\"name-or-spec\",-1287260145),name_or_spec], null));\n}\n}\n});\n/**\n * Writes specs into a string that can be read by the reader.\n * TODO: Should optionally write the related Registry entries.\n */\nspec_tools.core.serialize = (function spec_tools$core$serialize(spec){\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.form(spec)], 0));\n});\n/**\n * Reads specs from a string.\n * TODO: Should optionally read the related Registry entries.\n */\nspec_tools.core.deserialize = (function spec_tools$core$deserialize(s){\nreturn cljs.reader.read_string.cljs$core$IFn$_invoke$arity$1(s);\n});\nspec_tools.core._STAR_transformer_STAR_ = null;\nspec_tools.core._STAR_encode_QMARK__STAR_ = null;\n\n/**\n * @interface\n */\nspec_tools.core.Coercion = function(){};\n\nvar spec_tools$core$Coercion$_coerce$dyn_56262 = (function (this$,value,transformer,options){\nvar x__4428__auto__ = (((this$ == null))?null:this$);\nvar m__4429__auto__ = (spec_tools.core._coerce[goog.typeOf(x__4428__auto__)]);\nif((!((m__4429__auto__ == null)))){\nreturn (m__4429__auto__.cljs$core$IFn$_invoke$arity$4 ? m__4429__auto__.cljs$core$IFn$_invoke$arity$4(this$,value,transformer,options) : m__4429__auto__.call(null,this$,value,transformer,options));\n} else {\nvar m__4426__auto__ = (spec_tools.core._coerce[\"_\"]);\nif((!((m__4426__auto__ == null)))){\nreturn (m__4426__auto__.cljs$core$IFn$_invoke$arity$4 ? m__4426__auto__.cljs$core$IFn$_invoke$arity$4(this$,value,transformer,options) : m__4426__auto__.call(null,this$,value,transformer,options));\n} else {\nthrow cljs.core.missing_protocol(\"Coercion.-coerce\",this$);\n}\n}\n});\nspec_tools.core._coerce = (function spec_tools$core$_coerce(this$,value,transformer,options){\nif((((!((this$ == null)))) && ((!((this$.spec_tools$core$Coercion$_coerce$arity$4 == null)))))){\nreturn this$.spec_tools$core$Coercion$_coerce$arity$4(this$,value,transformer,options);\n} else {\nreturn spec_tools$core$Coercion$_coerce$dyn_56262(this$,value,transformer,options);\n}\n});\n\n\n/**\n * @interface\n */\nspec_tools.core.Transformer = function(){};\n\nvar spec_tools$core$Transformer$_name$dyn_56263 = (function (this$){\nvar x__4428__auto__ = (((this$ == null))?null:this$);\nvar m__4429__auto__ = (spec_tools.core._name[goog.typeOf(x__4428__auto__)]);\nif((!((m__4429__auto__ == null)))){\nreturn (m__4429__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4429__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4429__auto__.call(null,this$));\n} else {\nvar m__4426__auto__ = (spec_tools.core._name[\"_\"]);\nif((!((m__4426__auto__ == null)))){\nreturn (m__4426__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4426__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4426__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\"Transformer.-name\",this$);\n}\n}\n});\nspec_tools.core._name = (function spec_tools$core$_name(this$){\nif((((!((this$ == null)))) && ((!((this$.spec_tools$core$Transformer$_name$arity$1 == null)))))){\nreturn this$.spec_tools$core$Transformer$_name$arity$1(this$);\n} else {\nreturn spec_tools$core$Transformer$_name$dyn_56263(this$);\n}\n});\n\nvar spec_tools$core$Transformer$_options$dyn_56265 = (function (this$){\nvar x__4428__auto__ = (((this$ == null))?null:this$);\nvar m__4429__auto__ = (spec_tools.core._options[goog.typeOf(x__4428__auto__)]);\nif((!((m__4429__auto__ == null)))){\nreturn (m__4429__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4429__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4429__auto__.call(null,this$));\n} else {\nvar m__4426__auto__ = (spec_tools.core._options[\"_\"]);\nif((!((m__4426__auto__ == null)))){\nreturn (m__4426__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4426__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4426__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\"Transformer.-options\",this$);\n}\n}\n});\nspec_tools.core._options = (function spec_tools$core$_options(this$){\nif((((!((this$ == null)))) && ((!((this$.spec_tools$core$Transformer$_options$arity$1 == null)))))){\nreturn this$.spec_tools$core$Transformer$_options$arity$1(this$);\n} else {\nreturn spec_tools$core$Transformer$_options$dyn_56265(this$);\n}\n});\n\nvar spec_tools$core$Transformer$_encoder$dyn_56270 = (function (this$,spec,value){\nvar x__4428__auto__ = (((this$ == null))?null:this$);\nvar m__4429__auto__ = (spec_tools.core._encoder[goog.typeOf(x__4428__auto__)]);\nif((!((m__4429__auto__ == null)))){\nreturn (m__4429__auto__.cljs$core$IFn$_invoke$arity$3 ? m__4429__auto__.cljs$core$IFn$_invoke$arity$3(this$,spec,value) : m__4429__auto__.call(null,this$,spec,value));\n} else {\nvar m__4426__auto__ = (spec_tools.core._encoder[\"_\"]);\nif((!((m__4426__auto__ == null)))){\nreturn (m__4426__auto__.cljs$core$IFn$_invoke$arity$3 ? m__4426__auto__.cljs$core$IFn$_invoke$arity$3(this$,spec,value) : m__4426__auto__.call(null,this$,spec,value));\n} else {\nthrow cljs.core.missing_protocol(\"Transformer.-encoder\",this$);\n}\n}\n});\nspec_tools.core._encoder = (function spec_tools$core$_encoder(this$,spec,value){\nif((((!((this$ == null)))) && ((!((this$.spec_tools$core$Transformer$_encoder$arity$3 == null)))))){\nreturn this$.spec_tools$core$Transformer$_encoder$arity$3(this$,spec,value);\n} else {\nreturn spec_tools$core$Transformer$_encoder$dyn_56270(this$,spec,value);\n}\n});\n\nvar spec_tools$core$Transformer$_decoder$dyn_56271 = (function (this$,spec,value){\nvar x__4428__auto__ = (((this$ == null))?null:this$);\nvar m__4429__auto__ = (spec_tools.core._decoder[goog.typeOf(x__4428__auto__)]);\nif((!((m__4429__auto__ == null)))){\nreturn (m__4429__auto__.cljs$core$IFn$_invoke$arity$3 ? m__4429__auto__.cljs$core$IFn$_invoke$arity$3(this$,spec,value) : m__4429__auto__.call(null,this$,spec,value));\n} else {\nvar m__4426__auto__ = (spec_tools.core._decoder[\"_\"]);\nif((!((m__4426__auto__ == null)))){\nreturn (m__4426__auto__.cljs$core$IFn$_invoke$arity$3 ? m__4426__auto__.cljs$core$IFn$_invoke$arity$3(this$,spec,value) : m__4426__auto__.call(null,this$,spec,value));\n} else {\nthrow cljs.core.missing_protocol(\"Transformer.-decoder\",this$);\n}\n}\n});\nspec_tools.core._decoder = (function spec_tools$core$_decoder(this$,spec,value){\nif((((!((this$ == null)))) && ((!((this$.spec_tools$core$Transformer$_decoder$arity$3 == null)))))){\nreturn this$.spec_tools$core$Transformer$_decoder$arity$3(this$,spec,value);\n} else {\nreturn spec_tools$core$Transformer$_decoder$dyn_56271(this$,spec,value);\n}\n});\n\n/**\n * Returns a Transformer instance out of options map or Transformer instances.\n * Available options:\n * \n * | Key | Description\n * |--------------------|-----------------\n * | `:name` | Name of the transformer\n * | `:encoders` | Map of type `type -> transform`\n * | `:decoders` | Map of type `type -> transform`\n * | `:default-encoder` | Default `transform` for encoding\n * | `:default-decoder` | Default `transform` for decoding\n * \n * Example of a JSON type-transformer:\n * \n * ```clojure\n * (require '[spec-tools.core :as st])\n * (require '[spec-tools.transform :as stt])\n * \n * (def json-transformer\n * (type-transformer\n * {:name :json\n * :decoders stt/json-type-decoders\n * :encoders stt/json-type-encoders\n * :default-encoder stt/any->any}))\n * ```\n * \n * Composed Strict JSON Transformer:\n * \n * ```clojure\n * (def strict-json-transformer\n * (st/type-transformer\n * st/json-transformer\n * st/strip-extra-keys-transformer\n * st/strip-extra-values-transformer))\n * ```\n */\nspec_tools.core.type_transformer = (function spec_tools$core$type_transformer(var_args){\nvar args__4742__auto__ = [];\nvar len__4736__auto___56272 = arguments.length;\nvar i__4737__auto___56273 = (0);\nwhile(true){\nif((i__4737__auto___56273 < len__4736__auto___56272)){\nargs__4742__auto__.push((arguments[i__4737__auto___56273]));\n\nvar G__56274 = (i__4737__auto___56273 + (1));\ni__4737__auto___56273 = G__56274;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__4743__auto__ = ((((0) < args__4742__auto__.length))?(new cljs.core.IndexedSeq(args__4742__auto__.slice((0)),(0),null)):null);\nreturn spec_tools.core.type_transformer.cljs$core$IFn$_invoke$arity$variadic(argseq__4743__auto__);\n});\n\n(spec_tools.core.type_transformer.cljs$core$IFn$_invoke$arity$variadic = (function (options_or_transformers){\nvar __GT_opts = (function (p1__56074_SHARP_){\nif((((!((p1__56074_SHARP_ == null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL === p1__56074_SHARP_.spec_tools$core$Transformer$))))?true:(((!p1__56074_SHARP_.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(spec_tools.core.Transformer,p1__56074_SHARP_):false)):cljs.core.native_satisfies_QMARK_(spec_tools.core.Transformer,p1__56074_SHARP_))){\nreturn spec_tools.core._options(p1__56074_SHARP_);\n} else {\nreturn p1__56074_SHARP_;\n}\n});\nvar map__56077 = cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(spec_tools.impl.deep_merge,null,cljs.core.map.cljs$core$IFn$_invoke$arity$2(__GT_opts,options_or_transformers));\nvar map__56077__$1 = (((((!((map__56077 == null))))?(((((map__56077.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__56077.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__56077):map__56077);\nvar options = map__56077__$1;\nvar transformer_name = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56077__$1,new cljs.core.Keyword(null,\"name\",\"name\",1843675177));\nvar encoders = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56077__$1,new cljs.core.Keyword(null,\"encoders\",\"encoders\",-111722908));\nvar decoders = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56077__$1,new cljs.core.Keyword(null,\"decoders\",\"decoders\",1132818244));\nvar default_encoder = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56077__$1,new cljs.core.Keyword(null,\"default-encoder\",\"default-encoder\",117541207));\nvar default_decoder = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56077__$1,new cljs.core.Keyword(null,\"default-decoder\",\"default-decoder\",808357161));\nvar encode_key = (function (){var G__56080 = transformer_name;\nvar G__56080__$1 = (((G__56080 == null))?null:cljs.core.name(G__56080));\nvar G__56080__$2 = (((G__56080__$1 == null))?null:[\"encode/\",G__56080__$1].join(''));\nif((G__56080__$2 == null)){\nreturn null;\n} else {\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(G__56080__$2);\n}\n})();\nvar decode_key = (function (){var G__56081 = transformer_name;\nvar G__56081__$1 = (((G__56081 == null))?null:cljs.core.name(G__56081));\nvar G__56081__$2 = (((G__56081__$1 == null))?null:[\"decode/\",G__56081__$1].join(''));\nif((G__56081__$2 == null)){\nreturn null;\n} else {\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(G__56081__$2);\n}\n})();\nif((typeof spec_tools !== 'undefined') && (typeof spec_tools.core !== 'undefined') && (typeof spec_tools.core.t_spec_tools$core56082 !== 'undefined')){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {spec_tools.core.Transformer}\n * @implements {cljs.core.IWithMeta}\n*/\nspec_tools.core.t_spec_tools$core56082 = (function (options,encoders,decoders,default_decoder,transformer_name,map__56077,encode_key,decode_key,__GT_opts,default_encoder,options_or_transformers,meta56083){\nthis.options = options;\nthis.encoders = encoders;\nthis.decoders = decoders;\nthis.default_decoder = default_decoder;\nthis.transformer_name = transformer_name;\nthis.map__56077 = map__56077;\nthis.encode_key = encode_key;\nthis.decode_key = decode_key;\nthis.__GT_opts = __GT_opts;\nthis.default_encoder = default_encoder;\nthis.options_or_transformers = options_or_transformers;\nthis.meta56083 = meta56083;\nthis.cljs$lang$protocol_mask$partition0$ = 393216;\nthis.cljs$lang$protocol_mask$partition1$ = 0;\n});\n(spec_tools.core.t_spec_tools$core56082.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_56084,meta56083__$1){\nvar self__ = this;\nvar _56084__$1 = this;\nreturn (new spec_tools.core.t_spec_tools$core56082(self__.options,self__.encoders,self__.decoders,self__.default_decoder,self__.transformer_name,self__.map__56077,self__.encode_key,self__.decode_key,self__.__GT_opts,self__.default_encoder,self__.options_or_transformers,meta56083__$1));\n}));\n\n(spec_tools.core.t_spec_tools$core56082.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_56084){\nvar self__ = this;\nvar _56084__$1 = this;\nreturn self__.meta56083;\n}));\n\n(spec_tools.core.t_spec_tools$core56082.prototype.spec_tools$core$Transformer$ = cljs.core.PROTOCOL_SENTINEL);\n\n(spec_tools.core.t_spec_tools$core56082.prototype.spec_tools$core$Transformer$_name$arity$1 = (function (_){\nvar self__ = this;\nvar ___$1 = this;\nreturn self__.transformer_name;\n}));\n\n(spec_tools.core.t_spec_tools$core56082.prototype.spec_tools$core$Transformer$_options$arity$1 = (function (_){\nvar self__ = this;\nvar ___$1 = this;\nreturn self__.options;\n}));\n\n(spec_tools.core.t_spec_tools$core56082.prototype.spec_tools$core$Transformer$_encoder$arity$3 = (function (_,spec,___$1){\nvar self__ = this;\nvar ___$2 = this;\nvar or__4126__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(spec,self__.encode_key);\nif(cljs.core.truth_(or__4126__auto__)){\nreturn or__4126__auto__;\n} else {\nvar or__4126__auto____$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.encoders,spec_tools.parse.type_dispatch_value(new cljs.core.Keyword(null,\"type\",\"type\",1174270348).cljs$core$IFn$_invoke$arity$1(spec)));\nif(cljs.core.truth_(or__4126__auto____$1)){\nreturn or__4126__auto____$1;\n} else {\nreturn self__.default_encoder;\n}\n}\n}));\n\n(spec_tools.core.t_spec_tools$core56082.prototype.spec_tools$core$Transformer$_decoder$arity$3 = (function (_,spec,___$1){\nvar self__ = this;\nvar ___$2 = this;\nvar or__4126__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(spec,self__.decode_key);\nif(cljs.core.truth_(or__4126__auto__)){\nreturn or__4126__auto__;\n} else {\nvar or__4126__auto____$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.decoders,spec_tools.parse.type_dispatch_value(new cljs.core.Keyword(null,\"type\",\"type\",1174270348).cljs$core$IFn$_invoke$arity$1(spec)));\nif(cljs.core.truth_(or__4126__auto____$1)){\nreturn or__4126__auto____$1;\n} else {\nreturn self__.default_decoder;\n}\n}\n}));\n\n(spec_tools.core.t_spec_tools$core56082.getBasis = (function (){\nreturn new cljs.core.PersistentVector(null, 12, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\"options\",\"options\",1740170016,null),new cljs.core.Symbol(null,\"encoders\",\"encoders\",1528808619,null),new cljs.core.Symbol(null,\"decoders\",\"decoders\",-1521617525,null),new cljs.core.Symbol(null,\"default-decoder\",\"default-decoder\",-1846078608,null),new cljs.core.Symbol(null,\"transformer-name\",\"transformer-name\",1500736595,null),new cljs.core.Symbol(null,\"map__56077\",\"map__56077\",781092275,null),new cljs.core.Symbol(null,\"encode-key\",\"encode-key\",61285653,null),new cljs.core.Symbol(null,\"decode-key\",\"decode-key\",-1250072619,null),new cljs.core.Symbol(null,\"->opts\",\"->opts\",-1799002948,null),new cljs.core.Symbol(null,\"default-encoder\",\"default-encoder\",1758072734,null),new cljs.core.Symbol(null,\"options-or-transformers\",\"options-or-transformers\",878001150,null),new cljs.core.Symbol(null,\"meta56083\",\"meta56083\",1851890600,null)], null);\n}));\n\n(spec_tools.core.t_spec_tools$core56082.cljs$lang$type = true);\n\n(spec_tools.core.t_spec_tools$core56082.cljs$lang$ctorStr = \"spec-tools.core/t_spec_tools$core56082\");\n\n(spec_tools.core.t_spec_tools$core56082.cljs$lang$ctorPrWriter = (function (this__4369__auto__,writer__4370__auto__,opt__4371__auto__){\nreturn cljs.core._write(writer__4370__auto__,\"spec-tools.core/t_spec_tools$core56082\");\n}));\n\n/**\n * Positional factory function for spec-tools.core/t_spec_tools$core56082.\n */\nspec_tools.core.__GT_t_spec_tools$core56082 = (function spec_tools$core$__GT_t_spec_tools$core56082(options__$1,encoders__$1,decoders__$1,default_decoder__$1,transformer_name__$1,map__56077__$2,encode_key__$1,decode_key__$1,__GT_opts__$1,default_encoder__$1,options_or_transformers__$1,meta56083){\nreturn (new spec_tools.core.t_spec_tools$core56082(options__$1,encoders__$1,decoders__$1,default_decoder__$1,transformer_name__$1,map__56077__$2,encode_key__$1,decode_key__$1,__GT_opts__$1,default_encoder__$1,options_or_transformers__$1,meta56083));\n});\n\n}\n\nreturn (new spec_tools.core.t_spec_tools$core56082(options,encoders,decoders,default_decoder,transformer_name,map__56077__$1,encode_key,decode_key,__GT_opts,default_encoder,options_or_transformers,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(spec_tools.core.type_transformer.cljs$lang$maxFixedArity = (0));\n\n/** @this {Function} */\n(spec_tools.core.type_transformer.cljs$lang$applyTo = (function (seq56076){\nvar self__4724__auto__ = this;\nreturn self__4724__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq56076));\n}));\n\n/**\n * Transformer that transforms data between JSON and EDN.\n */\nspec_tools.core.json_transformer = spec_tools.core.type_transformer.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\"name\",\"name\",1843675177),new cljs.core.Keyword(null,\"json\",\"json\",1279968570),new cljs.core.Keyword(null,\"decoders\",\"decoders\",1132818244),spec_tools.transform.json_type_decoders,new cljs.core.Keyword(null,\"encoders\",\"encoders\",-111722908),spec_tools.transform.json_type_encoders,new cljs.core.Keyword(null,\"default-encoder\",\"default-encoder\",117541207),spec_tools.transform.any__GT_any], null)], 0));\n/**\n * Transformer that transforms data between Strings and EDN.\n */\nspec_tools.core.string_transformer = spec_tools.core.type_transformer.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\"name\",\"name\",1843675177),new cljs.core.Keyword(null,\"string\",\"string\",-1989541586),new cljs.core.Keyword(null,\"decoders\",\"decoders\",1132818244),spec_tools.transform.string_type_decoders,new cljs.core.Keyword(null,\"encoders\",\"encoders\",-111722908),spec_tools.transform.string_type_encoders,new cljs.core.Keyword(null,\"default-encoder\",\"default-encoder\",117541207),spec_tools.transform.any__GT_any], null)], 0));\n/**\n * Transformer that drop extra keys from `s/keys` specs.\n */\nspec_tools.core.strip_extra_keys_transformer = spec_tools.core.type_transformer.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\"name\",\"name\",1843675177),new cljs.core.Keyword(\"spec-tools.core\",\"strip-extra-keys\",\"spec-tools.core/strip-extra-keys\",-1640458075),new cljs.core.Keyword(null,\"decoders\",\"decoders\",1132818244),spec_tools.transform.strip_extra_keys_type_decoders], null)], 0));\n/**\n * Transformer that drop extra values from `s/tuple` specs.\n */\nspec_tools.core.strip_extra_values_transformer = spec_tools.core.type_transformer.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\"name\",\"name\",1843675177),new cljs.core.Keyword(\"spec-tools.core\",\"strip-extra-values\",\"spec-tools.core/strip-extra-values\",368120531),new cljs.core.Keyword(null,\"decoders\",\"decoders\",1132818244),spec_tools.transform.strip_extra_values_type_decoders], null)], 0));\n/**\n * Transformer that fails on extra keys in `s/keys` specs.\n */\nspec_tools.core.fail_on_extra_keys_transformer = spec_tools.core.type_transformer.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\"name\",\"name\",1843675177),new cljs.core.Keyword(\"spec-tools.core\",\"fail-on-extra-keys\",\"spec-tools.core/fail-on-extra-keys\",-434971052),new cljs.core.Keyword(null,\"decoders\",\"decoders\",1132818244),spec_tools.transform.fail_on_extra_keys_type_decoders], null)], 0));\n/**\n * Like `clojure.core.alpha/explain` but supports transformers\n */\nspec_tools.core.explain = (function spec_tools$core$explain(var_args){\nvar G__56090 = arguments.length;\nswitch (G__56090) {\ncase 2:\nreturn spec_tools.core.explain.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn spec_tools.core.explain.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(spec_tools.core.explain.cljs$core$IFn$_invoke$arity$2 = (function (spec,value){\nreturn spec_tools.core.explain.cljs$core$IFn$_invoke$arity$3(spec,value,null);\n}));\n\n(spec_tools.core.explain.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,transformer){\nvar _STAR_transformer_STAR__orig_val__56091 = spec_tools.core._STAR_transformer_STAR_;\nvar _STAR_encode_QMARK__STAR__orig_val__56092 = spec_tools.core._STAR_encode_QMARK__STAR_;\nvar _STAR_transformer_STAR__temp_val__56093 = transformer;\nvar _STAR_encode_QMARK__STAR__temp_val__56094 = false;\n(spec_tools.core._STAR_transformer_STAR_ = _STAR_transformer_STAR__temp_val__56093);\n\n(spec_tools.core._STAR_encode_QMARK__STAR_ = _STAR_encode_QMARK__STAR__temp_val__56094);\n\ntry{return cljs.spec.alpha.explain((spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.into_spec.call(null,spec)),value);\n}finally {(spec_tools.core._STAR_encode_QMARK__STAR_ = _STAR_encode_QMARK__STAR__orig_val__56092);\n\n(spec_tools.core._STAR_transformer_STAR_ = _STAR_transformer_STAR__orig_val__56091);\n}}));\n\n(spec_tools.core.explain.cljs$lang$maxFixedArity = 3);\n\n/**\n * Like `clojure.core.alpha/explain-data` but supports transformers\n */\nspec_tools.core.explain_data = (function spec_tools$core$explain_data(var_args){\nvar G__56096 = arguments.length;\nswitch (G__56096) {\ncase 2:\nreturn spec_tools.core.explain_data.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn spec_tools.core.explain_data.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(spec_tools.core.explain_data.cljs$core$IFn$_invoke$arity$2 = (function (spec,value){\nreturn spec_tools.core.explain_data.cljs$core$IFn$_invoke$arity$3(spec,value,null);\n}));\n\n(spec_tools.core.explain_data.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,transformer){\nvar _STAR_transformer_STAR__orig_val__56097 = spec_tools.core._STAR_transformer_STAR_;\nvar _STAR_encode_QMARK__STAR__orig_val__56098 = spec_tools.core._STAR_encode_QMARK__STAR_;\nvar _STAR_transformer_STAR__temp_val__56099 = transformer;\nvar _STAR_encode_QMARK__STAR__temp_val__56100 = false;\n(spec_tools.core._STAR_transformer_STAR_ = _STAR_transformer_STAR__temp_val__56099);\n\n(spec_tools.core._STAR_encode_QMARK__STAR_ = _STAR_encode_QMARK__STAR__temp_val__56100);\n\ntry{return cljs.spec.alpha.explain_data((spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.into_spec.call(null,spec)),value);\n}finally {(spec_tools.core._STAR_encode_QMARK__STAR_ = _STAR_encode_QMARK__STAR__orig_val__56098);\n\n(spec_tools.core._STAR_transformer_STAR_ = _STAR_transformer_STAR__orig_val__56097);\n}}));\n\n(spec_tools.core.explain_data.cljs$lang$maxFixedArity = 3);\n\n/**\n * Given a spec and a value, returns the possibly destructured value\n * or ::s/invalid\n */\nspec_tools.core.conform = (function spec_tools$core$conform(var_args){\nvar G__56102 = arguments.length;\nswitch (G__56102) {\ncase 2:\nreturn spec_tools.core.conform.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn spec_tools.core.conform.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(spec_tools.core.conform.cljs$core$IFn$_invoke$arity$2 = (function (spec,value){\nreturn spec_tools.core.conform.cljs$core$IFn$_invoke$arity$3(spec,value,null);\n}));\n\n(spec_tools.core.conform.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,transformer){\nvar _STAR_transformer_STAR__orig_val__56103 = spec_tools.core._STAR_transformer_STAR_;\nvar _STAR_encode_QMARK__STAR__orig_val__56104 = spec_tools.core._STAR_encode_QMARK__STAR_;\nvar _STAR_transformer_STAR__temp_val__56105 = transformer;\nvar _STAR_encode_QMARK__STAR__temp_val__56106 = false;\n(spec_tools.core._STAR_transformer_STAR_ = _STAR_transformer_STAR__temp_val__56105);\n\n(spec_tools.core._STAR_encode_QMARK__STAR_ = _STAR_encode_QMARK__STAR__temp_val__56106);\n\ntry{return cljs.spec.alpha.conform((spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.into_spec.call(null,spec)),value);\n}finally {(spec_tools.core._STAR_encode_QMARK__STAR_ = _STAR_encode_QMARK__STAR__orig_val__56104);\n\n(spec_tools.core._STAR_transformer_STAR_ = _STAR_transformer_STAR__orig_val__56103);\n}}));\n\n(spec_tools.core.conform.cljs$lang$maxFixedArity = 3);\n\n/**\n * Given a spec and a value, returns the possibly destructured value\n * or fails with ex-info with :type of ::conform. ex-data also contains\n * :problems, :spec and :value. call s/unform on the result to get the\n * actual conformed value.\n */\nspec_tools.core.conform_BANG_ = (function spec_tools$core$conform_BANG_(var_args){\nvar G__56108 = arguments.length;\nswitch (G__56108) {\ncase 2:\nreturn spec_tools.core.conform_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn spec_tools.core.conform_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(spec_tools.core.conform_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (spec,value){\nreturn spec_tools.core.conform_BANG_.cljs$core$IFn$_invoke$arity$3(spec,value,null);\n}));\n\n(spec_tools.core.conform_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,transformer){\nvar _STAR_transformer_STAR__orig_val__56109 = spec_tools.core._STAR_transformer_STAR_;\nvar _STAR_encode_QMARK__STAR__orig_val__56110 = spec_tools.core._STAR_encode_QMARK__STAR_;\nvar _STAR_transformer_STAR__temp_val__56111 = transformer;\nvar _STAR_encode_QMARK__STAR__temp_val__56112 = false;\n(spec_tools.core._STAR_transformer_STAR_ = _STAR_transformer_STAR__temp_val__56111);\n\n(spec_tools.core._STAR_encode_QMARK__STAR_ = _STAR_encode_QMARK__STAR__temp_val__56112);\n\ntry{var spec_SINGLEQUOTE_ = (spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.into_spec.call(null,spec));\nvar conformed = cljs.spec.alpha.conform(spec_SINGLEQUOTE_,value);\nif((!(cljs.spec.alpha.invalid_QMARK_(conformed)))){\nreturn conformed;\n} else {\nvar problems = cljs.spec.alpha.explain_data(spec_SINGLEQUOTE_,value);\nvar data = new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\"type\",\"type\",1174270348),new cljs.core.Keyword(\"spec-tools.core\",\"conform\",\"spec-tools.core/conform\",-97557480),new cljs.core.Keyword(null,\"problems\",\"problems\",2097327077),new cljs.core.Keyword(\"cljs.spec.alpha\",\"problems\",\"cljs.spec.alpha/problems\",447400814).cljs$core$IFn$_invoke$arity$1(problems),new cljs.core.Keyword(null,\"spec\",\"spec\",347520401),spec,new cljs.core.Keyword(null,\"value\",\"value\",305978217),value], null);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\"Spec conform error: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(data)].join(''),data);\n}\n}finally {(spec_tools.core._STAR_encode_QMARK__STAR_ = _STAR_encode_QMARK__STAR__orig_val__56110);\n\n(spec_tools.core._STAR_transformer_STAR_ = _STAR_transformer_STAR__orig_val__56109);\n}}));\n\n(spec_tools.core.conform_BANG_.cljs$lang$maxFixedArity = 3);\n\n/**\n * Coerces the value using a [[Transformer]]. Returns original value for\n * those parts of the value that can't be trasformed.\n */\nspec_tools.core.coerce = (function spec_tools$core$coerce(var_args){\nvar G__56114 = arguments.length;\nswitch (G__56114) {\ncase 3:\nreturn spec_tools.core.coerce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn spec_tools.core.coerce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(spec_tools.core.coerce.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,transformer){\nreturn spec_tools.core.coerce.cljs$core$IFn$_invoke$arity$4(spec,value,transformer,null);\n}));\n\n(spec_tools.core.coerce.cljs$core$IFn$_invoke$arity$4 = (function (spec,value,transformer,options){\nreturn spec_tools.core._coerce((spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.into_spec.call(null,spec)),value,transformer,options);\n}));\n\n(spec_tools.core.coerce.cljs$lang$maxFixedArity = 4);\n\n/**\n * Decodes a value using a [[Transformer]] from external format to a value\n * defined by the spec. First, calls [[coerce]] and returns the value if it's\n * valid - otherwise, calls [[conform]] & [[unform]]. Returns `::s/invalid`\n * if the value can't be decoded to conform the spec.\n */\nspec_tools.core.decode = (function spec_tools$core$decode(var_args){\nvar G__56116 = arguments.length;\nswitch (G__56116) {\ncase 2:\nreturn spec_tools.core.decode.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn spec_tools.core.decode.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(spec_tools.core.decode.cljs$core$IFn$_invoke$arity$2 = (function (spec,value){\nreturn spec_tools.core.decode.cljs$core$IFn$_invoke$arity$3(spec,value,null);\n}));\n\n(spec_tools.core.decode.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,transformer){\nvar spec__$1 = (spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.into_spec.call(null,spec));\nvar coerced = spec_tools.core.coerce.cljs$core$IFn$_invoke$arity$3(spec__$1,value,transformer);\nif(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,coerced)){\nreturn coerced;\n} else {\nvar _STAR_transformer_STAR__orig_val__56117 = spec_tools.core._STAR_transformer_STAR_;\nvar _STAR_encode_QMARK__STAR__orig_val__56118 = spec_tools.core._STAR_encode_QMARK__STAR_;\nvar _STAR_transformer_STAR__temp_val__56119 = transformer;\nvar _STAR_encode_QMARK__STAR__temp_val__56120 = false;\n(spec_tools.core._STAR_transformer_STAR_ = _STAR_transformer_STAR__temp_val__56119);\n\n(spec_tools.core._STAR_encode_QMARK__STAR_ = _STAR_encode_QMARK__STAR__temp_val__56120);\n\ntry{var conformed = cljs.spec.alpha.conform(spec__$1,value);\nif(cljs.spec.alpha.invalid_QMARK_(conformed)){\nreturn conformed;\n} else {\nreturn cljs.spec.alpha.unform(spec__$1,conformed);\n}\n}finally {(spec_tools.core._STAR_encode_QMARK__STAR_ = _STAR_encode_QMARK__STAR__orig_val__56118);\n\n(spec_tools.core._STAR_transformer_STAR_ = _STAR_transformer_STAR__orig_val__56117);\n}}\n}));\n\n(spec_tools.core.decode.cljs$lang$maxFixedArity = 3);\n\n/**\n * Transforms a value (using a [[Transformer]]) from external\n * format into a value defined by the spec. On error, returns `::s/invalid`.\n */\nspec_tools.core.encode = (function spec_tools$core$encode(spec,value,transformer){\nvar _STAR_transformer_STAR__orig_val__56121 = spec_tools.core._STAR_transformer_STAR_;\nvar _STAR_encode_QMARK__STAR__orig_val__56122 = spec_tools.core._STAR_encode_QMARK__STAR_;\nvar _STAR_transformer_STAR__temp_val__56123 = transformer;\nvar _STAR_encode_QMARK__STAR__temp_val__56124 = true;\n(spec_tools.core._STAR_transformer_STAR_ = _STAR_transformer_STAR__temp_val__56123);\n\n(spec_tools.core._STAR_encode_QMARK__STAR_ = _STAR_encode_QMARK__STAR__temp_val__56124);\n\ntry{var spec__$1 = (spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.into_spec.call(null,spec));\nvar conformed = cljs.spec.alpha.conform(spec__$1,value);\nif(cljs.spec.alpha.invalid_QMARK_(conformed)){\nreturn conformed;\n} else {\nreturn cljs.spec.alpha.unform(spec__$1,conformed);\n}\n}finally {(spec_tools.core._STAR_encode_QMARK__STAR_ = _STAR_encode_QMARK__STAR__orig_val__56122);\n\n(spec_tools.core._STAR_transformer_STAR_ = _STAR_transformer_STAR__orig_val__56121);\n}});\n/**\n * Best effort to drop recursively all extra keys out of a keys spec value.\n */\nspec_tools.core.select_spec = (function spec_tools$core$select_spec(spec,value){\nreturn spec_tools.core.coerce.cljs$core$IFn$_invoke$arity$3(spec,value,spec_tools.core.strip_extra_keys_transformer);\n});\nif((typeof spec_tools !== 'undefined') && (typeof spec_tools.core !== 'undefined') && (typeof spec_tools.core.walk !== 'undefined')){\n} else {\nspec_tools.core.walk = (function (){var method_table__4619__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__4620__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__4621__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__4622__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__4623__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"default\",\"default\",-1987822328),new cljs.core.Keyword(\"spec-tools.core\",\"default\",\"spec-tools.core/default\",501246940)], null),new cljs.core.Keyword(null,\"hierarchy\",\"hierarchy\",-1053470341),(function (){var fexpr__56125 = cljs.core.get_global_hierarchy;\nreturn (fexpr__56125.cljs$core$IFn$_invoke$arity$0 ? fexpr__56125.cljs$core$IFn$_invoke$arity$0() : fexpr__56125.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\"spec-tools.core\",\"walk\"),(function (p__56126,_,___$1,___$2){\nvar map__56127 = p__56126;\nvar map__56127__$1 = (((((!((map__56127 == null))))?(((((map__56127.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__56127.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__56127):map__56127);\nvar type = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56127__$1,new cljs.core.Keyword(null,\"type\",\"type\",1174270348));\nreturn spec_tools.parse.type_dispatch_value(type);\n}),new cljs.core.Keyword(\"spec-tools.core\",\"default\",\"spec-tools.core/default\",501246940),hierarchy__4623__auto__,method_table__4619__auto__,prefer_table__4620__auto__,method_cache__4621__auto__,cached_hierarchy__4622__auto__));\n})();\n}\nspec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(\"spec-tools.core\",\"default\",\"spec-tools.core/default\",501246940),(function (spec,value,accept,options){\nif(cljs.core.truth_((function (){var and__4115__auto__ = (spec_tools.core.spec_QMARK_.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.spec_QMARK_.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.spec_QMARK_.call(null,spec));\nif(cljs.core.truth_(and__4115__auto__)){\nreturn cljs.core.not(new cljs.core.Keyword(null,\"skip?\",\"skip?\",1467795012).cljs$core$IFn$_invoke$arity$1(options));\n} else {\nreturn and__4115__auto__;\n}\n})())){\nvar G__56129 = spec;\nvar G__56130 = value;\nvar G__56131 = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(options,new cljs.core.Keyword(null,\"skip?\",\"skip?\",1467795012),true);\nreturn (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(G__56129,G__56130,G__56131) : accept.call(null,G__56129,G__56130,G__56131));\n} else {\nreturn value;\n}\n}));\nspec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\"or\",\"or\",235744169),(function (p__56132,value,accept,options){\nvar map__56133 = p__56132;\nvar map__56133__$1 = (((((!((map__56133 == null))))?(((((map__56133.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__56133.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__56133):map__56133);\nvar items = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56133__$1,new cljs.core.Keyword(\"spec-tools.parse\",\"items\",\"spec-tools.parse/items\",1255627600));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,item){\nvar transformed = (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(item,v,options) : accept.call(null,item,v,options));\nvar valid_QMARK_ = (function (){var G__56135 = item;\nvar G__56135__$1 = (((G__56135 == null))?null:new cljs.core.Keyword(null,\"spec\",\"spec\",347520401).cljs$core$IFn$_invoke$arity$1(G__56135));\nif((G__56135__$1 == null)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(G__56135__$1,transformed);\n}\n})();\nif(cljs.core.truth_(valid_QMARK_)){\nreturn cljs.core.reduced(transformed);\n} else {\nreturn transformed;\n}\n}),value,items);\n}));\nspec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\"and\",\"and\",-971899817),(function (p__56136,value,accept,options){\nvar map__56137 = p__56136;\nvar map__56137__$1 = (((((!((map__56137 == null))))?(((((map__56137.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__56137.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__56137):map__56137);\nvar items = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56137__$1,new cljs.core.Keyword(\"spec-tools.parse\",\"items\",\"spec-tools.parse/items\",1255627600));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,item){\nvar transformed = (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(item,v,options) : accept.call(null,item,v,options));\nreturn transformed;\n}),value,items);\n}));\nspec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\"nilable\",\"nilable\",1842307102),(function (p__56139,value,accept,options){\nvar map__56140 = p__56139;\nvar map__56140__$1 = (((((!((map__56140 == null))))?(((((map__56140.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__56140.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__56140):map__56140);\nvar item = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56140__$1,new cljs.core.Keyword(\"spec-tools.parse\",\"item\",\"spec-tools.parse/item\",-565704128));\nreturn (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(item,value,options) : accept.call(null,item,value,options));\n}));\nspec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\"vector\",\"vector\",1902966158),(function (p__56142,value,accept,options){\nvar map__56144 = p__56142;\nvar map__56144__$1 = (((((!((map__56144 == null))))?(((((map__56144.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__56144.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__56144):map__56144);\nvar item = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56144__$1,new cljs.core.Keyword(\"spec-tools.parse\",\"item\",\"spec-tools.parse/item\",-565704128));\nif(cljs.core.sequential_QMARK_(value)){\nvar f = ((cljs.core.seq_QMARK_(value))?cljs.core.reverse:cljs.core.identity);\nvar G__56146 = cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.empty(value),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (v){\nreturn (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(item,v,options) : accept.call(null,item,v,options));\n}),value));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__56146) : f.call(null,G__56146));\n} else {\nreturn value;\n}\n}));\nspec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\"tuple\",\"tuple\",-472667284),(function (p__56147,value,accept,options){\nvar map__56148 = p__56147;\nvar map__56148__$1 = (((((!((map__56148 == null))))?(((((map__56148.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__56148.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__56148):map__56148);\nvar items = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56148__$1,new cljs.core.Keyword(\"spec-tools.parse\",\"items\",\"spec-tools.parse/items\",1255627600));\nif(cljs.core.sequential_QMARK_(value)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.empty(value),cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1(cljs.core.vector),cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p__56153){\nvar vec__56154 = p__56153;\nvar i = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__56154,(0),null);\nvar v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__56154,(1),null);\nif((i < cljs.core.count(items))){\nvar G__56157 = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(items,i);\nif((G__56157 == null)){\nreturn null;\n} else {\nreturn (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(G__56157,v,options) : accept.call(null,G__56157,v,options));\n}\n} else {\nreturn v;\n}\n}))),value);\n} else {\nreturn value;\n}\n}));\nspec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\"set\",\"set\",304602554),(function (p__56159,value,accept,options){\nvar map__56161 = p__56159;\nvar map__56161__$1 = (((((!((map__56161 == null))))?(((((map__56161.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__56161.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__56161):map__56161);\nvar item = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56161__$1,new cljs.core.Keyword(\"spec-tools.parse\",\"item\",\"spec-tools.parse/item\",-565704128));\nif(((cljs.core.set_QMARK_(value)) || (cljs.core.sequential_QMARK_(value)))){\nreturn cljs.core.set(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (v){\nreturn (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(item,v,options) : accept.call(null,item,v,options));\n}),value));\n} else {\nreturn value;\n}\n}));\nspec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\"map\",\"map\",1371690461),(function (p__56166,value,accept,options){\nvar map__56167 = p__56166;\nvar map__56167__$1 = (((((!((map__56167 == null))))?(((((map__56167.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__56167.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__56167):map__56167);\nvar key__GT_spec = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56167__$1,new cljs.core.Keyword(\"spec-tools.parse\",\"key->spec\",\"spec-tools.parse/key->spec\",1347735257));\nif(cljs.core.map_QMARK_(value)){\nreturn cljs.core.reduce_kv((function (acc,k,v){\nvar spec = ((cljs.core.qualified_keyword_QMARK_(k))?cljs.spec.alpha.get_spec(k):cljs.spec.alpha.get_spec(cljs.core.get.cljs$core$IFn$_invoke$arity$2(key__GT_spec,k)));\nvar value__$1 = (cljs.core.truth_(spec)?(accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(spec,v,options) : accept.call(null,spec,v,options)):v);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(acc,k,value__$1);\n}),value,value);\n} else {\nreturn value;\n}\n}));\nspec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\"map-of\",\"map-of\",1189682355),(function (p__56169,data,accept,options){\nvar map__56170 = p__56169;\nvar map__56170__$1 = (((((!((map__56170 == null))))?(((((map__56170.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__56170.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__56170):map__56170);\nvar key = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56170__$1,new cljs.core.Keyword(\"spec-tools.parse\",\"key\",\"spec-tools.parse/key\",-753897253));\nvar value = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56170__$1,new cljs.core.Keyword(\"spec-tools.parse\",\"value\",\"spec-tools.parse/value\",-492706501));\nif(cljs.core.map_QMARK_(data)){\nreturn cljs.core.reduce_kv((function (acc,k,v){\nvar k_SINGLEQUOTE_ = (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(key,k,options) : accept.call(null,key,k,options));\nvar v_SINGLEQUOTE_ = (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(value,v,options) : accept.call(null,value,v,options));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(acc,k_SINGLEQUOTE_,v_SINGLEQUOTE_);\n}),cljs.core.empty(data),data);\n} else {\nreturn data;\n}\n}));\nspec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\"multi-spec\",\"multi-spec\",1274719724),(function (p__56173,data,accept,options){\nvar map__56174 = p__56173;\nvar map__56174__$1 = (((((!((map__56174 == null))))?(((((map__56174.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__56174.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__56174):map__56174);\nvar key = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56174__$1,new cljs.core.Keyword(\"spec-tools.parse\",\"key\",\"spec-tools.parse/key\",-753897253));\nvar dispatch = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__56174__$1,new cljs.core.Keyword(\"spec-tools.parse\",\"dispa