goog.provide('sci.impl.protocols'); sci.impl.protocols.extend_default_val = cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("sci.impl.protocols","default","sci.impl.protocols/default",-1134880191,null)); sci.impl.protocols.default_QMARK_ = (function sci$impl$protocols$default_QMARK_(_ctx,sym){ return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(sci.impl.protocols.extend_default_val,sym); }); sci.impl.protocols.__GT_sigs = (function sci$impl$protocols$__GT_sigs(signatures){ return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43225){ var vec__43228 = p__43225; var seq__43229 = cljs.core.seq(vec__43228); var first__43230 = cljs.core.first(seq__43229); var seq__43229__$1 = cljs.core.next(seq__43229); var name = first__43230; var arglists = seq__43229__$1; var l = cljs.core.last(arglists); var vec__43231 = ((typeof l === 'string')?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.butlast(arglists),l], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [arglists,null], null)); var arglists__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43231,(0),null); var doc = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43231,(1),null); return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(name),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"name","name",1843675177),name,new cljs.core.Keyword(null,"arglists","arglists",1661989754),arglists__$1,new cljs.core.Keyword(null,"doc","doc",1913296891),doc], null)], null); }),signatures)); }); sci.impl.protocols.defprotocol = (function sci$impl$protocols$defprotocol(var_args){ var args__5755__auto__ = []; var len__5749__auto___43791 = arguments.length; var i__5750__auto___43792 = (0); while(true){ if((i__5750__auto___43792 < len__5749__auto___43791)){ args__5755__auto__.push((arguments[i__5750__auto___43792])); var G__43793 = (i__5750__auto___43792 + (1)); i__5750__auto___43792 = G__43793; continue; } else { } break; } var argseq__5756__auto__ = ((((3) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null); return sci.impl.protocols.defprotocol.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__); }); (sci.impl.protocols.defprotocol.cljs$core$IFn$_invoke$arity$variadic = (function (_,___$1,protocol_name,signatures){ var vec__43262 = (function (){var sig = cljs.core.first(signatures); if(typeof sig === 'string'){ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sig,cljs.core.rest(signatures)], null); } else { return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,signatures], null); } })(); var docstring = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43262,(0),null); var signatures__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43262,(1),null); var vec__43265 = (function (){var opt = cljs.core.first(signatures__$1); if((opt instanceof cljs.core.Keyword)){ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.PersistentArrayMap.createAsIfByAssoc([opt,cljs.core.second(signatures__$1)]),cljs.core.nnext(signatures__$1)], null); } else { return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,signatures__$1], null); } })(); var opts = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43265,(0),null); var signatures__$2 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43265,(1),null); var sigs_map = sci.impl.protocols.__GT_sigs(signatures__$2); var current_ns = cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.utils.current_ns_name()); var fq_protocol_name = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(current_ns,cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_name)); var extend_meta = new cljs.core.Keyword(null,"extend-via-metadata","extend-via-metadata",-427346794).cljs$core$IFn$_invoke$arity$1(opts); var expansion = cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"def","def",597100991,null),null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(protocol_name,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"doc","doc",1913296891),docstring], null)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","cond->","cljs.core/cond->",-113941356,null),null,(1),null)),(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Keyword(null,"methods","methods",453930866),null,(1),null)),(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_set,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"name","name",1843675177),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),null,(1),null)),(new cljs.core.List(null,fq_protocol_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,"ns","ns",441598760),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","*ns*","cljs.core/*ns*",1155497085,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,"sigs","sigs",-1653119622),null,(1),null)),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),(new cljs.core.List(null,sigs_map,null,(1),null)),(2),null)),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,"var","var",-769682797),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),null,(1),null)),(new cljs.core.List(null,fq_protocol_name,null,(1),null))))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,extend_meta,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","assoc","cljs.core/assoc",322326297,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,"extend-via-metadata","extend-via-metadata",-427346794),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,true,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43274){ var vec__43275 = p__43274; var seq__43276 = cljs.core.seq(vec__43275); var first__43277 = cljs.core.first(seq__43276); var seq__43276__$1 = cljs.core.next(seq__43276); var method_name = first__43277; var ___$2 = seq__43276__$1; var fq_name = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(current_ns,cljs.core.str.cljs$core$IFn$_invoke$arity$1(method_name)); var method_meta = cljs.core.select_keys(cljs.core.get.cljs$core$IFn$_invoke$arity$2(sigs_map,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(method_name)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"arglists","arglists",1661989754)], null)); var method_meta__$1 = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(method_meta,new cljs.core.Keyword(null,"protocol","protocol",652470118),(new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),(new cljs.core.List(null,fq_protocol_name,null,(1),null)),(2),null))); var method_meta__$2 = cljs.core.update.cljs$core$IFn$_invoke$arity$3(method_meta__$1,new cljs.core.Keyword(null,"arglists","arglists",1661989754),(function (a){ return (new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),(new cljs.core.List(null,a,null,(1),null)),(2),null)); })); var impls = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","defmulti","cljs.core/defmulti",723984225,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,method_meta__$2,null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","protocol-type-impl","cljs.core/protocol-type-impl",155177701,null),null,(1),null))], 0)))),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","defmethod","cljs.core/defmethod",-180785162,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword("sci.impl.protocols","reified","sci.impl.protocols/reified",-2019939396),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"x__43238__auto__","x__43238__auto__",-1252437530,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"&","&",-2144855648,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"args__43239__auto__","args__43239__auto__",524045392,null),null,(1),null))], 0))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","let","cljs.core/let",-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"methods__43240__auto__","methods__43240__auto__",-1848322751,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","-reified-methods","cljs.core/-reified-methods",-1833109469,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"x__43238__auto__","x__43238__auto__",-1252437530,null),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","if-let","cljs.core/if-let",1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"m__43241__auto__","m__43241__auto__",1923780121,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","get","cljs.core/get",-296075407,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"methods__43240__auto__","methods__43240__auto__",-1848322751,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"m__43241__auto__","m__43241__auto__",1923780121,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"x__43238__auto__","x__43238__auto__",-1252437530,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"args__43239__auto__","args__43239__auto__",524045392,null),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","if-let","cljs.core/if-let",1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"default__43242__auto__","default__43242__auto__",813111146,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43242__auto__","default__43242__auto__",813111146,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"x__43238__auto__","x__43238__auto__",-1252437530,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"args__43239__auto__","args__43239__auto__",524045392,null),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"throw","throw",595905694,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","ex-info","cljs.core/ex-info",-409744395,null),null,(1),null)),(new cljs.core.List(null,"No method ",null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null," found for: ",null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","type","cljs.core/type",-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"x__43238__auto__","x__43238__auto__",-1252437530,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))))], null); var impls__$1 = (cljs.core.truth_(extend_meta)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(impls,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","defmethod","cljs.core/defmethod",-180785162,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"x__43243__auto__","x__43243__auto__",-1843507483,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"&","&",-2144855648,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"args__43244__auto__","args__43244__auto__",714871484,null),null,(1),null))], 0))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","let","cljs.core/let",-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"meta__43245__auto__","meta__43245__auto__",-1163143281,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","meta","cljs.core/meta",-748218346,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"x__43243__auto__","x__43243__auto__",-1843507483,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"method__43246__auto__","method__43246__auto__",2045292389,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","get","cljs.core/get",-296075407,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"meta__43245__auto__","meta__43245__auto__",-1163143281,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),null,(1),null)),(new cljs.core.List(null,fq_name,null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"if","if",1181717262,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"method__43246__auto__","method__43246__auto__",2045292389,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"method__43246__auto__","method__43246__auto__",2045292389,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"x__43243__auto__","x__43243__auto__",-1843507483,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"args__43244__auto__","args__43244__auto__",714871484,null),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","let","cljs.core/let",-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"method__43246__auto__","method__43246__auto__",2045292389,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","type","cljs.core/type",-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"x__43243__auto__","x__43243__auto__",-1843507483,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43247__auto__","default__43247__auto__",596996247,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"if","if",1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","not=","cljs.core/not=",1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"method__43246__auto__","method__43246__auto__",2045292389,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43247__auto__","default__43247__auto__",596996247,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"method__43246__auto__","method__43246__auto__",2045292389,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"x__43243__auto__","x__43243__auto__",-1843507483,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"args__43244__auto__","args__43244__auto__",714871484,null),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"throw","throw",595905694,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"new","new",-444906321,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol("js","Error","js/Error",-1692659266,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","str","cljs.core/str",-1971828991,null),null,(1),null)),(new cljs.core.List(null,"No implementation of method: ",null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(method_name),null,(1),null)),(new cljs.core.List(null," of protocol: ",null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),null,(1),null)),(new cljs.core.List(null,protocol_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null," found for: ",null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","protocol-type-impl","cljs.core/protocol-type-impl",155177701,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"x__43243__auto__","x__43243__auto__",-1843507483,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))))):cljs.core.conj.cljs$core$IFn$_invoke$arity$2(impls,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","defmethod","cljs.core/defmethod",-180785162,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"x__43248__auto__","x__43248__auto__",1745363681,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"&","&",-2144855648,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"args__43249__auto__","args__43249__auto__",-814495658,null),null,(1),null))], 0))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","let","cljs.core/let",-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"method__43250__auto__","method__43250__auto__",-682321956,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","type","cljs.core/type",-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"x__43248__auto__","x__43248__auto__",1745363681,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43251__auto__","default__43251__auto__",-1128225429,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"if","if",1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","not=","cljs.core/not=",1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"method__43250__auto__","method__43250__auto__",-682321956,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43251__auto__","default__43251__auto__",-1128225429,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"method__43250__auto__","method__43250__auto__",-682321956,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"x__43248__auto__","x__43248__auto__",1745363681,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"args__43249__auto__","args__43249__auto__",-814495658,null),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"throw","throw",595905694,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"new","new",-444906321,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol("js","Error","js/Error",-1692659266,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","str","cljs.core/str",-1971828991,null),null,(1),null)),(new cljs.core.List(null,"No implementation of method: ",null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(method_name),null,(1),null)),(new cljs.core.List(null," of protocol: ",null,(1),null)),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),(new cljs.core.List(null,fq_protocol_name,null,(1),null)),(2),null)),null,(1),null)),(new cljs.core.List(null," found for: ",null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","protocol-type-impl","cljs.core/protocol-type-impl",155177701,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"x__43248__auto__","x__43248__auto__",1745363681,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))))); return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),impls__$1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"def","def",597100991,null),null,(1),null)),(new cljs.core.List(null,protocol_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","update","cljs.core/update",-908565906,null),null,(1),null)),(new cljs.core.List(null,protocol_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"methods","methods",453930866),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","conj","cljs.core/conj",-460750931,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))); }),signatures__$2),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),(new cljs.core.List(null,protocol_name,null,(1),null)),(2),null)),null,(1),null))], 0)))); return expansion; })); (sci.impl.protocols.defprotocol.cljs$lang$maxFixedArity = (3)); /** @this {Function} */ (sci.impl.protocols.defprotocol.cljs$lang$applyTo = (function (seq43254){ var G__43255 = cljs.core.first(seq43254); var seq43254__$1 = cljs.core.next(seq43254); var G__43256 = cljs.core.first(seq43254__$1); var seq43254__$2 = cljs.core.next(seq43254__$1); var G__43257 = cljs.core.first(seq43254__$2); var seq43254__$3 = cljs.core.next(seq43254__$2); var self__5734__auto__ = this; return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43255,G__43256,G__43257,seq43254__$3); })); sci.impl.protocols.extend = (function sci$impl$protocols$extend(var_args){ var args__5755__auto__ = []; var len__5749__auto___43799 = arguments.length; var i__5750__auto___43800 = (0); while(true){ if((i__5750__auto___43800 < len__5749__auto___43799)){ args__5755__auto__.push((arguments[i__5750__auto___43800])); var G__43801 = (i__5750__auto___43800 + (1)); i__5750__auto___43800 = G__43801; continue; } else { } break; } var argseq__5756__auto__ = ((((1) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null); return sci.impl.protocols.extend.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__); }); (sci.impl.protocols.extend.cljs$core$IFn$_invoke$arity$variadic = (function (atype,proto_PLUS_mmaps){ var seq__43338 = cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),proto_PLUS_mmaps)); var chunk__43340 = null; var count__43341 = (0); var i__43342 = (0); while(true){ if((i__43342 < count__43341)){ var vec__43469 = chunk__43340.cljs$core$IIndexed$_nth$arity$2(null,i__43342); var proto = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43469,(0),null); var mmap = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43469,(1),null); var extend_via_metadata_43802 = new cljs.core.Keyword(null,"extend-via-metadata","extend-via-metadata",-427346794).cljs$core$IFn$_invoke$arity$1(proto); var proto_ns_43803 = new cljs.core.Keyword(null,"ns","ns",441598760).cljs$core$IFn$_invoke$arity$1(proto); var pns_43804 = sci.impl.types.getName(proto_ns_43803); var pns_str_43805 = (cljs.core.truth_(extend_via_metadata_43802)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(pns_43804):null); var seq__43473_43806 = cljs.core.seq(mmap); var chunk__43474_43807 = null; var count__43475_43808 = (0); var i__43476_43809 = (0); while(true){ if((i__43476_43809 < count__43475_43808)){ var vec__43497_43810 = chunk__43474_43807.cljs$core$IIndexed$_nth$arity$2(null,i__43476_43809); var meth_name_43811 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43497_43810,(0),null); var f_43812 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43497_43810,(1),null); var meth_str_43813 = cljs.core.name(meth_name_43811); var meth_sym_43814 = cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(meth_str_43813); var env_43815 = cljs.core.deref(new cljs.core.Keyword(null,"env","env",-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx())); var multi_method_var_43816 = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_43815,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),pns_43804,meth_sym_43814], null)); var multi_method_43817 = cljs.core.deref(multi_method_var_43816); sci.impl.multimethods.multi_fn_add_method_impl(multi_method_43817,atype,(cljs.core.truth_(extend_via_metadata_43802)?(function (){var fq = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns_str_43805,meth_str_43813); return ((function (seq__43473_43806,chunk__43474_43807,count__43475_43808,i__43476_43809,seq__43338,chunk__43340,count__43341,i__43342,fq,meth_str_43813,meth_sym_43814,env_43815,multi_method_var_43816,multi_method_43817,vec__43497_43810,meth_name_43811,f_43812,extend_via_metadata_43802,proto_ns_43803,pns_43804,pns_str_43805,vec__43469,proto,mmap){ return (function() { var G__43818__delegate = function (this$,args){ var temp__5821__auto__ = cljs.core.meta(this$); if(cljs.core.truth_(temp__5821__auto__)){ var m = temp__5821__auto__; var temp__5821__auto____$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,fq); if(cljs.core.truth_(temp__5821__auto____$1)){ var meth = temp__5821__auto____$1; return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(meth,this$,args); } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43812,this$,args); } } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43812,this$,args); } }; var G__43818 = function (this$,var_args){ var args = null; if (arguments.length > 1) { var G__43819__i = 0, G__43819__a = new Array(arguments.length - 1); while (G__43819__i < G__43819__a.length) {G__43819__a[G__43819__i] = arguments[G__43819__i + 1]; ++G__43819__i;} args = new cljs.core.IndexedSeq(G__43819__a,0,null); } return G__43818__delegate.call(this,this$,args);}; G__43818.cljs$lang$maxFixedArity = 1; G__43818.cljs$lang$applyTo = (function (arglist__43820){ var this$ = cljs.core.first(arglist__43820); var args = cljs.core.rest(arglist__43820); return G__43818__delegate(this$,args); }); G__43818.cljs$core$IFn$_invoke$arity$variadic = G__43818__delegate; return G__43818; })() ; ;})(seq__43473_43806,chunk__43474_43807,count__43475_43808,i__43476_43809,seq__43338,chunk__43340,count__43341,i__43342,fq,meth_str_43813,meth_sym_43814,env_43815,multi_method_var_43816,multi_method_43817,vec__43497_43810,meth_name_43811,f_43812,extend_via_metadata_43802,proto_ns_43803,pns_43804,pns_str_43805,vec__43469,proto,mmap)) })():f_43812)); var G__43821 = seq__43473_43806; var G__43822 = chunk__43474_43807; var G__43823 = count__43475_43808; var G__43824 = (i__43476_43809 + (1)); seq__43473_43806 = G__43821; chunk__43474_43807 = G__43822; count__43475_43808 = G__43823; i__43476_43809 = G__43824; continue; } else { var temp__5823__auto___43825 = cljs.core.seq(seq__43473_43806); if(temp__5823__auto___43825){ var seq__43473_43826__$1 = temp__5823__auto___43825; if(cljs.core.chunked_seq_QMARK_(seq__43473_43826__$1)){ var c__5548__auto___43827 = cljs.core.chunk_first(seq__43473_43826__$1); var G__43828 = cljs.core.chunk_rest(seq__43473_43826__$1); var G__43829 = c__5548__auto___43827; var G__43830 = cljs.core.count(c__5548__auto___43827); var G__43831 = (0); seq__43473_43806 = G__43828; chunk__43474_43807 = G__43829; count__43475_43808 = G__43830; i__43476_43809 = G__43831; continue; } else { var vec__43504_43832 = cljs.core.first(seq__43473_43826__$1); var meth_name_43833 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43504_43832,(0),null); var f_43834 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43504_43832,(1),null); var meth_str_43835 = cljs.core.name(meth_name_43833); var meth_sym_43836 = cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(meth_str_43835); var env_43837 = cljs.core.deref(new cljs.core.Keyword(null,"env","env",-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx())); var multi_method_var_43838 = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_43837,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),pns_43804,meth_sym_43836], null)); var multi_method_43839 = cljs.core.deref(multi_method_var_43838); sci.impl.multimethods.multi_fn_add_method_impl(multi_method_43839,atype,(cljs.core.truth_(extend_via_metadata_43802)?(function (){var fq = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns_str_43805,meth_str_43835); return ((function (seq__43473_43806,chunk__43474_43807,count__43475_43808,i__43476_43809,seq__43338,chunk__43340,count__43341,i__43342,fq,meth_str_43835,meth_sym_43836,env_43837,multi_method_var_43838,multi_method_43839,vec__43504_43832,meth_name_43833,f_43834,seq__43473_43826__$1,temp__5823__auto___43825,extend_via_metadata_43802,proto_ns_43803,pns_43804,pns_str_43805,vec__43469,proto,mmap){ return (function() { var G__43840__delegate = function (this$,args){ var temp__5821__auto__ = cljs.core.meta(this$); if(cljs.core.truth_(temp__5821__auto__)){ var m = temp__5821__auto__; var temp__5821__auto____$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,fq); if(cljs.core.truth_(temp__5821__auto____$1)){ var meth = temp__5821__auto____$1; return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(meth,this$,args); } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43834,this$,args); } } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43834,this$,args); } }; var G__43840 = function (this$,var_args){ var args = null; if (arguments.length > 1) { var G__43841__i = 0, G__43841__a = new Array(arguments.length - 1); while (G__43841__i < G__43841__a.length) {G__43841__a[G__43841__i] = arguments[G__43841__i + 1]; ++G__43841__i;} args = new cljs.core.IndexedSeq(G__43841__a,0,null); } return G__43840__delegate.call(this,this$,args);}; G__43840.cljs$lang$maxFixedArity = 1; G__43840.cljs$lang$applyTo = (function (arglist__43842){ var this$ = cljs.core.first(arglist__43842); var args = cljs.core.rest(arglist__43842); return G__43840__delegate(this$,args); }); G__43840.cljs$core$IFn$_invoke$arity$variadic = G__43840__delegate; return G__43840; })() ; ;})(seq__43473_43806,chunk__43474_43807,count__43475_43808,i__43476_43809,seq__43338,chunk__43340,count__43341,i__43342,fq,meth_str_43835,meth_sym_43836,env_43837,multi_method_var_43838,multi_method_43839,vec__43504_43832,meth_name_43833,f_43834,seq__43473_43826__$1,temp__5823__auto___43825,extend_via_metadata_43802,proto_ns_43803,pns_43804,pns_str_43805,vec__43469,proto,mmap)) })():f_43834)); var G__43843 = cljs.core.next(seq__43473_43826__$1); var G__43844 = null; var G__43845 = (0); var G__43846 = (0); seq__43473_43806 = G__43843; chunk__43474_43807 = G__43844; count__43475_43808 = G__43845; i__43476_43809 = G__43846; continue; } } else { } } break; } var G__43847 = seq__43338; var G__43848 = chunk__43340; var G__43849 = count__43341; var G__43850 = (i__43342 + (1)); seq__43338 = G__43847; chunk__43340 = G__43848; count__43341 = G__43849; i__43342 = G__43850; continue; } else { var temp__5823__auto__ = cljs.core.seq(seq__43338); if(temp__5823__auto__){ var seq__43338__$1 = temp__5823__auto__; if(cljs.core.chunked_seq_QMARK_(seq__43338__$1)){ var c__5548__auto__ = cljs.core.chunk_first(seq__43338__$1); var G__43851 = cljs.core.chunk_rest(seq__43338__$1); var G__43852 = c__5548__auto__; var G__43853 = cljs.core.count(c__5548__auto__); var G__43854 = (0); seq__43338 = G__43851; chunk__43340 = G__43852; count__43341 = G__43853; i__43342 = G__43854; continue; } else { var vec__43508 = cljs.core.first(seq__43338__$1); var proto = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43508,(0),null); var mmap = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43508,(1),null); var extend_via_metadata_43855 = new cljs.core.Keyword(null,"extend-via-metadata","extend-via-metadata",-427346794).cljs$core$IFn$_invoke$arity$1(proto); var proto_ns_43856 = new cljs.core.Keyword(null,"ns","ns",441598760).cljs$core$IFn$_invoke$arity$1(proto); var pns_43857 = sci.impl.types.getName(proto_ns_43856); var pns_str_43858 = (cljs.core.truth_(extend_via_metadata_43855)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(pns_43857):null); var seq__43511_43859 = cljs.core.seq(mmap); var chunk__43512_43860 = null; var count__43513_43861 = (0); var i__43514_43862 = (0); while(true){ if((i__43514_43862 < count__43513_43861)){ var vec__43542_43863 = chunk__43512_43860.cljs$core$IIndexed$_nth$arity$2(null,i__43514_43862); var meth_name_43864 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43542_43863,(0),null); var f_43865 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43542_43863,(1),null); var meth_str_43866 = cljs.core.name(meth_name_43864); var meth_sym_43867 = cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(meth_str_43866); var env_43868 = cljs.core.deref(new cljs.core.Keyword(null,"env","env",-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx())); var multi_method_var_43869 = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_43868,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),pns_43857,meth_sym_43867], null)); var multi_method_43870 = cljs.core.deref(multi_method_var_43869); sci.impl.multimethods.multi_fn_add_method_impl(multi_method_43870,atype,(cljs.core.truth_(extend_via_metadata_43855)?(function (){var fq = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns_str_43858,meth_str_43866); return ((function (seq__43511_43859,chunk__43512_43860,count__43513_43861,i__43514_43862,seq__43338,chunk__43340,count__43341,i__43342,fq,meth_str_43866,meth_sym_43867,env_43868,multi_method_var_43869,multi_method_43870,vec__43542_43863,meth_name_43864,f_43865,extend_via_metadata_43855,proto_ns_43856,pns_43857,pns_str_43858,vec__43508,proto,mmap,seq__43338__$1,temp__5823__auto__){ return (function() { var G__43871__delegate = function (this$,args){ var temp__5821__auto__ = cljs.core.meta(this$); if(cljs.core.truth_(temp__5821__auto__)){ var m = temp__5821__auto__; var temp__5821__auto____$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,fq); if(cljs.core.truth_(temp__5821__auto____$1)){ var meth = temp__5821__auto____$1; return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(meth,this$,args); } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43865,this$,args); } } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43865,this$,args); } }; var G__43871 = function (this$,var_args){ var args = null; if (arguments.length > 1) { var G__43872__i = 0, G__43872__a = new Array(arguments.length - 1); while (G__43872__i < G__43872__a.length) {G__43872__a[G__43872__i] = arguments[G__43872__i + 1]; ++G__43872__i;} args = new cljs.core.IndexedSeq(G__43872__a,0,null); } return G__43871__delegate.call(this,this$,args);}; G__43871.cljs$lang$maxFixedArity = 1; G__43871.cljs$lang$applyTo = (function (arglist__43873){ var this$ = cljs.core.first(arglist__43873); var args = cljs.core.rest(arglist__43873); return G__43871__delegate(this$,args); }); G__43871.cljs$core$IFn$_invoke$arity$variadic = G__43871__delegate; return G__43871; })() ; ;})(seq__43511_43859,chunk__43512_43860,count__43513_43861,i__43514_43862,seq__43338,chunk__43340,count__43341,i__43342,fq,meth_str_43866,meth_sym_43867,env_43868,multi_method_var_43869,multi_method_43870,vec__43542_43863,meth_name_43864,f_43865,extend_via_metadata_43855,proto_ns_43856,pns_43857,pns_str_43858,vec__43508,proto,mmap,seq__43338__$1,temp__5823__auto__)) })():f_43865)); var G__43874 = seq__43511_43859; var G__43875 = chunk__43512_43860; var G__43876 = count__43513_43861; var G__43877 = (i__43514_43862 + (1)); seq__43511_43859 = G__43874; chunk__43512_43860 = G__43875; count__43513_43861 = G__43876; i__43514_43862 = G__43877; continue; } else { var temp__5823__auto___43878__$1 = cljs.core.seq(seq__43511_43859); if(temp__5823__auto___43878__$1){ var seq__43511_43879__$1 = temp__5823__auto___43878__$1; if(cljs.core.chunked_seq_QMARK_(seq__43511_43879__$1)){ var c__5548__auto___43880 = cljs.core.chunk_first(seq__43511_43879__$1); var G__43881 = cljs.core.chunk_rest(seq__43511_43879__$1); var G__43882 = c__5548__auto___43880; var G__43883 = cljs.core.count(c__5548__auto___43880); var G__43884 = (0); seq__43511_43859 = G__43881; chunk__43512_43860 = G__43882; count__43513_43861 = G__43883; i__43514_43862 = G__43884; continue; } else { var vec__43563_43885 = cljs.core.first(seq__43511_43879__$1); var meth_name_43886 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43563_43885,(0),null); var f_43887 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43563_43885,(1),null); var meth_str_43888 = cljs.core.name(meth_name_43886); var meth_sym_43889 = cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(meth_str_43888); var env_43890 = cljs.core.deref(new cljs.core.Keyword(null,"env","env",-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx())); var multi_method_var_43891 = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_43890,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),pns_43857,meth_sym_43889], null)); var multi_method_43892 = cljs.core.deref(multi_method_var_43891); sci.impl.multimethods.multi_fn_add_method_impl(multi_method_43892,atype,(cljs.core.truth_(extend_via_metadata_43855)?(function (){var fq = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns_str_43858,meth_str_43888); return ((function (seq__43511_43859,chunk__43512_43860,count__43513_43861,i__43514_43862,seq__43338,chunk__43340,count__43341,i__43342,fq,meth_str_43888,meth_sym_43889,env_43890,multi_method_var_43891,multi_method_43892,vec__43563_43885,meth_name_43886,f_43887,seq__43511_43879__$1,temp__5823__auto___43878__$1,extend_via_metadata_43855,proto_ns_43856,pns_43857,pns_str_43858,vec__43508,proto,mmap,seq__43338__$1,temp__5823__auto__){ return (function() { var G__43897__delegate = function (this$,args){ var temp__5821__auto__ = cljs.core.meta(this$); if(cljs.core.truth_(temp__5821__auto__)){ var m = temp__5821__auto__; var temp__5821__auto____$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,fq); if(cljs.core.truth_(temp__5821__auto____$1)){ var meth = temp__5821__auto____$1; return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(meth,this$,args); } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43887,this$,args); } } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43887,this$,args); } }; var G__43897 = function (this$,var_args){ var args = null; if (arguments.length > 1) { var G__43898__i = 0, G__43898__a = new Array(arguments.length - 1); while (G__43898__i < G__43898__a.length) {G__43898__a[G__43898__i] = arguments[G__43898__i + 1]; ++G__43898__i;} args = new cljs.core.IndexedSeq(G__43898__a,0,null); } return G__43897__delegate.call(this,this$,args);}; G__43897.cljs$lang$maxFixedArity = 1; G__43897.cljs$lang$applyTo = (function (arglist__43899){ var this$ = cljs.core.first(arglist__43899); var args = cljs.core.rest(arglist__43899); return G__43897__delegate(this$,args); }); G__43897.cljs$core$IFn$_invoke$arity$variadic = G__43897__delegate; return G__43897; })() ; ;})(seq__43511_43859,chunk__43512_43860,count__43513_43861,i__43514_43862,seq__43338,chunk__43340,count__43341,i__43342,fq,meth_str_43888,meth_sym_43889,env_43890,multi_method_var_43891,multi_method_43892,vec__43563_43885,meth_name_43886,f_43887,seq__43511_43879__$1,temp__5823__auto___43878__$1,extend_via_metadata_43855,proto_ns_43856,pns_43857,pns_str_43858,vec__43508,proto,mmap,seq__43338__$1,temp__5823__auto__)) })():f_43887)); var G__43900 = cljs.core.next(seq__43511_43879__$1); var G__43901 = null; var G__43902 = (0); var G__43903 = (0); seq__43511_43859 = G__43900; chunk__43512_43860 = G__43901; count__43513_43861 = G__43902; i__43514_43862 = G__43903; continue; } } else { } } break; } var G__43904 = cljs.core.next(seq__43338__$1); var G__43905 = null; var G__43906 = (0); var G__43907 = (0); seq__43338 = G__43904; chunk__43340 = G__43905; count__43341 = G__43906; i__43342 = G__43907; continue; } } else { return null; } } break; } })); (sci.impl.protocols.extend.cljs$lang$maxFixedArity = (1)); /** @this {Function} */ (sci.impl.protocols.extend.cljs$lang$applyTo = (function (seq43336){ var G__43337 = cljs.core.first(seq43336); var seq43336__$1 = cljs.core.next(seq43336); var self__5734__auto__ = this; return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43337,seq43336__$1); })); /** * Processes single args+body pair for extending via metadata */ sci.impl.protocols.process_single_extend_meta = (function sci$impl$protocols$process_single_extend_meta(fq,p__43587,default_method_QMARK_){ var vec__43588 = p__43587; var seq__43589 = cljs.core.seq(vec__43588); var first__43590 = cljs.core.first(seq__43589); var seq__43589__$1 = cljs.core.next(seq__43589); var args = first__43590; var body = seq__43589__$1; return (new cljs.core.List(null,args,(new cljs.core.List(null,(cljs.core.truth_(default_method_QMARK_)?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","let","cljs.core/let",-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"farg__43577__auto__","farg__43577__auto__",-48314554,null),null,(1),null)),(new cljs.core.List(null,cljs.core.first(args),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","if-let","cljs.core/if-let",1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"m__43578__auto__","m__43578__auto__",-1487622484,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","meta","cljs.core/meta",-748218346,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"farg__43577__auto__","farg__43577__auto__",-48314554,null),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","if-let","cljs.core/if-let",1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43579__auto__","meth__43579__auto__",-1930727821,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","get","cljs.core/get",-296075407,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"m__43578__auto__","m__43578__auto__",-1487622484,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43579__auto__","meth__43579__auto__",-1930727821,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","let","cljs.core/let",-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43579__auto__","meth__43579__auto__",-1930727821,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","type","cljs.core/type",-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"farg__43577__auto__","farg__43577__auto__",-48314554,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43580__auto__","default__43580__auto__",890230784,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"if","if",1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","not=","cljs.core/not=",1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43580__auto__","default__43580__auto__",890230784,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43579__auto__","meth__43579__auto__",-1930727821,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43579__auto__","meth__43579__auto__",-1930727821,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","let","cljs.core/let",-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43579__auto__","meth__43579__auto__",-1930727821,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","type","cljs.core/type",-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"farg__43577__auto__","farg__43577__auto__",-48314554,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43580__auto__","default__43580__auto__",890230784,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"if","if",1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","not=","cljs.core/not=",1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43580__auto__","default__43580__auto__",890230784,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43579__auto__","meth__43579__auto__",-1930727821,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43579__auto__","meth__43579__auto__",-1930727821,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))):cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","let","cljs.core/let",-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"farg__43581__auto__","farg__43581__auto__",-2041488842,null),null,(1),null)),(new cljs.core.List(null,cljs.core.first(args),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","if-let","cljs.core/if-let",1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"m__43582__auto__","m__43582__auto__",-1702214720,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","meta","cljs.core/meta",-748218346,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"farg__43581__auto__","farg__43581__auto__",-2041488842,null),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","if-let","cljs.core/if-let",1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43583__auto__","meth__43583__auto__",-303611607,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","get","cljs.core/get",-296075407,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"m__43582__auto__","m__43582__auto__",-1702214720,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43583__auto__","meth__43583__auto__",-303611607,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),(2),null)); }); sci.impl.protocols.process_single = (function sci$impl$protocols$process_single(fq,p__43619){ var vec__43620 = p__43619; var seq__43621 = cljs.core.seq(vec__43620); var first__43622 = cljs.core.first(seq__43621); var seq__43621__$1 = cljs.core.next(seq__43621); var args = first__43622; var body = seq__43621__$1; return (new cljs.core.List(null,args,(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","let","cljs.core/let",-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"farg__43616__auto__","farg__43616__auto__",-1528054904,null),null,(1),null)),(new cljs.core.List(null,cljs.core.first(args),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","let","cljs.core/let",-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43617__auto__","meth__43617__auto__",-1310598032,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","type","cljs.core/type",-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"farg__43616__auto__","farg__43616__auto__",-1528054904,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43618__auto__","default__43618__auto__",-1297838305,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"if","if",1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","not=","cljs.core/not=",1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43618__auto__","default__43618__auto__",-1297838305,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43617__auto__","meth__43617__auto__",-1310598032,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43617__auto__","meth__43617__auto__",-1310598032,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),(2),null)); }); sci.impl.protocols.process_methods = (function sci$impl$protocols$process_methods(ctx,type,meths,protocol_ns,extend_via_metadata){ var default_method_QMARK_ = sci.impl.protocols.default_QMARK_(ctx,type); return cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43634){ var vec__43635 = p__43634; var seq__43636 = cljs.core.seq(vec__43635); var first__43637 = cljs.core.first(seq__43636); var seq__43636__$1 = cljs.core.next(seq__43636); var meth_name = first__43637; var fn_body = seq__43636__$1; var fq = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(protocol_ns,cljs.core.name(meth_name)); var fn_body__$1 = (cljs.core.truth_(extend_via_metadata)?((cljs.core.vector_QMARK_(cljs.core.first(fn_body)))?sci.impl.protocols.process_single_extend_meta(fq,fn_body,default_method_QMARK_):cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__43632_SHARP_){ return sci.impl.protocols.process_single_extend_meta(fq,p1__43632_SHARP_,default_method_QMARK_); }),fn_body)):((default_method_QMARK_)?((cljs.core.vector_QMARK_(cljs.core.first(fn_body)))?sci.impl.protocols.process_single(fq,fn_body):cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__43633_SHARP_){ return sci.impl.protocols.process_single(fq,p1__43633_SHARP_); }),fn_body)):fn_body )); if(default_method_QMARK_){ return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","defmethod","cljs.core/defmethod",-180785162,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),null,(1),null)),fn_body__$1], 0)))); } else { return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","defmethod","cljs.core/defmethod",-180785162,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,type,null,(1),null)),fn_body__$1], 0)))); } }),meths); }); sci.impl.protocols.cljs_type_symbols = new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Symbol(null,"default","default",-347290801,null),sci.impl.protocols.extend_default_val,new cljs.core.Symbol(null,"object","object",-1179821820,null),new cljs.core.Symbol("js","Object","js/Object",61215323,null),new cljs.core.Symbol(null,"string","string",-349010059,null),new cljs.core.Symbol("js","String","js/String",-2070054036,null),new cljs.core.Symbol(null,"number","number",-1084057331,null),new cljs.core.Symbol("js","Number","js/Number",-508133572,null),new cljs.core.Symbol(null,"array","array",-440182315,null),new cljs.core.Symbol("js","Array","js/Array",-423508366,null),new cljs.core.Symbol(null,"function","function",-486723946,null),new cljs.core.Symbol("js","Function","js/Function",-749892063,null),new cljs.core.Symbol(null,"boolean","boolean",-278886877,null),new cljs.core.Symbol("js","Boolean","js/Boolean",1661145260,null)], null); sci.impl.protocols.type__GT_str = (function sci$impl$protocols$type__GT_str(t){ if((!((t == null)))){ return cljs.core.str.cljs$core$IFn$_invoke$arity$1(t); } else { return "nil"; } }); sci.impl.protocols.extend_protocol = (function sci$impl$protocols$extend_protocol(var_args){ var args__5755__auto__ = []; var len__5749__auto___43908 = arguments.length; var i__5750__auto___43909 = (0); while(true){ if((i__5750__auto___43909 < len__5749__auto___43908)){ args__5755__auto__.push((arguments[i__5750__auto___43909])); var G__43910 = (i__5750__auto___43909 + (1)); i__5750__auto___43909 = G__43910; continue; } else { } break; } var argseq__5756__auto__ = ((((3) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null); return sci.impl.protocols.extend_protocol.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__); }); (sci.impl.protocols.extend_protocol.cljs$core$IFn$_invoke$arity$variadic = (function (form,_,protocol_name,impls){ var ctx = sci.ctx_store.get_ctx(); var print_writer_QMARK_ = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,"IPrintWithWriter","IPrintWithWriter",-1205316154,null),protocol_name); var impls__$1 = sci.impl.utils.split_when((function (p1__43642_SHARP_){ return (!(cljs.core.seq_QMARK_(p1__43642_SHARP_))); }),impls); var protocol_var = (function (){var or__5025__auto__ = (function (){var G__43651 = ctx; var G__43652 = new cljs.core.Keyword(null,"bindingx","bindingx",679516896).cljs$core$IFn$_invoke$arity$1(ctx); var G__43653 = protocol_name; var fexpr__43650 = cljs.core.deref(sci.impl.utils.eval_resolve_state); return (fexpr__43650.cljs$core$IFn$_invoke$arity$3 ? fexpr__43650.cljs$core$IFn$_invoke$arity$3(G__43651,G__43652,G__43653) : fexpr__43650.call(null,G__43651,G__43652,G__43653)); })(); if(cljs.core.truth_(or__5025__auto__)){ return or__5025__auto__; } else { var or__5025__auto____$1 = ((print_writer_QMARK_)?new cljs.core.Keyword("sci.impl.protocols","IPrintWithWriter","sci.impl.protocols/IPrintWithWriter",1832791161):null); if(cljs.core.truth_(or__5025__auto____$1)){ return or__5025__auto____$1; } else { return sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(["Protocol not found: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_name)].join(''),form); } } })(); var protocol_data = ((sci.impl.utils.var_QMARK_(protocol_var))?cljs.core.deref(protocol_var):null); var extend_via_metadata = new cljs.core.Keyword(null,"extend-via-metadata","extend-via-metadata",-427346794).cljs$core$IFn$_invoke$arity$1(protocol_data); var protocol_ns = new cljs.core.Keyword(null,"ns","ns",441598760).cljs$core$IFn$_invoke$arity$1(protocol_data); var pns = (((protocol_var instanceof cljs.core.Keyword))?"sci.impl.protocols":cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(protocol_ns))); var expansion = cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43655){ var vec__43656 = p__43655; var seq__43657 = cljs.core.seq(vec__43656); var first__43658 = cljs.core.first(seq__43657); var seq__43657__$1 = cljs.core.next(seq__43657); var type = first__43658; var meths = seq__43657__$1; var type__$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$3(sci.impl.protocols.cljs_type_symbols,type,type); if(print_writer_QMARK_){ return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","alter-meta!","cljs.core/alter-meta!",574694262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),null,(1),null)),(new cljs.core.List(null,type__$1,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","assoc","cljs.core/assoc",322326297,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword("sci.impl","print-method","sci.impl/print-method",281191566),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,(1),null)),cljs.core.rest(cljs.core.first(meths))))),null,(1),null))], 0)))); } else { return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","alter-var-root","cljs.core/alter-var-root",-1342668238,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),null,(1),null)),(new cljs.core.List(null,protocol_name,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","update","cljs.core/update",-908565906,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,"satisfies","satisfies",-311664218),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fnil","cljs.core/fnil",479587341,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","conj","cljs.core/conj",-460750931,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_set,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("sci.impl.protocols","type->str","sci.impl.protocols/type->str",1214133319,null),null,(1),null)),(new cljs.core.List(null,type__$1,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.protocols.process_methods(ctx,type__$1,meths,pns,extend_via_metadata)], 0)))); } }),impls__$1)))); return expansion; })); (sci.impl.protocols.extend_protocol.cljs$lang$maxFixedArity = (3)); /** @this {Function} */ (sci.impl.protocols.extend_protocol.cljs$lang$applyTo = (function (seq43643){ var G__43644 = cljs.core.first(seq43643); var seq43643__$1 = cljs.core.next(seq43643); var G__43645 = cljs.core.first(seq43643__$1); var seq43643__$2 = cljs.core.next(seq43643__$1); var G__43646 = cljs.core.first(seq43643__$2); var seq43643__$3 = cljs.core.next(seq43643__$2); var self__5734__auto__ = this; return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43644,G__43645,G__43646,seq43643__$3); })); sci.impl.protocols.extend_type = (function sci$impl$protocols$extend_type(var_args){ var args__5755__auto__ = []; var len__5749__auto___43922 = arguments.length; var i__5750__auto___43923 = (0); while(true){ if((i__5750__auto___43923 < len__5749__auto___43922)){ args__5755__auto__.push((arguments[i__5750__auto___43923])); var G__43924 = (i__5750__auto___43923 + (1)); i__5750__auto___43923 = G__43924; continue; } else { } break; } var argseq__5756__auto__ = ((((3) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null); return sci.impl.protocols.extend_type.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__); }); (sci.impl.protocols.extend_type.cljs$core$IFn$_invoke$arity$variadic = (function (form,_env,atype,proto_PLUS_meths){ var ctx = sci.ctx_store.get_ctx(); var atype__$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$3(sci.impl.protocols.cljs_type_symbols,atype,atype); var proto_PLUS_meths__$1 = sci.impl.utils.split_when((function (p1__43663_SHARP_){ return (!(cljs.core.seq_QMARK_(p1__43663_SHARP_))); }),proto_PLUS_meths); return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43671){ var vec__43672 = p__43671; var seq__43673 = cljs.core.seq(vec__43672); var first__43674 = cljs.core.first(seq__43673); var seq__43673__$1 = cljs.core.next(seq__43673); var proto = first__43674; var meths = seq__43673__$1; var protocol_var = (function (){var or__5025__auto__ = (function (){var G__43676 = ctx; var G__43677 = new cljs.core.Keyword(null,"bindingx","bindingx",679516896).cljs$core$IFn$_invoke$arity$1(ctx); var G__43678 = proto; var fexpr__43675 = cljs.core.deref(sci.impl.utils.eval_resolve_state); return (fexpr__43675.cljs$core$IFn$_invoke$arity$3 ? fexpr__43675.cljs$core$IFn$_invoke$arity$3(G__43676,G__43677,G__43678) : fexpr__43675.call(null,G__43676,G__43677,G__43678)); })(); if(cljs.core.truth_(or__5025__auto__)){ return or__5025__auto__; } else { return sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(["Protocol not found: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(proto)].join(''),form); } })(); var proto_data = cljs.core.deref(protocol_var); var protocol_ns = new cljs.core.Keyword(null,"ns","ns",441598760).cljs$core$IFn$_invoke$arity$1(proto_data); var pns = cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(protocol_ns)); var extend_via_metadata = new cljs.core.Keyword(null,"extend-via-metadata","extend-via-metadata",-427346794).cljs$core$IFn$_invoke$arity$1(proto_data); return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","alter-var-root","cljs.core/alter-var-root",-1342668238,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),null,(1),null)),(new cljs.core.List(null,proto,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","update","cljs.core/update",-908565906,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,"satisfies","satisfies",-311664218),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fnil","cljs.core/fnil",479587341,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","conj","cljs.core/conj",-460750931,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_set,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("sci.impl.protocols","type->str","sci.impl.protocols/type->str",1214133319,null),null,(1),null)),(new cljs.core.List(null,atype__$1,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.protocols.process_methods(ctx,atype__$1,meths,pns,extend_via_metadata)], 0)))); }),proto_PLUS_meths__$1)))); })); (sci.impl.protocols.extend_type.cljs$lang$maxFixedArity = (3)); /** @this {Function} */ (sci.impl.protocols.extend_type.cljs$lang$applyTo = (function (seq43664){ var G__43665 = cljs.core.first(seq43664); var seq43664__$1 = cljs.core.next(seq43664); var G__43666 = cljs.core.first(seq43664__$1); var seq43664__$2 = cljs.core.next(seq43664__$1); var G__43667 = cljs.core.first(seq43664__$2); var seq43664__$3 = cljs.core.next(seq43664__$2); var self__5734__auto__ = this; return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43665,G__43666,G__43667,seq43664__$3); })); sci.impl.protocols.find_matching_non_default_method = (function sci$impl$protocols$find_matching_non_default_method(protocol,obj){ var or__5025__auto__ = (function (){var temp__5823__auto__ = new cljs.core.Keyword(null,"satisfies","satisfies",-311664218).cljs$core$IFn$_invoke$arity$1(protocol); if(cljs.core.truth_(temp__5823__auto__)){ var sats = temp__5823__auto__; var or__5025__auto__ = cljs.core.contains_QMARK_(sats,sci.impl.protocols.extend_default_val); if(or__5025__auto__){ return or__5025__auto__; } else { var or__5025__auto____$1 = (((obj == null))?cljs.core.contains_QMARK_(sats,"nil"):null); if(cljs.core.truth_(or__5025__auto____$1)){ return or__5025__auto____$1; } else { var temp__5823__auto____$1 = sci.impl.types.type_impl(obj); if(cljs.core.truth_(temp__5823__auto____$1)){ var t = temp__5823__auto____$1; return cljs.core.contains_QMARK_(sats,sci.impl.protocols.type__GT_str(t)); } else { return null; } } } } else { return null; } })(); if(cljs.core.truth_(or__5025__auto__)){ return or__5025__auto__; } else { return cljs.core.boolean$(cljs.core.some((function (p1__43680_SHARP_){ var temp__5823__auto__ = cljs.core.get_method(p1__43680_SHARP_,sci.impl.types.type_impl(obj)); if(cljs.core.truth_(temp__5823__auto__)){ var m = temp__5823__auto__; var ms = cljs.core.methods$(p1__43680_SHARP_); var default$ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(ms,new cljs.core.Keyword(null,"default","default",-1987822328)); return (!((m === default$))); } else { return null; } }),new cljs.core.Keyword(null,"methods","methods",453930866).cljs$core$IFn$_invoke$arity$1(protocol))); } }); sci.impl.protocols.satisfies_QMARK_ = (function sci$impl$protocols$satisfies_QMARK_(protocol,obj){ if((obj instanceof sci.impl.types.Reified)){ return cljs.core.contains_QMARK_(obj.sci$impl$types$IReified$getProtocols$arity$1(null),protocol); } else { var p = new cljs.core.Keyword(null,"protocol","protocol",652470118).cljs$core$IFn$_invoke$arity$1(protocol); var or__5025__auto__ = (function (){var and__5023__auto__ = p; if(cljs.core.truth_(and__5023__auto__)){ var pred__43688 = cljs.core._EQ_; var expr__43689 = p; if(cljs.core.truth_((pred__43688.cljs$core$IFn$_invoke$arity$2 ? pred__43688.cljs$core$IFn$_invoke$arity$2(cljs.core.IDeref,expr__43689) : pred__43688.call(null,cljs.core.IDeref,expr__43689)))){ if((!((obj == null)))){ if((((obj.cljs$lang$protocol_mask$partition0$ & (32768))) || ((cljs.core.PROTOCOL_SENTINEL === obj.cljs$core$IDeref$)))){ return true; } else { if((!obj.cljs$lang$protocol_mask$partition0$)){ return cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj); } else { return false; } } } else { return cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj); } } else { if(cljs.core.truth_((pred__43688.cljs$core$IFn$_invoke$arity$2 ? pred__43688.cljs$core$IFn$_invoke$arity$2(cljs.core.ISwap,expr__43689) : pred__43688.call(null,cljs.core.ISwap,expr__43689)))){ if((!((obj == null)))){ if((((obj.cljs$lang$protocol_mask$partition1$ & (65536))) || ((cljs.core.PROTOCOL_SENTINEL === obj.cljs$core$ISwap$)))){ return true; } else { if((!obj.cljs$lang$protocol_mask$partition1$)){ return cljs.core.native_satisfies_QMARK_(cljs.core.ISwap,obj); } else { return false; } } } else { return cljs.core.native_satisfies_QMARK_(cljs.core.ISwap,obj); } } else { if(cljs.core.truth_((pred__43688.cljs$core$IFn$_invoke$arity$2 ? pred__43688.cljs$core$IFn$_invoke$arity$2(cljs.core.IReset,expr__43689) : pred__43688.call(null,cljs.core.IReset,expr__43689)))){ if((!((obj == null)))){ if((((obj.cljs$lang$protocol_mask$partition1$ & (32768))) || ((cljs.core.PROTOCOL_SENTINEL === obj.cljs$core$IReset$)))){ return true; } else { if((!obj.cljs$lang$protocol_mask$partition1$)){ return cljs.core.native_satisfies_QMARK_(cljs.core.IReset,obj); } else { return false; } } } else { return cljs.core.native_satisfies_QMARK_(cljs.core.IReset,obj); } } else { if(cljs.core.truth_((pred__43688.cljs$core$IFn$_invoke$arity$2 ? pred__43688.cljs$core$IFn$_invoke$arity$2(cljs.core.IRecord,expr__43689) : pred__43688.call(null,cljs.core.IRecord,expr__43689)))){ if((!((obj == null)))){ if((((obj.cljs$lang$protocol_mask$partition0$ & (67108864))) || ((cljs.core.PROTOCOL_SENTINEL === obj.cljs$core$IRecord$)))){ return true; } else { if((!obj.cljs$lang$protocol_mask$partition0$)){ return cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,obj); } else { return false; } } } else { return cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,obj); } } else { throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__43689)].join(''))); } } } } } else { return and__5023__auto__; } })(); if(cljs.core.truth_(or__5025__auto__)){ return or__5025__auto__; } else { return sci.impl.protocols.find_matching_non_default_method(protocol,obj); } } }); sci.impl.protocols.instance_impl = (function sci$impl$protocols$instance_impl(clazz,x){ if((clazz instanceof sci.lang.Type)){ if((((!((x == null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL === x.sci$impl$types$SciTypeInstance$))))?true:false):false)){ return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(clazz,x.sci$impl$types$SciTypeInstance$_get_type$arity$1(null)); } else { return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(clazz,new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(x))); } } else { if(cljs.core.map_QMARK_(clazz)){ return sci.impl.protocols.satisfies_QMARK_(clazz,x); } else { return (x instanceof clazz); } } }); /** * Returns true if atype extends protocol */ sci.impl.protocols.extends_QMARK_ = (function sci$impl$protocols$extends_QMARK_(protocol,atype){ return cljs.core.boolean$(cljs.core.some((function (p1__43712_SHARP_){ return cljs.core.get_method(p1__43712_SHARP_,atype); }),new cljs.core.Keyword(null,"methods","methods",453930866).cljs$core$IFn$_invoke$arity$1(protocol))); }); //# sourceMappingURL=sci.impl.protocols.js.map