1 line
50 KiB
JSON
1 line
50 KiB
JSON
["^ ","~:output",["^ ","~:js","goog.provide('clojure.set');\nclojure.set.bubble_max_key = (function clojure$set$bubble_max_key(k,coll){\n\nvar max = cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.max_key,k,coll);\nreturn cljs.core.cons(max,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__12169_SHARP_){\nreturn (max === p1__12169_SHARP_);\n}),coll));\n});\n/**\n * Return a set that is the union of the input sets\n */\nclojure.set.union = (function clojure$set$union(var_args){\nvar G__12174 = arguments.length;\nswitch (G__12174) {\ncase 0:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ = [];\nvar len__5769__auto___12289 = arguments.length;\nvar i__5770__auto___12290 = (0);\nwhile(true){\nif((i__5770__auto___12290 < len__5769__auto___12289)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12290]));\n\nvar G__12291 = (i__5770__auto___12290 + (1));\ni__5770__auto___12290 = G__12291;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ = (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$0 = (function (){\nreturn cljs.core.PersistentHashSet.EMPTY;\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$1 = (function (s1){\nreturn s1;\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$2 = (function (s1,s2){\nif((cljs.core.count(s1) < cljs.core.count(s2))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,s2,s1);\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,s1,s2);\n}\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$variadic = (function (s1,s2,sets){\nvar bubbled_sets = clojure.set.bubble_max_key(cljs.core.count,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(sets,s2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s1], 0)));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.into,cljs.core.first(bubbled_sets),cljs.core.rest(bubbled_sets));\n}));\n\n/** @this {Function} */\n(clojure.set.union.cljs$lang$applyTo = (function (seq12171){\nvar G__12172 = cljs.core.first(seq12171);\nvar seq12171__$1 = cljs.core.next(seq12171);\nvar G__12173 = cljs.core.first(seq12171__$1);\nvar seq12171__$2 = cljs.core.next(seq12171__$1);\nvar self__5754__auto__ = this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__12172,G__12173,seq12171__$2);\n}));\n\n(clojure.set.union.cljs$lang$maxFixedArity = (2));\n\n/**\n * Return a set that is the intersection of the input sets\n */\nclojure.set.intersection = (function clojure$set$intersection(var_args){\nvar G__12204 = arguments.length;\nswitch (G__12204) {\ncase 1:\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ = [];\nvar len__5769__auto___12295 = arguments.length;\nvar i__5770__auto___12296 = (0);\nwhile(true){\nif((i__5770__auto___12296 < len__5769__auto___12295)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12296]));\n\nvar G__12297 = (i__5770__auto___12296 + (1));\ni__5770__auto___12296 = G__12297;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ = (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$1 = (function (s1){\nreturn s1;\n}));\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$2 = (function (s1,s2){\nwhile(true){\nif((cljs.core.count(s2) < cljs.core.count(s1))){\nvar G__12298 = s2;\nvar G__12299 = s1;\ns1 = G__12298;\ns2 = G__12299;\ncontinue;\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (s1,s2){\nreturn (function (result,item){\nif(cljs.core.contains_QMARK_(s2,item)){\nreturn result;\n} else {\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(result,item);\n}\n});})(s1,s2))\n,s1,s1);\n}\nbreak;\n}\n}));\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic = (function (s1,s2,sets){\nvar bubbled_sets = clojure.set.bubble_max_key((function (p1__12190_SHARP_){\nreturn (- cljs.core.count(p1__12190_SHARP_));\n}),cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(sets,s2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s1], 0)));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(clojure.set.intersection,cljs.core.first(bubbled_sets),cljs.core.rest(bubbled_sets));\n}));\n\n/** @this {Function} */\n(clojure.set.intersection.cljs$lang$applyTo = (function (seq12201){\nvar G__12202 = cljs.core.first(seq12201);\nvar seq12201__$1 = cljs.core.next(seq12201);\nvar G__12203 = cljs.core.first(seq12201__$1);\nvar seq12201__$2 = cljs.core.next(seq12201__$1);\nvar self__5754__auto__ = this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__12202,G__12203,seq12201__$2);\n}));\n\n(clojure.set.intersection.cljs$lang$maxFixedArity = (2));\n\n/**\n * Return a set that is the first set without elements of the remaining sets\n */\nclojure.set.difference = (function clojure$set$difference(var_args){\nvar G__12221 = arguments.length;\nswitch (G__12221) {\ncase 1:\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ = [];\nvar len__5769__auto___12301 = arguments.length;\nvar i__5770__auto___12302 = (0);\nwhile(true){\nif((i__5770__auto___12302 < len__5769__auto___12301)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12302]));\n\nvar G__12303 = (i__5770__auto___12302 + (1));\ni__5770__auto___12302 = G__12303;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ = (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$1 = (function (s1){\nreturn s1;\n}));\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$2 = (function (s1,s2){\nif((cljs.core.count(s1) < cljs.core.count(s2))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,item){\nif(cljs.core.contains_QMARK_(s2,item)){\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(result,item);\n} else {\nreturn result;\n}\n}),s1,s1);\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.disj,s1,s2);\n}\n}));\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic = (function (s1,s2,sets){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(clojure.set.difference,s1,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(sets,s2));\n}));\n\n/** @this {Function} */\n(clojure.set.difference.cljs$lang$applyTo = (function (seq12218){\nvar G__12219 = cljs.core.first(seq12218);\nvar seq12218__$1 = cljs.core.next(seq12218);\nvar G__12220 = cljs.core.first(seq12218__$1);\nvar seq12218__$2 = cljs.core.next(seq12218__$1);\nvar self__5754__auto__ = this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__12219,G__12220,seq12218__$2);\n}));\n\n(clojure.set.difference.cljs$lang$maxFixedArity = (2));\n\n/**\n * Returns a set of the elements for which pred is true\n */\nclojure.set.select = (function clojure$set$select(pred,xset){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (s,k){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(k) : pred.call(null,k)))){\nreturn s;\n} else {\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(s,k);\n}\n}),xset,xset);\n});\n/**\n * Returns a rel of the elements of xrel with only the keys in ks\n */\nclojure.set.project = (function clojure$set$project(xrel,ks){\nreturn cljs.core.set(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__12231_SHARP_){\nreturn cljs.core.select_keys(p1__12231_SHARP_,ks);\n}),xrel));\n});\n/**\n * Returns the map with the keys in kmap renamed to the vals in kmap\n */\nclojure.set.rename_keys = (function clojure$set$rename_keys(map,kmap){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,p__12239){\nvar vec__12240 = p__12239;\nvar old = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12240,(0),null);\nvar new$ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12240,(1),null);\nif(cljs.core.contains_QMARK_(map,old)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,new$,cljs.core.get.cljs$core$IFn$_invoke$arity$2(map,old));\n} else {\nreturn m;\n}\n}),cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc,map,cljs.core.keys(kmap)),kmap);\n});\n/**\n * Returns a rel of the maps in xrel with the keys in kmap renamed to the vals in kmap\n */\nclojure.set.rename = (function clojure$set$rename(xrel,kmap){\nreturn cljs.core.set(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__12244_SHARP_){\nreturn clojure.set.rename_keys(p1__12244_SHARP_,kmap);\n}),xrel));\n});\n/**\n * Returns a map of the distinct values of ks in the xrel mapped to a\n * set of the maps in xrel with the corresponding values of ks.\n */\nclojure.set.index = (function clojure$set$index(xrel,ks){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,x){\nvar ik = cljs.core.select_keys(x,ks);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,ik,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(m,ik,cljs.core.PersistentHashSet.EMPTY),x));\n}),cljs.core.PersistentArrayMap.EMPTY,xrel);\n});\n/**\n * Returns the map with the vals mapped to the keys.\n */\nclojure.set.map_invert = (function clojure$set$map_invert(m){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (m__$1,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m__$1,v,k);\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),m));\n});\n/**\n * When passed 2 rels, returns the rel corresponding to the natural\n * join. When passed an additional keymap, joins on the corresponding\n * keys.\n */\nclojure.set.join = (function clojure$set$join(var_args){\nvar G__12262 = arguments.length;\nswitch (G__12262) {\ncase 2:\nreturn clojure.set.join.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.set.join.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(clojure.set.join.cljs$core$IFn$_invoke$arity$2 = (function (xrel,yrel){\nif(((cljs.core.seq(xrel)) && (cljs.core.seq(yrel)))){\nvar ks = clojure.set.intersection.cljs$core$IFn$_invoke$arity$2(cljs.core.set(cljs.core.keys(cljs.core.first(xrel))),cljs.core.set(cljs.core.keys(cljs.core.first(yrel))));\nvar vec__12278 = (((cljs.core.count(xrel) <= cljs.core.count(yrel)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [xrel,yrel], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [yrel,xrel], null));\nvar r = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12278,(0),null);\nvar s = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12278,(1),null);\nvar idx = clojure.set.index(r,ks);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar found = (function (){var G__12281 = cljs.core.select_keys(x,ks);\nreturn (idx.cljs$core$IFn$_invoke$arity$1 ? idx.cljs$core$IFn$_invoke$arity$1(G__12281) : idx.call(null,G__12281));\n})();\nif(cljs.core.truth_(found)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__12257_SHARP_,p2__12258_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__12257_SHARP_,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p2__12258_SHARP_,x], 0)));\n}),ret,found);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,s);\n} else {\nreturn cljs.core.PersistentHashSet.EMPTY;\n}\n}));\n\n(clojure.set.join.cljs$core$IFn$_invoke$arity$3 = (function (xrel,yrel,km){\nvar vec__12282 = (((cljs.core.count(xrel) <= cljs.core.count(yrel)))?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [xrel,yrel,clojure.set.map_invert(km)], null):new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [yrel,xrel,km], null));\nvar r = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12282,(0),null);\nvar s = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12282,(1),null);\nvar k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12282,(2),null);\nvar idx = clojure.set.index(r,cljs.core.vals(k));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar found = (function (){var G__12285 = clojure.set.rename_keys(cljs.core.select_keys(x,cljs.core.keys(k)),k);\nreturn (idx.cljs$core$IFn$_invoke$arity$1 ? idx.cljs$core$IFn$_invoke$arity$1(G__12285) : idx.call(null,G__12285));\n})();\nif(cljs.core.truth_(found)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__12259_SHARP_,p2__12260_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__12259_SHARP_,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p2__12260_SHARP_,x], 0)));\n}),ret,found);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,s);\n}));\n\n(clojure.set.join.cljs$lang$maxFixedArity = 3);\n\n/**\n * Is set1 a subset of set2?\n */\nclojure.set.subset_QMARK_ = (function clojure$set$subset_QMARK_(set1,set2){\nreturn (((cljs.core.count(set1) <= cljs.core.count(set2))) && (cljs.core.every_QMARK_((function (p1__12286_SHARP_){\nreturn cljs.core.contains_QMARK_(set2,p1__12286_SHARP_);\n}),set1)));\n});\n/**\n * Is set1 a superset of set2?\n */\nclojure.set.superset_QMARK_ = (function clojure$set$superset_QMARK_(set1,set2){\nreturn (((cljs.core.count(set1) >= cljs.core.count(set2))) && (cljs.core.every_QMARK_((function (p1__12287_SHARP_){\nreturn cljs.core.contains_QMARK_(set1,p1__12287_SHARP_);\n}),set2)));\n});\n","~:ns-info",["^ ","~:rename-macros",null,"~:renames",["^ "],"~:meta",["^ ","~:file","clojure/set.cljs","~:line",11,"~:column",8,"~:end-line",11,"~:end-column",19,"~:doc","Set operations such as union/intersection.","~:author","Rich Hickey"],"~:ns-aliases",["^ ","~$cljs.loader","~$shadow.loader","~$clojure.pprint","~$cljs.pprint","~$clojure.spec.alpha","~$cljs.spec.alpha"],"~:use-macros",null,"~:excludes",["~#set",[]],"~:name","~$clojure.set","~:reader-aliases",["^ "],"~:op","~:ns","~:imports",null,"~:requires",["^ ","~$cljs.core","^N","~$goog","^O"],"~:seen",["^F",[]],"~:uses",null,"~:require-macros",["^ ","^N","^N"],"~:form",["~#list",["~$ns","^H"]],"~:flags",["^ "],"~:js-deps",["^ "],"~:deps",["^O","^N"]],"^K","^H","~:resource-id",["~:shadow.build.classpath/resource","clojure/set.cljs"],"~:compiled-at",1684858203009,"^I",["^ ","^N","^N","^O","^O"],"~:resource-name","clojure/set.cljs","~:warnings",[],"~:source","; Copyright (c) Rich Hickey. All rights reserved.\n; The use and distribution terms for this software are covered by the\n; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)\n; which can be found in the file epl-v10.html at the root of this distribution.\n; By using this software in any fashion, you are agreeing to be bound by\n; the terms of this license.\n; You must not remove this notice, or any other, from this software.\n\n(ns ^{:doc \"Set operations such as union/intersection.\"\n :author \"Rich Hickey\"}\n clojure.set)\n\n(defn- bubble-max-key [k coll]\n \"Move a maximal element of coll according to fn k (which returns a number) \n to the front of coll.\"\n (let [max (apply max-key k coll)]\n (cons max (remove #(identical? max %) coll))))\n\n(defn union\n \"Return a set that is the union of the input sets\"\n ([] #{})\n ([s1] s1)\n ([s1 s2]\n (if (< (count s1) (count s2))\n (reduce conj s2 s1)\n (reduce conj s1 s2)))\n ([s1 s2 & sets]\n (let [bubbled-sets (bubble-max-key count (conj sets s2 s1))]\n (reduce into (first bubbled-sets) (rest bubbled-sets)))))\n\n(defn intersection\n \"Return a set that is the intersection of the input sets\"\n ([s1] s1)\n ([s1 s2]\n (if (< (count s2) (count s1))\n (recur s2 s1)\n (reduce (fn [result item]\n (if (contains? s2 item)\n\t\t result\n (disj result item)))\n\t s1 s1)))\n ([s1 s2 & sets] \n (let [bubbled-sets (bubble-max-key #(- (count %)) (conj sets s2 s1))]\n (reduce intersection (first bubbled-sets) (rest bubbled-sets)))))\n\n(defn difference\n \"Return a set that is the first set without elements of the remaining sets\"\n ([s1] s1)\n ([s1 s2] \n (if (< (count s1) (count s2))\n (reduce (fn [result item] \n (if (contains? s2 item) \n (disj result item) \n result))\n s1 s1)\n (reduce disj s1 s2)))\n ([s1 s2 & sets] \n (reduce difference s1 (conj sets s2))))\n\n\n(defn select\n \"Returns a set of the elements for which pred is true\"\n [pred xset]\n (reduce (fn [s k] (if (pred k) s (disj s k)))\n xset xset))\n\n(defn project\n \"Returns a rel of the elements of xrel with only the keys in ks\"\n [xrel ks]\n (set (map #(select-keys % ks) xrel)))\n\n(defn rename-keys\n \"Returns the map with the keys in kmap renamed to the vals in kmap\"\n [map kmap]\n (reduce\n (fn [m [old new]]\n (if (contains? map old)\n (assoc m new (get map old))\n m))\n (apply dissoc map (keys kmap)) kmap))\n\n(defn rename\n \"Returns a rel of the maps in xrel with the keys in kmap renamed to the vals in kmap\"\n [xrel kmap]\n (set (map #(rename-keys % kmap) xrel)))\n\n(defn index\n \"Returns a map of the distinct values of ks in the xrel mapped to a\n set of the maps in xrel with the corresponding values of ks.\"\n [xrel ks]\n (reduce\n (fn [m x]\n (let [ik (select-keys x ks)]\n (assoc m ik (conj (get m ik #{}) x))))\n {} xrel))\n \n(defn map-invert\n \"Returns the map with the vals mapped to the keys.\"\n [m]\n (persistent!\n (reduce-kv (fn [m k v] (assoc! m v k))\n (transient {})\n m)))\n\n(defn join\n \"When passed 2 rels, returns the rel corresponding to the natural\n join. When passed an additional keymap, joins on the corresponding\n keys.\"\n ([xrel yrel] ;natural join\n (if (and (seq xrel) (seq yrel))\n (let [ks (intersection (set (keys (first xrel))) (set (keys (first yrel))))\n [r s] (if (<= (count xrel) (count yrel))\n [xrel yrel]\n [yrel xrel])\n idx (index r ks)]\n (reduce (fn [ret x]\n (let [found (idx (select-keys x ks))]\n (if found\n (reduce #(conj %1 (merge %2 x)) ret found)\n ret)))\n #{} s))\n #{}))\n ([xrel yrel km] ;arbitrary key mapping\n (let [[r s k] (if (<= (count xrel) (count yrel))\n [xrel yrel (map-invert km)]\n [yrel xrel km])\n idx (index r (vals k))]\n (reduce (fn [ret x]\n (let [found (idx (rename-keys (select-keys x (keys k)) k))]\n (if found\n (reduce #(conj %1 (merge %2 x)) ret found)\n ret)))\n #{} s))))\n\n(defn subset? \n \"Is set1 a subset of set2?\"\n [set1 set2]\n (and (<= (count set1) (count set2))\n (every? #(contains? set2 %) set1)))\n\n(defn superset? \n \"Is set1 a superset of set2?\"\n [set1 set2]\n (and (>= (count set1) (count set2))\n (every? #(contains? set1 %) set2)))\n\n(comment\n(refer 'set)\n(def xs #{{:a 11 :b 1 :c 1 :d 4}\n {:a 2 :b 12 :c 2 :d 6}\n {:a 3 :b 3 :c 3 :d 8 :f 42}})\n\n(def ys #{{:a 11 :b 11 :c 11 :e 5}\n {:a 12 :b 11 :c 12 :e 3}\n {:a 3 :b 3 :c 3 :e 7 }})\n\n(join xs ys)\n(join xs (rename ys {:b :yb :c :yc}) {:a :a})\n\n(union #{:a :b :c} #{:c :d :e })\n(difference #{:a :b :c} #{:c :d :e})\n(intersection #{:a :b :c} #{:c :d :e})\n\n(index ys [:b]))\n\n","~:reader-features",["^F",["~:cljs"]],"~:cljc",false,"~:source-map-compact",["^ ","mappings",";AAYA,6BAAA,7BAAOA,kEAAgBC,EAAEC;AAAzB,AAAA;AAGE,IAAMC,MAAI,AAACC,8CAAMC,kBAAQJ,EAAEC;AAA3B,AACE,OAACI,eAAKH,IAAI,+CAAA,WAAAI,1DAACC;AAAD,AAAS,gBAAAD,RAAYJ;GAAOD;;AAE1C,AAAA;;;oBAAA,4BAAAO,hDAAME;AAAN,AAAA,IAAAD,WAAA,AAAA;AAAA,AAAA,QAAAA;KAAA;AAAA,OAAAC;;;KAAA;AAAA,OAAAA,gDAAA,CAAA,UAAA;;;KAAA;AAAA,OAAAA,gDAAA,CAAA,UAAA,MAAA,CAAA,UAAA;;;;AAAA,IAAAC,yBAAA;AAAA,AAAA,IAAAC,0BAAA,AAAA;AAAA,AAAA,IAAAC,wBAAA;;AAAA,AAAA,GAAA,CAAAA,wBAAAD;AAAA,AAAA,AAAAD,4BAAA,CAAA,UAAAE;;AAAA,eAAA,CAAAA,wBAAA;;;;AAAA;;;;AAAA,IAAAC,uBAAA,KAAAC,qBAAA,AAAAJ,6BAAA,KAAA,IAAA;AAAA,AAAA,OAAAD,uDAAA,CAAA,UAAA,MAAA,CAAA,UAAA,MAAAI;;;;;AAAA,CAAA,kDAAA,lDAAMJ;AAAN,AAAA;;;AAAA,CAAA,kDAAA,lDAAMA,6DAGFY;AAHJ,AAGQA;;;AAHR,CAAA,kDAAA,lDAAMZ,6DAIFY,GAAGC;AAJP,AAKK,GAAI,CAAG,AAACC,gBAAMF,MAAI,AAACE,gBAAMD;AACvB,OAACE,+CAAOC,eAAKH,GAAGD;;AAChB,OAACG,+CAAOC,eAAKJ,GAAGC;;;;AAPvB,AAAA,CAAA,yDAAA,zDAAMb,oEAQFY,GAAGC,GAAKI;AARZ,AASK,IAAMC,eAAa,AAAC7B,2BAAeyB,gBAAM,AAACK,oDAAKF,KAAKJ,qDAAGD;AAAvD,AACE,OAACG,+CAAOK,eAAK,AAACZ,gBAAMU,cAAc,AAACG,eAAKH;;;AAV/C;AAAA,CAAA,sCAAA,WAAAZ,jDAAMN;AAAN,AAAA,IAAAO,WAAA,AAAAC,gBAAAF;IAAAA,eAAA,AAAAG,eAAAH;IAAAI,WAAA,AAAAF,gBAAAF;IAAAA,eAAA,AAAAG,eAAAH;AAAA,AAAA,IAAAK,qBAAA;AAAA,AAAA,OAAAA,wDAAAJ,SAAAG,SAAAJ;;;AAAA,CAAA,4CAAA,5CAAMN;;AAAN,AAYA,AAAA;;;2BAAA,mCAAAF,9DAAMyB;AAAN,AAAA,IAAAD,WAAA,AAAA;AAAA,AAAA,QAAAA;KAAA;AAAA,OAAAC,uDAAA,CAAA,UAAA;;;KAAA;AAAA,OAAAA,uDAAA,CAAA,UAAA,MAAA,CAAA,UAAA;;;;AAAA,IAAAtB,yBAAA;AAAA,AAAA,IAAAC,0BAAA,AAAA;AAAA,AAAA,IAAAC,wBAAA;;AAAA,AAAA,GAAA,CAAAA,wBAAAD;AAAA,AAAA,AAAAD,4BAAA,CAAA,UAAAE;;AAAA,eAAA,CAAAA,wBAAA;;;;AAAA;;;;AAAA,IAAAC,uBAAA,KAAAC,qBAAA,AAAAJ,6BAAA,KAAA,IAAA;AAAA,AAAA,OAAAsB,8DAAA,CAAA,UAAA,MAAA,CAAA,UAAA,MAAAnB;;;;;AAAA,CAAA,yDAAA,zDAAMmB,oEAEFX;AAFJ,AAEQA;;;AAFR,CAAA,yDAAA,zDAAMW,oEAGFX,GAAGC;;AAHP,AAIK,GAAI,CAAG,AAACC,gBAAMD,MAAI,AAACC,gBAAMF;AACvB,eAAOC;eAAGD;;;;;AACV,OAACG,+CAAO;kBAAKY,OAAOC;AAAZ,AACI,GAAI,AAACC,0BAAUhB,GAAGe;AAC9BD;;AACc,OAACG,6CAAKH,OAAOC;;;CAC1BhB,GAAGA;;;;;;AAVX,AAAA,CAAA,gEAAA,hEAAMW,2EAWFX,GAAGC,GAAKI;AAXZ,AAYK,IAAMC,eAAa,2BAAA,WAAAa,tCAAC1C;AAAD,AAAiB,UAAG,gBAAA0C,hBAACjB;GAAU,AAACK,oDAAKF,KAAKJ,qDAAGD;AAAhE,AACE,OAACG,+CAAOQ,yBAAa,AAACf,gBAAMU,cAAc,AAACG,eAAKH;;;AAbvD;AAAA,CAAA,6CAAA,WAAAM,xDAAMD;AAAN,AAAA,IAAAE,WAAA,AAAAjB,gBAAAgB;IAAAA,eAAA,AAAAf,eAAAe;IAAAE,WAAA,AAAAlB,gBAAAgB;IAAAA,eAAA,AAAAf,eAAAe;AAAA,AAAA,IAAAb,qBAAA;AAAA,AAAA,OAAAA,wDAAAc,SAAAC,SAAAF;;;AAAA,CAAA,mDAAA,nDAAMD;;AAAN,AAeA,AAAA;;;yBAAA,iCAAAzB,1DAAMmC;AAAN,AAAA,IAAAD,WAAA,AAAA;AAAA,AAAA,QAAAA;KAAA;AAAA,OAAAC,qDAAA,CAAA,UAAA;;;KAAA;AAAA,OAAAA,qDAAA,CAAA,UAAA,MAAA,CAAA,UAAA;;;;AAAA,IAAAhC,yBAAA;AAAA,AAAA,IAAAC,0BAAA,AAAA;AAAA,AAAA,IAAAC,wBAAA;;AAAA,AAAA,GAAA,CAAAA,wBAAAD;AAAA,AAAA,AAAAD,4BAAA,CAAA,UAAAE;;AAAA,eAAA,CAAAA,wBAAA;;;;AAAA;;;;AAAA,IAAAC,uBAAA,KAAAC,qBAAA,AAAAJ,6BAAA,KAAA,IAAA;AAAA,AAAA,OAAAgC,4DAAA,CAAA,UAAA,MAAA,CAAA,UAAA,MAAA7B;;;;;AAAA,CAAA,uDAAA,vDAAM6B,kEAEFrB;AAFJ,AAEQA;;;AAFR,CAAA,uDAAA,vDAAMqB,kEAGFrB,GAAGC;AAHP,AAIK,GAAI,CAAG,AAACC,gBAAMF,MAAI,AAACE,gBAAMD;AACvB,OAACE,+CAAO,WAAKY,OAAOC;AAAZ,AACI,GAAI,AAACC,0BAAUhB,GAAGe;AAChB,OAACE,6CAAKH,OAAOC;;AACbD;;GACNf,GAAGA;;AACX,OAACG,+CAAOsB,eAAKzB,GAAGC;;;;AAVvB,AAAA,CAAA,8DAAA,9DAAMoB,yEAWFrB,GAAGC,GAAKI;AAXZ,AAYK,OAACF,+CAAOkB,uBAAWrB,GAAG,AAACO,6CAAKF,KAAKJ;;;AAZtC;AAAA,CAAA,2CAAA,WAAAqB,tDAAMD;AAAN,AAAA,IAAAE,WAAA,AAAA3B,gBAAA0B;IAAAA,eAAA,AAAAzB,eAAAyB;IAAAE,WAAA,AAAA5B,gBAAA0B;IAAAA,eAAA,AAAAzB,eAAAyB;AAAA,AAAA,IAAAvB,qBAAA;AAAA,AAAA,OAAAA,wDAAAwB,SAAAC,SAAAF;;;AAAA,CAAA,iDAAA,jDAAMD;;AAAN,AAeA;;;qBAAA,rBAAMK,kDAEHC,KAAKC;AAFR,AAGI,OAACzB,+CAAO,WAAK0B,EAAEnD;AAAP,AAAU,oBAAI,CAACiD,qCAAAA,wCAAAA,LAAKjD,oBAAAA;AAAGmD;;AAAE,OAACX,6CAAKW,EAAEnD;;GACjCkD,KAAKA;;AAEjB;;;sBAAA,tBAAME,oDAEHC,KAAKC;AAFR,AAGI,OAACC,cAAI,4CAAA,WAAAC,vDAACC;AAAD,AAAM,6BAAAD,tBAACE,uCAAcJ;GAAID;;AAElC;;;0BAAA,1BAAMM,4DAEHC,IAAIC;AAFP,AAGI,OAACpC,+CACA,aAAAqC,FAAKG;AAAL,AAAA,IAAAF,aAAAD;UAAA,AAAAE,4CAAAD,WAAA,IAAA,jEAAQG;WAAR,AAAAF,4CAAAD,WAAA,IAAA,lEAAYI;AAAZ,AACE,GAAI,AAAC5B,0BAAUqB,IAAIM;AACjB,OAACE,8CAAMH,EAAEE,KAAI,AAACE,4CAAIT,IAAIM;;AACtBD;;GACJ,AAAC9D,8CAAMmE,iBAAOV,IAAI,AAACW,eAAKV,OAAOA;;AAEpC;;;qBAAA,rBAAMW,kDAEHnB,KAAKQ;AAFR,AAGI,OAACN,cAAI,4CAAA,WAAAkB,vDAAChB;AAAD,AAAM,+BAAAgB,xBAACd,yCAAcE;GAAMR;;AAEpC;;;;oBAAA,pBAAMqB,gDAGHrB,KAAKC;AAHR,AAII,OAAC7B,+CACA,WAAKwC,EAAEU;AAAP,AACE,IAAMC,KAAG,AAAClB,sBAAYiB,EAAErB;AAAxB,AACE,OAACc,8CAAMH,EAAEW,GAAG,AAAC/C,6CAAK,iDAAA,jDAACwC,4CAAIJ,EAAEW,sCAAQD;GAHtC,mCAIItB;;AAER;;;yBAAA,zBAAMwB,0DAEHZ;AAFH,AAGE,OAACa,2BACC,AAACC,oBAAU,WAAKd,MAAEjE,EAAEgF;AAAT,AAAY,OAACC,oDAAOhB,MAAEe,EAAEhF;GACjC,qBAAA,rBAACkF,yDACDjB;;AAEN,AAAA;;;;;mBAAA,2BAAAzD,9CAAM4E;AAAN,AAAA,IAAAD,WAAA,AAAA;AAAA,AAAA,QAAAA;KAAA;AAAA,OAAAC,+CAAA,CAAA,UAAA,MAAA,CAAA,UAAA;;;KAAA;AAAA,OAAAA,+CAAA,CAAA,UAAA,MAAA,CAAA,UAAA,MAAA,CAAA,UAAA;;;;AAAA,MAAA,KAAAC,MAAA,CAAA,8DAAA,AAAA;;;;;AAAA,CAAA,iDAAA,jDAAMD,4DAIF/B,KAAKiC;AAJT,AAKG,GAAI,EAAK,AAACC,cAAIlC,WAAM,AAACkC,cAAID;AACvB,IAAMhC,KAAG,AAACmC,uDAAa,AAAClC,cAAI,AAACgB,eAAK,AAACrD,gBAAMmC,QAAQ,AAACE,cAAI,AAACgB,eAAK,AAACrD,gBAAMoE;IAAnEE,aACY,oDAAA,qGAAA,vJAAI,CAAI,AAAChE,gBAAM6B,SAAM,AAAC7B,gBAAM8D,2FACzBjC,KAAKiC,gGACLA,KAAKjC;QAHpB,AAAAW,4CAAAwB,WAAA,IAAA,/DACOE;QADP,AAAA1B,4CAAAwB,WAAA,IAAA,/DACSrC;IAGHwC,MAAI,AAACjB,kBAAMgB,EAAEpC;AAJnB,AAKE,OAAC7B,+CAAO,WAAKmE,IAAIjB;AAAT,AACE,IAAMkB,QAAM,iBAAAC,WAAK,AAACpC,sBAAYiB,EAAErB;AAApB,AAAA,8EAAAwC,0BAAAA,hGAACH,oCAAAA,8CAAAA;;AAAb,AACE,oBAAIE;AACF,sDAAA,WAAAE,iBAAAC,3EAACvE;AAAD,AAAS,oDAAAsE,7CAAClE,8DAAQ,uGAAAmE,vGAACC,wHAAStB;GAAIiB,IAAIC;;AACpCD;;GAJd,kCAKYzC;;AAXhB;;;;AALH,CAAA,iDAAA,jDAAMiC,4DAkBF/B,KAAKiC,KAAKY;AAlBd,AAmBG,IAAAC,aAAc,oDAAA,gIAAA,lLAAI,CAAI,AAAC3E,gBAAM6B,SAAM,AAAC7B,gBAAM8D,2FACzBjC,KAAKiC,KAAK,AAACT,uBAAWqB,+FACtBZ,KAAKjC,KAAK6C;QAF3B,AAAAlC,4CAAAmC,WAAA,IAAA,/DAAOT;QAAP,AAAA1B,4CAAAmC,WAAA,IAAA,/DAAShD;QAAT,AAAAa,4CAAAmC,WAAA,IAAA,/DAAWnG;IAGL2F,MAAI,AAACjB,kBAAMgB,EAAE,AAACU,eAAKpG;AAHzB,AAIE,OAACyB,+CAAO,WAAKmE,IAAIjB;AAAT,AACE,IAAMkB,QAAM,iBAAAQ,WAAK,AAAC1C,wBAAY,AAACD,sBAAYiB,EAAE,AAACJ,eAAKvE,IAAIA;AAA3C,AAAA,8EAAAqG,0BAAAA,hGAACV,oCAAAA,8CAAAA;;AAAb,AACE,oBAAIE;AACF,sDAAA,WAAAS,iBAAAC,3EAAC9E;AAAD,AAAS,oDAAA6E,7CAACzE,8DAAQ,uGAAA0E,vGAACN,wHAAStB;GAAIiB,IAAIC;;AACpCD;;GAJd,kCAKYzC;;;AA5BjB,CAAA,2CAAA,3CAAMiC;;AAAN,AA8BA;;;4BAAA,5BAAMoB,gEAEHC,KAAKC;AAFR,AAGE,SAAK,CAAI,AAAClF,gBAAMiF,SAAM,AAACjF,gBAAMkF,YACxB,uBAAA,WAAAC,lCAACC;AAAD,AAAS,sCAAAD,/BAACpE,0BAAUmE;GAAQD;;AAEnC;;;8BAAA,9BAAMI,oEAEHJ,KAAKC;AAFR,AAGE,SAAK,CAAI,AAAClF,gBAAMiF,SAAM,AAACjF,gBAAMkF,YACxB,uBAAA,WAAAI,lCAACF;AAAD,AAAS,sCAAAE,/BAACvE,0BAAUkE;GAAQC;;AAEnC","names",["clojure.set/bubble-max-key","k","coll","max","cljs.core.apply","cljs.core/max-key","cljs.core/cons","p1__12169#","cljs.core.remove","var_args","G__12174","clojure.set/union","args-arr__5794__auto__","len__5769__auto__","i__5770__auto__","argseq__5795__auto__","cljs.core/IndexedSeq","seq12171","G__12172","cljs.core/first","cljs.core/next","G__12173","self__5754__auto__","s1","s2","cljs.core/count","cljs.core.reduce","cljs.core/conj","sets","bubbled-sets","cljs.core.conj","cljs.core/into","cljs.core/rest","G__12204","clojure.set/intersection","seq12201","G__12202","G__12203","result","item","cljs.core/contains?","cljs.core.disj","p1__12190#","G__12221","clojure.set/difference","seq12218","G__12219","G__12220","cljs.core/disj","clojure.set/select","pred","xset","s","clojure.set/project","xrel","ks","cljs.core/set","p1__12231#","cljs.core.map","cljs.core/select-keys","clojure.set/rename-keys","map","kmap","p__12239","vec__12240","cljs.core.nth","m","old","new","cljs.core.assoc","cljs.core.get","cljs.core/dissoc","cljs.core/keys","clojure.set/rename","p1__12244#","clojure.set/index","x","ik","clojure.set/map-invert","cljs.core/persistent!","cljs.core/reduce-kv","v","cljs.core.assoc_BANG_","cljs.core/transient","G__12262","clojure.set/join","js/Error","yrel","cljs.core/seq","vec__12278","clojure.set.intersection","r","idx","ret","found","G__12281","p1__12257#","p2__12258#","cljs.core.merge","km","vec__12282","cljs.core/vals","G__12285","p1__12259#","p2__12260#","clojure.set/subset?","set1","set2","p1__12286#","cljs.core/every?","clojure.set/superset?","p1__12287#"]],"~:used-vars",["^F",["~$cljs.core/rest","~$clojure.set/intersection","~$clojure.set/project","~$clojure.set/index","~$cljs.core/keys","~$clojure.set/bubble-max-key","~$cljs.core/IndexedSeq","~$cljs.core/count","~$cljs.core/reduce","~$cljs.core/seq","~$cljs.core/apply","~$cljs.core/dissoc","~$cljs.core/max-key","~$cljs.core/set","~$cljs.core/contains?","~$cljs.core/into","~$cljs.core/conj","~$cljs.core/map","~$clojure.set/rename-keys","~$cljs.core/vals","~$cljs.core/get","~$cljs.core/remove","~$clojure.set/difference","~$clojure.set/superset?","~$cljs.core/persistent!","~$cljs.core/nth","~$clojure.set/subset?","~$cljs.core/next","~$cljs.core/select-keys","~$cljs.core/transient","~$cljs.core/disj","~$cljs.core/cons","~$cljs.core/assoc","~$clojure.set/union","~$cljs.core/reduce-kv","~$clojure.set/rename","~$clojure.set/map-invert","~$cljs.core/first","~$cljs.core/assoc!","~$clojure.set/join","~$cljs.core/merge","~$cljs.core/every?","~$clojure.set/select","~$js/Error"]]],"~:cache-keys",["~#cmap",[["^Z","goog/dom/tagname.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","~:shadow.build.compiler/resolve",["^ ","~:require-id",null,"~:deps-ids",["^F",[]],"~:deps-syms",["^O","~$goog.dom.HtmlElement"]]],["^Z","goog/html/trustedtypes.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O"]]],["^Z","goog/labs/useragent/browser.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","~$goog.labs.userAgent.util","~$goog.labs.userAgent.highEntropy.highEntropyValue","~$goog.asserts","~$goog.string.internal","~$goog.labs.userAgent.highEntropy.highEntropyData","~$goog.labs.userAgent"]]],["^Z","goog/html/safeurl.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2C","~$goog.fs.url","~$goog.html.TrustedResourceUrl","~$goog.string.Const","~$goog.string.TypedString","^2D"]]],["^Z","goog/array/array.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2C"]]],["^Z","goog/debug/error.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O"]]],["^Z","goog/flags/flags.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O"]]],["^Z","goog/dom/nodetype.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O"]]],["^Z","goog/labs/useragent/highentropy/highentropyvalue.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2A","^2D"]]],["^Z","goog/string/typedstring.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O"]]],["^Z","goog/object/object.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O"]]],["^Z","goog/dom/asserts.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2C"]]],"~:SHADOW-TIMESTAMP",[1684857790000,1684857790000,1684857789000],["^Z","goog/math/long.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2C","~$goog.reflect"]]],["^Z","goog/html/trustedresourceurl.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2C","~$goog.fs.blob","^2G","~$goog.html.SafeScript","~$goog.html.trustedtypes","^2I","^2J"]]],["^Z","goog/string/internal.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O"]]],["^Z","goog/functions/functions.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O"]]],["^Z","goog/html/safestyle.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2I","~$goog.html.SafeUrl","^2J","^2C","^2D"]]],["^Z","goog/dom/safe.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2C","~$goog.asserts.dom","~$goog.dom.asserts","~$goog.functions","~$goog.html.SafeHtml","^2N","~$goog.html.SafeStyle","^2P","^2H","~$goog.html.uncheckedconversions","^2I","^2D"]]],["^Z","goog/asserts/dom.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","~$goog.dom.TagName","^2C","~$goog.dom.element"]]],["^Z","goog/html/safehtml.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2I","^2N","^2U","~$goog.html.SafeStyleSheet","^2P","^2W","^2H","^2J","^2C","~$goog.labs.userAgent.browser","~$goog.array","~$goog.object","^2D","~$goog.dom.tags","^2O"]]],["^Z","goog/dom/tags.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^30"]]],["^Z","goog/fs/blob.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O"]]],["^Z","goog/asserts/asserts.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","~$goog.debug.Error","~$goog.dom.NodeType"]]],["^Z","goog/uri/uri.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2[","^2C","~$goog.collections.maps","~$goog.string","~$goog.structs","~$goog.uri.utils","~$goog.uri.utils.ComponentIndex","~$goog.uri.utils.StandardQueryParam"]]],["^Z","goog/labs/useragent/highentropy/highentropydata.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2B"]]],["^Z","goog/collections/maps.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O"]]],["^Z","goog/fs/url.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O"]]],["^Z","goog/base.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",[]]],["^Z","goog/structs/structs.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2[","^30"]]],["^Z","goog/string/string.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","~$goog.dom.safe","^2V","^2I","^2D"]]],["^Z","goog/reflect/reflect.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O"]]],["^Z","goog/labs/useragent/util.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2D","^2F"]]],["^Z","goog/string/stringbuffer.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O"]]],["^Z","goog/labs/useragent/useragent.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","~$goog.flags"]]],["^Z","goog/dom/element.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^33","^2W"]]],["^Z","goog/html/uncheckedconversions.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2C","^2T","^2N","^2U","^2Y","^2P","^2H","^2I","^2D"]]],["^Z","goog/dom/htmlelement.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O"]]],["^Z","cljs/core.cljs"],["bc14df6666853ed869d7b88aaa864111c65d0c7f","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","~$goog.math.Long","~$goog.math.Integer","^35","^30","^2[","~$goog.Uri","~$goog.string.StringBuffer"]]],["^Z","goog/html/safescript.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2I","^2J","^2O","^2C"]]],["^Z","goog/html/safestylesheet.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2I","^2U","^2J","^30","^2C","^2D"]]],["^Z","goog/math/integer.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2L"]]],["^Z","clojure/set.cljs"],["bc14df6666853ed869d7b88aaa864111c65d0c7f","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^N"]]],["^Z","goog/uri/utils.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2C","^35"]]],["^Z","goog/string/const.js"],["533ce2bdbb7925db781449abb6527af1e6c5e782","^2<",["^ ","^2=",null,"^2>",["^F",[]],"^2?",["^O","^2C","^2J"]]]]],"~:clj-info",["^ ","jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/vendor/clojure/tools/reader/impl/inspect.clj",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/tagged_literals.cljc",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojure/1.11.1/clojure-1.11.1.jar!/clojure/java/io.clj",1684855521000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/analyzer/passes.cljc",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/vendor/clojure/tools/reader/default_data_readers.clj",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojure/1.11.1/clojure-1.11.1.jar!/clojure/set.clj",1684855521000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/source_map/base64.clj",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/source_map/base64_vlq.clj",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/vendor/clojure/tools/reader/impl/errors.clj",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/util.cljc",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/instant.clj",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojure/1.11.1/clojure-1.11.1.jar!/clojure/core.clj",1684855521000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/analyzer.cljc",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/compiler.cljc",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/externs.clj",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojure/1.11.1/clojure-1.11.1.jar!/clojure/string.clj",1684855521000,"jar:file:/home/chris/.m2/repository/org/clojure/clojure/1.11.1/clojure-1.11.1.jar!/clojure/pprint.clj",1684855521000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/vendor/clojure/tools/reader.clj",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/analyzer/passes/and_or.cljc",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/vendor/clojure/data/json.clj",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/core.cljc",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/analyzer/impl.cljc",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojure/1.11.1/clojure-1.11.1.jar!/clojure/edn.clj",1684855521000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/source_map.clj",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/env.cljc",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/js_deps.cljc",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/vendor/clojure/tools/reader/reader_types.clj",1684857789000,"jar:file:/home/chris/.m2/repository/org/clojure/clojure/1.11.1/clojure-1.11.1.jar!/clojure/instant.clj",1684855521000,"jar:file:/home/chris/.m2/repository/org/clojure/clojurescript/1.11.60/clojurescript-1.11.60.jar!/cljs/analyzer/impl/namespaces.cljc",1684857789000],"~:analyzer",["^ ","^3",null,"^4",["^ "],"^5",["^ ","^6","clojure/set.cljs","^7",11,"^8",8,"^9",11,"^:",19,"^;","Set operations such as union/intersection.","^<","Rich Hickey"],"^=",["^ ","^>","^?","^@","^A","^B","^C"],"^D",null,"^E",["^F",[]],"^G","^H","^I",["^ "],"^L",null,"^M",["^ ","^N","^N","^O","^O"],"^P",["^F",[]],"~:shadow/js-access-global",["^F",["Error"]],"^Q",null,"~:defs",["^ ","~$union",["^ ","~:protocol-inline",null,"^5",["^ ","^6","clojure/set.cljs","^7",19,"^8",7,"^9",19,"^:",12,"~:arglists",["^T",["~$quote",["^T",[[],["~$s1"],["^49","~$s2"],["^49","^4:","~$&","~$sets"]]]]],"^;","Return a set that is the union of the input sets","~:top-fn",["^ ","~:variadic?",true,"~:fixed-arity",2,"~:max-fixed-arity",2,"~:method-params",[[],["^49"],["^49","^4:"]],"^47",["^T",[[],["^49"],["^49","^4:"],["^49","^4:","~$&","^4;"]]],"~:arglists-meta",["^T",[null,null,null,null]]]],"^G","^1[","^6","clojure/set.cljs","^:",12,"^4<",["^ ","^4=",true,"^4>",2,"^4?",2,"^4@",[[],["^49"],["^49","^4:"]],"^47",["^T",[[],["^49"],["^49","^4:"],["^49","^4:","~$&","^4;"]]],"^4A",["^T",[null,null,null,null]]],"^4@",[[],["^49"],["^49","^4:"]],"~:protocol-impl",null,"^4>",2,"^4A",["^T",[null,null,null,null]],"^8",1,"^4=",true,"~:methods",[["^ ","^4>",0,"^4=",false,"~:tag","~$cljs.core/ISet"],["^ ","^4>",1,"^4=",false],["^ ","^4>",2,"^4=",false,"^4D",["^F",[null,"~$any"]]],["^ ","^4>",2,"^4=",true,"^4D",["^F",[null,"^4F"]]]],"^7",19,"^9",19,"^4?",2,"~:fn-var",true,"^47",["^T",[[],["^49"],["^49","^4:"],["^49","^4:","~$&","^4;"]]],"^;","Return a set that is the union of the input sets"],"~$map-invert",["^ ","^46",null,"^5",["^ ","^6","clojure/set.cljs","^7",97,"^8",7,"^9",97,"^:",17,"^47",["^T",["^48",["^T",[["~$m"]]]]],"^;","Returns the map with the vals mapped to the keys."],"^G","^22","^6","clojure/set.cljs","^:",17,"^4@",["^T",[["~$m"]]],"^4B",null,"^4A",["^T",[null,null]],"^8",1,"^4=",false,"^7",97,"~:ret-tag","~$clj","^9",97,"^4?",1,"^4G",true,"^47",["^T",["^48",["^T",[["~$m"]]]]],"^;","Returns the map with the vals mapped to the keys."],"~$join",["^ ","^46",null,"^5",["^ ","^6","clojure/set.cljs","^7",105,"^8",7,"^9",105,"^:",11,"^47",["^T",["^48",["^T",[["~$xrel","~$yrel"],["^4L","^4M","~$km"]]]]],"^;","When passed 2 rels, returns the rel corresponding to the natural\n join. When passed an additional keymap, joins on the corresponding\n keys.","^4<",["^ ","^4=",false,"^4>",3,"^4?",3,"^4@",[["^4L","^4M"],["^4L","^4M","^4N"]],"^47",["^T",[["^4L","^4M"],["^4L","^4M","^4N"]]],"^4A",["^T",[null,null]]]],"^G","^25","^6","clojure/set.cljs","^:",11,"^4<",["^ ","^4=",false,"^4>",3,"^4?",3,"^4@",[["^4L","^4M"],["^4L","^4M","^4N"]],"^47",["^T",[["^4L","^4M"],["^4L","^4M","^4N"]]],"^4A",["^T",[null,null]]],"^4@",[["^4L","^4M"],["^4L","^4M","^4N"]],"^4B",null,"^4>",3,"^4A",["^T",[null,null]],"^8",1,"^4=",false,"^4C",[["^ ","^4>",2,"^4=",false,"^4D",["^F",[null,"^4F","^4E"]]],["^ ","^4>",3,"^4=",false,"^4D",["^F",[null,"^4F"]]]],"^7",105,"^9",105,"^4?",3,"^4G",true,"^47",["^T",[["^4L","^4M"],["^4L","^4M","^4N"]]],"^;","When passed 2 rels, returns the rel corresponding to the natural\n join. When passed an additional keymap, joins on the corresponding\n keys."],"~$select",["^ ","^46",null,"^5",["^ ","^6","clojure/set.cljs","^7",61,"^8",7,"^9",61,"^:",13,"^47",["^T",["^48",["^T",[["~$pred","~$xset"]]]]],"^;","Returns a set of the elements for which pred is true"],"^G","^28","^6","clojure/set.cljs","^:",13,"^4@",["^T",[["^4P","^4Q"]]],"^4B",null,"^4A",["^T",[null,null]],"^8",1,"^4=",false,"^7",61,"^4I",["^F",[null,"^4F"]],"^9",61,"^4?",2,"^4G",true,"^47",["^T",["^48",["^T",[["^4P","^4Q"]]]]],"^;","Returns a set of the elements for which pred is true"],"~$intersection",["^ ","^46",null,"^5",["^ ","^6","clojure/set.cljs","^7",31,"^8",7,"^9",31,"^:",19,"^47",["^T",["^48",["^T",[["^49"],["^49","^4:"],["^49","^4:","~$&","^4;"]]]]],"^;","Return a set that is the intersection of the input sets","^4<",["^ ","^4=",true,"^4>",2,"^4?",2,"^4@",[["^49"],["^49","^4:"]],"^47",["^T",[["^49"],["^49","^4:"],["^49","^4:","~$&","^4;"]]],"^4A",["^T",[null,null,null]]]],"^G","^1;","^6","clojure/set.cljs","^:",19,"^4<",["^ ","^4=",true,"^4>",2,"^4?",2,"^4@",[["^49"],["^49","^4:"]],"^47",["^T",[["^49"],["^49","^4:"],["^49","^4:","~$&","^4;"]]],"^4A",["^T",[null,null,null]]],"^4@",[["^49"],["^49","^4:"]],"^4B",null,"^4>",2,"^4A",["^T",[null,null,null]],"^8",1,"^4=",true,"^4C",[["^ ","^4>",1,"^4=",false],["^ ","^4>",2,"^4=",false,"^4D",["^F",[null,"^4F"]]],["^ ","^4>",2,"^4=",true,"^4D",["^F",[null,"^4F"]]]],"^7",31,"^9",31,"^4?",2,"^4G",true,"^47",["^T",[["^49"],["^49","^4:"],["^49","^4:","~$&","^4;"]]],"^;","Return a set that is the intersection of the input sets"],"~$superset?",["^ ","^46",null,"^5",["^ ","^6","clojure/set.cljs","^7",141,"^8",7,"^9",141,"^:",16,"^47",["^T",["^48",["^T",[["~$set1","~$set2"]]]]],"^;","Is set1 a superset of set2?"],"^G","^1Q","^6","clojure/set.cljs","^:",16,"^4@",["^T",[["^4T","^4U"]]],"^4B",null,"^4A",["^T",[null,null]],"^8",1,"^4=",false,"^7",141,"^4I","~$boolean","^9",141,"^4?",2,"^4G",true,"^47",["^T",["^48",["^T",[["^4T","^4U"]]]]],"^;","Is set1 a superset of set2?"],"~$index",["^ ","^46",null,"^5",["^ ","^6","clojure/set.cljs","^7",87,"^8",7,"^9",87,"^:",12,"^47",["^T",["^48",["^T",[["^4L","~$ks"]]]]],"^;","Returns a map of the distinct values of ks in the xrel mapped to a\n set of the maps in xrel with the corresponding values of ks."],"^G","^1=","^6","clojure/set.cljs","^:",12,"^4@",["^T",[["^4L","^4X"]]],"^4B",null,"^4A",["^T",[null,null]],"^8",1,"^4=",false,"^7",87,"^4I",["^F",[null,"^4F"]],"^9",87,"^4?",2,"^4G",true,"^47",["^T",["^48",["^T",[["^4L","^4X"]]]]],"^;","Returns a map of the distinct values of ks in the xrel mapped to a\n set of the maps in xrel with the corresponding values of ks."],"~$bubble-max-key",["^ ","^46",null,"^5",["^ ","^6","clojure/set.cljs","^7",13,"^8",8,"^9",13,"^:",22,"~:private",true,"^47",["^T",["^48",["^T",[["~$k","~$coll"]]]]]],"^4Z",true,"^G","^1?","^6","clojure/set.cljs","^:",22,"^4@",["^T",[["~$k","^4["]]],"^4B",null,"^4A",["^T",[null,null]],"^8",1,"^4=",false,"^7",13,"^4I","^4J","^9",13,"^4?",2,"^4G",true,"^47",["^T",["^48",["^T",[["~$k","^4["]]]]]],"~$subset?",["^ ","^46",null,"^5",["^ ","^6","clojure/set.cljs","^7",135,"^8",7,"^9",135,"^:",14,"^47",["^T",["^48",["^T",[["^4T","^4U"]]]]],"^;","Is set1 a subset of set2?"],"^G","^1T","^6","clojure/set.cljs","^:",14,"^4@",["^T",[["^4T","^4U"]]],"^4B",null,"^4A",["^T",[null,null]],"^8",1,"^4=",false,"^7",135,"^4I","^4V","^9",135,"^4?",2,"^4G",true,"^47",["^T",["^48",["^T",[["^4T","^4U"]]]]],"^;","Is set1 a subset of set2?"],"~$rename",["^ ","^46",null,"^5",["^ ","^6","clojure/set.cljs","^7",82,"^8",7,"^9",82,"^:",13,"^47",["^T",["^48",["^T",[["^4L","~$kmap"]]]]],"^;","Returns a rel of the maps in xrel with the keys in kmap renamed to the vals in kmap"],"^G","^21","^6","clojure/set.cljs","^:",13,"^4@",["^T",[["^4L","^52"]]],"^4B",null,"^4A",["^T",[null,null]],"^8",1,"^4=",false,"^7",82,"^4I",["^F",["^4J","^4F","^4E","~$cljs.core/MetaFn","~$clj-nil"]],"^9",82,"^4?",2,"^4G",true,"^47",["^T",["^48",["^T",[["^4L","^52"]]]]],"^;","Returns a rel of the maps in xrel with the keys in kmap renamed to the vals in kmap"],"~$rename-keys",["^ ","^46",null,"^5",["^ ","^6","clojure/set.cljs","^7",72,"^8",7,"^9",72,"^:",18,"^47",["^T",["^48",["^T",[["~$map","^52"]]]]],"^;","Returns the map with the keys in kmap renamed to the vals in kmap"],"^G","^1L","^6","clojure/set.cljs","^:",18,"^4@",["^T",[["^56","^52"]]],"^4B",null,"^4A",["^T",[null,null]],"^8",1,"^4=",false,"^7",72,"^4I",["^F",[null,"^4F"]],"^9",72,"^4?",2,"^4G",true,"^47",["^T",["^48",["^T",[["^56","^52"]]]]],"^;","Returns the map with the keys in kmap renamed to the vals in kmap"],"~$project",["^ ","^46",null,"^5",["^ ","^6","clojure/set.cljs","^7",67,"^8",7,"^9",67,"^:",14,"^47",["^T",["^48",["^T",[["^4L","^4X"]]]]],"^;","Returns a rel of the elements of xrel with only the keys in ks"],"^G","^1<","^6","clojure/set.cljs","^:",14,"^4@",["^T",[["^4L","^4X"]]],"^4B",null,"^4A",["^T",[null,null]],"^8",1,"^4=",false,"^7",67,"^4I",["^F",["^4J","^4F","^4E","^53","^54"]],"^9",67,"^4?",2,"^4G",true,"^47",["^T",["^48",["^T",[["^4L","^4X"]]]]],"^;","Returns a rel of the elements of xrel with only the keys in ks"],"~$difference",["^ ","^46",null,"^5",["^ ","^6","clojure/set.cljs","^7",46,"^8",7,"^9",46,"^:",17,"^47",["^T",["^48",["^T",[["^49"],["^49","^4:"],["^49","^4:","~$&","^4;"]]]]],"^;","Return a set that is the first set without elements of the remaining sets","^4<",["^ ","^4=",true,"^4>",2,"^4?",2,"^4@",[["^49"],["^49","^4:"]],"^47",["^T",[["^49"],["^49","^4:"],["^49","^4:","~$&","^4;"]]],"^4A",["^T",[null,null,null]]]],"^G","^1P","^6","clojure/set.cljs","^:",17,"^4<",["^ ","^4=",true,"^4>",2,"^4?",2,"^4@",[["^49"],["^49","^4:"]],"^47",["^T",[["^49"],["^49","^4:"],["^49","^4:","~$&","^4;"]]],"^4A",["^T",[null,null,null]]],"^4@",[["^49"],["^49","^4:"]],"^4B",null,"^4>",2,"^4A",["^T",[null,null,null]],"^8",1,"^4=",true,"^4C",[["^ ","^4>",1,"^4=",false],["^ ","^4>",2,"^4=",false,"^4D",["^F",[null,"^4F"]]],["^ ","^4>",2,"^4=",true,"^4D",["^F",[null,"^4F"]]]],"^7",46,"^9",46,"^4?",2,"^4G",true,"^47",["^T",[["^49"],["^49","^4:"],["^49","^4:","~$&","^4;"]]],"^;","Return a set that is the first set without elements of the remaining sets"]],"^R",["^ ","^N","^N"],"^V",["^ "],"^W",["^ "],"^X",["^O","^N"]],"^K","^H","~:ns-specs",["^ "],"~:ns-spec-vars",["^F",[]],"~:compiler-options",["^2;",[["^5;","~:static-fns"],true,["^5;","~:shadow-tweaks"],null,["^5;","~:source-map-inline"],null,["^5;","~:elide-asserts"],false,["^5;","~:optimize-constants"],null,["^5;","^11"],null,["^5;","~:external-config"],null,["^5;","~:tooling-config"],null,["^5;","~:emit-constants"],null,["^5;","~:load-tests"],null,["^5;","~:form-size-threshold"],null,["^5;","~:global-goog-object&array"],null,["^5;","~:data-readers"],null,["^5;","~:infer-externs"],"~:auto",["^5;","^13"],null,["~:js-options","~:js-provider"],"~:shadow",["~:mode"],"~:dev",["^5;","~:fn-invoke-direct"],null,["^5;","~:source-map"],"/dev/null"]]] |