@dashkite/joy 0.3.16 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/browser/src/array.js +121 -121
- package/build/browser/src/function.js +335 -420
- package/build/browser/src/generic.js +103 -167
- package/build/browser/src/index.js +16 -13
- package/build/browser/src/iterable.js +281 -327
- package/build/browser/src/math.js +42 -38
- package/build/browser/src/metaclass.js +64 -71
- package/build/browser/src/object.js +154 -98
- package/build/browser/src/predicate.js +122 -164
- package/build/browser/src/promise.js +18 -22
- package/build/browser/src/set.js +53 -68
- package/build/browser/src/text.js +115 -124
- package/build/browser/src/time.js +88 -30
- package/build/browser/src/type.js +65 -68
- package/build/browser/src/value.js +202 -246
- package/build/node/src/array.js +283 -161
- package/build/node/src/function.js +433 -396
- package/build/node/src/generic.js +122 -151
- package/build/node/src/index.js +32 -174
- package/build/node/src/iterable.js +366 -379
- package/build/node/src/math.js +106 -65
- package/build/node/src/metaclass.js +100 -87
- package/build/node/src/object.js +215 -110
- package/build/node/src/predicate.js +150 -156
- package/build/node/src/promise.js +49 -33
- package/build/node/src/set.js +81 -80
- package/build/node/src/text.js +253 -174
- package/build/node/src/time.js +122 -40
- package/build/node/src/type.js +230 -139
- package/build/node/src/value.js +239 -267
- package/package.json +12 -6
|
@@ -1,452 +1,367 @@
|
|
|
1
|
-
var _,
|
|
2
|
-
|
|
3
|
-
arity,
|
|
4
|
-
binary,
|
|
5
|
-
bind,
|
|
6
|
-
chain,
|
|
7
|
-
compose,
|
|
8
|
-
curry,
|
|
9
|
-
detach,
|
|
10
|
-
flip,
|
|
11
|
-
flow,
|
|
12
|
-
flowWith,
|
|
13
|
-
identity,
|
|
14
|
-
isPromise,
|
|
15
|
-
memoize,
|
|
16
|
-
once,
|
|
17
|
-
partial,
|
|
18
|
-
pipe,
|
|
19
|
-
pipeWith,
|
|
20
|
-
proxy,
|
|
21
|
-
rtee,
|
|
22
|
-
send,
|
|
23
|
-
spread,
|
|
24
|
-
stack,
|
|
25
|
-
substitute,
|
|
26
|
-
tee,
|
|
27
|
-
ternary,
|
|
28
|
-
unary,
|
|
29
|
-
wait,
|
|
30
|
-
wrap,
|
|
31
|
-
splice = [].splice;
|
|
32
|
-
|
|
33
|
-
identity = function (x) {
|
|
34
|
-
return x;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
wrap = function (x) {
|
|
38
|
-
return function () {
|
|
1
|
+
var _, apply, arity, binary, bind, chain, compose, curry, detach, flip, flow, identity, isPromise, map, memoize, once, partial, pipe, proxy, rtee, send, spread, stack, substitute, tee, ternary, unary, wait, wrap, splice = [].splice;
|
|
2
|
+
identity = function(x) {
|
|
39
3
|
return x;
|
|
40
|
-
};
|
|
41
|
-
}; // Based on _arity from Rambda:
|
|
42
|
-
// https://github.com/ramda/ramda/blob/v0.26.1/source/internal/_arity.js
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
arity = function (N, f) {
|
|
46
|
-
switch (N) {
|
|
47
|
-
case 0:
|
|
48
|
-
return function () {
|
|
49
|
-
for (var _len = arguments.length, ax = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
50
|
-
ax[_key] = arguments[_key];
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return f.apply(this, ax);
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
case 1:
|
|
57
|
-
return function (a0) {
|
|
58
|
-
return f.apply(this, arguments);
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
case 2:
|
|
62
|
-
return function (a0, a1) {
|
|
63
|
-
return f.apply(this, arguments);
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
case 3:
|
|
67
|
-
return function (a0, a1, a2) {
|
|
68
|
-
return f.apply(this, arguments);
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
case 4:
|
|
72
|
-
return function (a0, a1, a2, a3) {
|
|
73
|
-
return f.apply(this, arguments);
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
case 5:
|
|
77
|
-
return function (a0, a1, a2, a3, a4) {
|
|
78
|
-
return f.apply(this, arguments);
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
case 6:
|
|
82
|
-
return function (a0, a1, a2, a3, a4, a5) {
|
|
83
|
-
return f.apply(this, arguments);
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
case 7:
|
|
87
|
-
return function (a0, a1, a2, a3, a4, a5, a6) {
|
|
88
|
-
return f.apply(this, arguments);
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
case 8:
|
|
92
|
-
return function (a0, a1, a2, a3, a4, a5, a6, a7) {
|
|
93
|
-
return f.apply(this, arguments);
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
case 9:
|
|
97
|
-
return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {
|
|
98
|
-
return f.apply(this, arguments);
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
case 10:
|
|
102
|
-
return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
|
|
103
|
-
return f.apply(this, arguments);
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
default:
|
|
107
|
-
throw new Error("First argument to arity must be an integer between 0 and 10, inclusive.");
|
|
108
|
-
}
|
|
109
4
|
};
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
5
|
+
wrap = function(x) {
|
|
6
|
+
return function() {
|
|
7
|
+
return x;
|
|
8
|
+
};
|
|
113
9
|
};
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
10
|
+
// Based on _arity from Rambda:
|
|
11
|
+
// https://github.com/ramda/ramda/blob/v0.26.1/source/internal/_arity.js
|
|
12
|
+
arity = function(N, f) {
|
|
13
|
+
switch(N){
|
|
14
|
+
case 0:
|
|
15
|
+
return function(...ax) {
|
|
16
|
+
return f.apply(this, ax);
|
|
17
|
+
};
|
|
18
|
+
case 1:
|
|
19
|
+
return function(a0) {
|
|
20
|
+
return f.apply(this, arguments);
|
|
21
|
+
};
|
|
22
|
+
case 2:
|
|
23
|
+
return function(a0, a1) {
|
|
24
|
+
return f.apply(this, arguments);
|
|
25
|
+
};
|
|
26
|
+
case 3:
|
|
27
|
+
return function(a0, a1, a2) {
|
|
28
|
+
return f.apply(this, arguments);
|
|
29
|
+
};
|
|
30
|
+
case 4:
|
|
31
|
+
return function(a0, a1, a2, a3) {
|
|
32
|
+
return f.apply(this, arguments);
|
|
33
|
+
};
|
|
34
|
+
case 5:
|
|
35
|
+
return function(a0, a1, a2, a3, a4) {
|
|
36
|
+
return f.apply(this, arguments);
|
|
37
|
+
};
|
|
38
|
+
case 6:
|
|
39
|
+
return function(a0, a1, a2, a3, a4, a5) {
|
|
40
|
+
return f.apply(this, arguments);
|
|
41
|
+
};
|
|
42
|
+
case 7:
|
|
43
|
+
return function(a0, a1, a2, a3, a4, a5, a6) {
|
|
44
|
+
return f.apply(this, arguments);
|
|
45
|
+
};
|
|
46
|
+
case 8:
|
|
47
|
+
return function(a0, a1, a2, a3, a4, a5, a6, a7) {
|
|
48
|
+
return f.apply(this, arguments);
|
|
49
|
+
};
|
|
50
|
+
case 9:
|
|
51
|
+
return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) {
|
|
52
|
+
return f.apply(this, arguments);
|
|
53
|
+
};
|
|
54
|
+
case 10:
|
|
55
|
+
return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
|
|
56
|
+
return f.apply(this, arguments);
|
|
57
|
+
};
|
|
58
|
+
default:
|
|
59
|
+
throw new Error("First argument to arity must be an integer between 0 and 10, inclusive.");
|
|
60
|
+
}
|
|
117
61
|
};
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
return arity(3, f);
|
|
62
|
+
unary = function(f) {
|
|
63
|
+
return arity(1, f);
|
|
121
64
|
};
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
switch (f.length) {
|
|
125
|
-
case 0:
|
|
126
|
-
return f;
|
|
127
|
-
|
|
128
|
-
case 1:
|
|
129
|
-
return function (a0) {
|
|
130
|
-
return f.call(this, a0);
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
case 2:
|
|
134
|
-
return function (a0, a1) {
|
|
135
|
-
return f.call(this, a1, a0);
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
case 3:
|
|
139
|
-
return function (a0, a1, a2) {
|
|
140
|
-
return f.call(this, a2, a1, a0);
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
case 4:
|
|
144
|
-
return function (a0, a1, a2, a3) {
|
|
145
|
-
return f.call(this, a3, a2, a1, a0);
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
case 5:
|
|
149
|
-
return function (a0, a1, a2, a3, a4) {
|
|
150
|
-
return f.call(this, a4, a3, a2, a1, a0);
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
case 6:
|
|
154
|
-
return function (a0, a1, a2, a3, a4, a5) {
|
|
155
|
-
return f.call(this, a5, a4, a3, a2, a1, a0);
|
|
156
|
-
};
|
|
157
|
-
|
|
158
|
-
case 7:
|
|
159
|
-
return function (a0, a1, a2, a3, a4, a5, a6) {
|
|
160
|
-
return f.call(this, a6, a4, a3, a2, a1, a0);
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
case 8:
|
|
164
|
-
return function (a0, a1, a2, a3, a4, a5, a6, a7) {
|
|
165
|
-
return f.call(this, a7, a6, a5, a4, a3, a2, a1, a0);
|
|
166
|
-
};
|
|
167
|
-
|
|
168
|
-
case 9:
|
|
169
|
-
return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {
|
|
170
|
-
return f.call(this, a8, a7, a6, a5, a4, a3, a2, a1, a0);
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
case 10:
|
|
174
|
-
return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
|
|
175
|
-
return f.call(this, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0);
|
|
176
|
-
};
|
|
177
|
-
|
|
178
|
-
default:
|
|
179
|
-
return function () {
|
|
180
|
-
for (var _len2 = arguments.length, ax = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
181
|
-
ax[_key2] = arguments[_key2];
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
return f.apply(this, ax.reverse());
|
|
185
|
-
};
|
|
186
|
-
}
|
|
65
|
+
binary = function(f) {
|
|
66
|
+
return arity(2, f);
|
|
187
67
|
};
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
68
|
+
ternary = function(f) {
|
|
69
|
+
return arity(3, f);
|
|
70
|
+
};
|
|
71
|
+
flip = function(f) {
|
|
72
|
+
switch(f.length){
|
|
73
|
+
case 0:
|
|
74
|
+
return f;
|
|
75
|
+
case 1:
|
|
76
|
+
return function(a0) {
|
|
77
|
+
return f.call(this, a0);
|
|
78
|
+
};
|
|
79
|
+
case 2:
|
|
80
|
+
return function(a0, a1) {
|
|
81
|
+
return f.call(this, a1, a0);
|
|
82
|
+
};
|
|
83
|
+
case 3:
|
|
84
|
+
return function(a0, a1, a2) {
|
|
85
|
+
return f.call(this, a2, a1, a0);
|
|
86
|
+
};
|
|
87
|
+
case 4:
|
|
88
|
+
return function(a0, a1, a2, a3) {
|
|
89
|
+
return f.call(this, a3, a2, a1, a0);
|
|
90
|
+
};
|
|
91
|
+
case 5:
|
|
92
|
+
return function(a0, a1, a2, a3, a4) {
|
|
93
|
+
return f.call(this, a4, a3, a2, a1, a0);
|
|
94
|
+
};
|
|
95
|
+
case 6:
|
|
96
|
+
return function(a0, a1, a2, a3, a4, a5) {
|
|
97
|
+
return f.call(this, a5, a4, a3, a2, a1, a0);
|
|
98
|
+
};
|
|
99
|
+
case 7:
|
|
100
|
+
return function(a0, a1, a2, a3, a4, a5, a6) {
|
|
101
|
+
return f.call(this, a6, a4, a3, a2, a1, a0);
|
|
102
|
+
};
|
|
103
|
+
case 8:
|
|
104
|
+
return function(a0, a1, a2, a3, a4, a5, a6, a7) {
|
|
105
|
+
return f.call(this, a7, a6, a5, a4, a3, a2, a1, a0);
|
|
106
|
+
};
|
|
107
|
+
case 9:
|
|
108
|
+
return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) {
|
|
109
|
+
return f.call(this, a8, a7, a6, a5, a4, a3, a2, a1, a0);
|
|
110
|
+
};
|
|
111
|
+
case 10:
|
|
112
|
+
return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
|
|
113
|
+
return f.call(this, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0);
|
|
114
|
+
};
|
|
115
|
+
default:
|
|
116
|
+
return function(...ax) {
|
|
117
|
+
return f.apply(this, ax.reverse());
|
|
118
|
+
};
|
|
216
119
|
}
|
|
217
|
-
});
|
|
218
120
|
};
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
121
|
+
curry = function(f) {
|
|
122
|
+
if (f.length > 1) {
|
|
123
|
+
return arity(f.length, function(...ax) {
|
|
124
|
+
var length, self;
|
|
125
|
+
self = this;
|
|
126
|
+
if (ax.length >= f.length) {
|
|
127
|
+
return f.apply(self, ax);
|
|
128
|
+
} else {
|
|
129
|
+
length = f.length - ax.length;
|
|
130
|
+
if (length === 1) {
|
|
131
|
+
return function(x) {
|
|
132
|
+
return f.apply(self, [
|
|
133
|
+
...ax,
|
|
134
|
+
x
|
|
135
|
+
]);
|
|
136
|
+
};
|
|
137
|
+
} else {
|
|
138
|
+
return curry(arity(length, function(...bx) {
|
|
139
|
+
return f.apply(self, [
|
|
140
|
+
...ax,
|
|
141
|
+
...bx
|
|
142
|
+
]);
|
|
143
|
+
}));
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
});
|
|
231
147
|
} else {
|
|
232
|
-
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
return results;
|
|
237
|
-
});
|
|
238
|
-
|
|
239
|
-
partial = function (f, ax) {
|
|
240
|
-
var a, j, len, n;
|
|
241
|
-
n = 0;
|
|
242
|
-
|
|
243
|
-
for (j = 0, len = ax.length; j < len; j++) {
|
|
244
|
-
a = ax[j];
|
|
245
|
-
|
|
246
|
-
if (a === _) {
|
|
247
|
-
n++;
|
|
148
|
+
return f;
|
|
248
149
|
}
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
return arity(n, function () {
|
|
252
|
-
for (var _len5 = arguments.length, bx = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
|
253
|
-
bx[_key5] = arguments[_key5];
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
return f(...substitute(ax, bx));
|
|
257
|
-
});
|
|
258
150
|
};
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
};
|
|
264
|
-
};
|
|
265
|
-
|
|
266
|
-
stack = function (f) {
|
|
267
|
-
return function () {
|
|
268
|
-
for (var _len6 = arguments.length, ax = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
|
|
269
|
-
ax[_key6] = arguments[_key6];
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
return f(ax);
|
|
273
|
-
};
|
|
274
|
-
}; // Inspired by Rambda: https://ramdajs.com/docs/#pipeWith
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
pipeWith = curry(function (c, fx) {
|
|
278
|
-
var f, gx;
|
|
279
|
-
|
|
280
|
-
gx = function () {
|
|
281
|
-
var j, len, results;
|
|
151
|
+
_ = {};
|
|
152
|
+
substitute = curry(function(ax, bx) {
|
|
153
|
+
var a, i, j, len, results;
|
|
154
|
+
i = 0;
|
|
282
155
|
results = [];
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
156
|
+
for(j = 0, len = ax.length; j < len; j++){
|
|
157
|
+
a = ax[j];
|
|
158
|
+
if (a === _) {
|
|
159
|
+
results.push(bx[i++]);
|
|
160
|
+
} else {
|
|
161
|
+
results.push(a);
|
|
162
|
+
}
|
|
287
163
|
}
|
|
288
|
-
|
|
289
164
|
return results;
|
|
290
|
-
}();
|
|
291
|
-
|
|
292
|
-
return arity(fx[0].length, function () {
|
|
293
|
-
for (var _len7 = arguments.length, ax = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
|
|
294
|
-
ax[_key7] = arguments[_key7];
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
var i, j, len;
|
|
298
|
-
|
|
299
|
-
for (i = j = 0, len = gx.length; j < len; i = ++j) {
|
|
300
|
-
f = gx[i];
|
|
301
|
-
ax = [f(...ax)];
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
return ax[0];
|
|
305
|
-
});
|
|
306
165
|
});
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
for (var _len8 = arguments.length, ax = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
|
|
316
|
-
ax[_key8] = arguments[_key8];
|
|
166
|
+
partial = function(f, ax) {
|
|
167
|
+
var a, j, len, n;
|
|
168
|
+
n = 0;
|
|
169
|
+
for(j = 0, len = ax.length; j < len; j++){
|
|
170
|
+
a = ax[j];
|
|
171
|
+
if (a === _) {
|
|
172
|
+
n++;
|
|
173
|
+
}
|
|
317
174
|
}
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
return f(...ax);
|
|
175
|
+
return arity(n, function(...bx) {
|
|
176
|
+
return f(...substitute(ax, bx));
|
|
321
177
|
});
|
|
322
|
-
});
|
|
323
178
|
};
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
});
|
|
329
|
-
|
|
330
|
-
tee = function (f) {
|
|
331
|
-
return arity(Math.max(f.length, 1), function (a) {
|
|
332
|
-
var k, ref, self;
|
|
333
|
-
self = this;
|
|
334
|
-
|
|
335
|
-
for (var _len9 = arguments.length, bx = new Array(_len9 > 1 ? _len9 - 1 : 0), _key9 = 1; _key9 < _len9; _key9++) {
|
|
336
|
-
bx[_key9 - 1] = arguments[_key9];
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
if (((ref = k = f.apply(self, [a, ...bx])) != null ? ref.then : void 0) != null) {
|
|
340
|
-
return k.then(function () {
|
|
341
|
-
return a;
|
|
342
|
-
});
|
|
343
|
-
} else {
|
|
344
|
-
return a;
|
|
345
|
-
}
|
|
346
|
-
});
|
|
179
|
+
spread = function(f) {
|
|
180
|
+
return function(ax) {
|
|
181
|
+
return f(...ax);
|
|
182
|
+
};
|
|
347
183
|
};
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
ax[_key10] = arguments[_key10];
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
var b, k, ref, ref1, self;
|
|
356
|
-
ref = ax, [...ax] = ref, [b] = splice.call(ax, -1);
|
|
357
|
-
self = this;
|
|
358
|
-
|
|
359
|
-
if (((ref1 = k = f.apply(self, [...ax, b])) != null ? ref1.then : void 0) != null) {
|
|
360
|
-
return k.then(function () {
|
|
361
|
-
return b;
|
|
362
|
-
});
|
|
363
|
-
} else {
|
|
364
|
-
return b;
|
|
365
|
-
}
|
|
366
|
-
});
|
|
184
|
+
stack = function(f) {
|
|
185
|
+
return function(...ax) {
|
|
186
|
+
return f(ax);
|
|
187
|
+
};
|
|
367
188
|
};
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
189
|
+
pipe = function(fx) {
|
|
190
|
+
return function(n) {
|
|
191
|
+
return arity(n, function(...args) {
|
|
192
|
+
var f, j, len;
|
|
193
|
+
for(j = 0, len = fx.length; j < len; j++){
|
|
194
|
+
f = fx[j];
|
|
195
|
+
args = [
|
|
196
|
+
f(...args)
|
|
197
|
+
];
|
|
198
|
+
}
|
|
199
|
+
return args[0];
|
|
200
|
+
});
|
|
201
|
+
}(fx[0].length);
|
|
202
|
+
};
|
|
203
|
+
flow = function(fx) {
|
|
204
|
+
return function(n) {
|
|
205
|
+
return arity(n, async function(...args) {
|
|
206
|
+
var f, j, len;
|
|
207
|
+
for(j = 0, len = fx.length; j < len; j++){
|
|
208
|
+
f = fx[j];
|
|
209
|
+
args = [
|
|
210
|
+
await f(...args)
|
|
211
|
+
];
|
|
212
|
+
}
|
|
213
|
+
return args[0];
|
|
214
|
+
});
|
|
215
|
+
}(fx[0].length);
|
|
216
|
+
};
|
|
217
|
+
compose = function(fx) {
|
|
218
|
+
return pipe(fx.reverse());
|
|
219
|
+
};
|
|
220
|
+
wait = function(f) {
|
|
221
|
+
return arity(f.length, function(...ax) {
|
|
222
|
+
return Promise.all(ax).then(function(ax) {
|
|
223
|
+
return f(...ax);
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
};
|
|
227
|
+
tee = function(f) {
|
|
228
|
+
return arity(Math.max(f.length, 1), function(a, ...bx) {
|
|
229
|
+
var k, ref, self;
|
|
230
|
+
self = this;
|
|
231
|
+
if (((ref = k = f.apply(self, [
|
|
232
|
+
a,
|
|
233
|
+
...bx
|
|
234
|
+
])) != null ? ref.then : void 0) != null) {
|
|
235
|
+
return k.then(function() {
|
|
236
|
+
return a;
|
|
237
|
+
});
|
|
238
|
+
} else {
|
|
239
|
+
return a;
|
|
377
240
|
}
|
|
378
|
-
|
|
379
|
-
return k = apply(f, ax);
|
|
380
|
-
}
|
|
381
241
|
});
|
|
382
|
-
}(void 0);
|
|
383
242
|
};
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
243
|
+
rtee = function(f) {
|
|
244
|
+
return arity(Math.max(f.length, 1), function(...ax) {
|
|
245
|
+
var b, k, ref, ref1, self;
|
|
246
|
+
ref = ax, [...ax] = ref, [b] = splice.call(ax, -1);
|
|
247
|
+
self = this;
|
|
248
|
+
if (((ref1 = k = f.apply(self, [
|
|
249
|
+
...ax,
|
|
250
|
+
b
|
|
251
|
+
])) != null ? ref1.then : void 0) != null) {
|
|
252
|
+
return k.then(function() {
|
|
253
|
+
return b;
|
|
254
|
+
});
|
|
255
|
+
} else {
|
|
256
|
+
return b;
|
|
257
|
+
}
|
|
395
258
|
});
|
|
396
|
-
}({});
|
|
397
259
|
};
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
260
|
+
once = function(f) {
|
|
261
|
+
return function(k) {
|
|
262
|
+
return arity(f.length, function(...ax) {
|
|
263
|
+
if (k != null) {
|
|
264
|
+
return k;
|
|
265
|
+
} else {
|
|
266
|
+
return k = apply(f, ax);
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
}(void 0);
|
|
270
|
+
};
|
|
271
|
+
memoize = function(f) {
|
|
272
|
+
return function(cache) {
|
|
273
|
+
return arity(f.length, function(...ax) {
|
|
274
|
+
var name1;
|
|
275
|
+
return cache[name1 = JSON.stringify(ax)] != null ? cache[name1] : cache[name1] = apply(f, ax);
|
|
276
|
+
});
|
|
277
|
+
}({});
|
|
278
|
+
};
|
|
279
|
+
apply = curry(function(f, ax) {
|
|
280
|
+
return f.apply(null, ax);
|
|
401
281
|
});
|
|
402
|
-
bind = curry(function
|
|
403
|
-
|
|
282
|
+
bind = curry(function(f, x) {
|
|
283
|
+
return f.bind(x);
|
|
404
284
|
});
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
args[_key13 - 1] = arguments[_key13];
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
return f.apply(x, args);
|
|
413
|
-
}));
|
|
285
|
+
detach = function(f) {
|
|
286
|
+
return curry(arity(f.length + 1, function(x, ...args) {
|
|
287
|
+
return f.apply(x, args);
|
|
288
|
+
}));
|
|
414
289
|
};
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
return object[name].apply(object, ax);
|
|
290
|
+
send = curry(function(name, ax, object) {
|
|
291
|
+
return object[name].apply(object, ax);
|
|
418
292
|
});
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
return k instanceof Promise;
|
|
293
|
+
isPromise = function(k) {
|
|
294
|
+
return k instanceof Promise;
|
|
422
295
|
};
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
return self;
|
|
436
|
-
});
|
|
437
|
-
} else {
|
|
438
|
-
return self;
|
|
439
|
-
}
|
|
440
|
-
});
|
|
296
|
+
chain = function(f) {
|
|
297
|
+
return arity(Math.max(f.length, 1), function(...ax) {
|
|
298
|
+
var k, self;
|
|
299
|
+
self = this;
|
|
300
|
+
if (isPromise(k = f.apply(self, ax))) {
|
|
301
|
+
return k.then(function() {
|
|
302
|
+
return self;
|
|
303
|
+
});
|
|
304
|
+
} else {
|
|
305
|
+
return self;
|
|
306
|
+
}
|
|
307
|
+
});
|
|
441
308
|
};
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
309
|
+
map = function(fx) {
|
|
310
|
+
return function({ lengths, length }) {
|
|
311
|
+
lengths = fx.map(function(f) {
|
|
312
|
+
return f.length;
|
|
313
|
+
});
|
|
314
|
+
length = Math.max(...lengths);
|
|
315
|
+
return arity(length, function(...args) {
|
|
316
|
+
var f, j, len, results;
|
|
317
|
+
results = [];
|
|
318
|
+
for(j = 0, len = fx.length; j < len; j++){
|
|
319
|
+
f = fx[j];
|
|
320
|
+
results.push(f(...args));
|
|
321
|
+
}
|
|
322
|
+
return results;
|
|
323
|
+
});
|
|
324
|
+
}({});
|
|
325
|
+
};
|
|
326
|
+
proxy = curry(function(name, ax) {
|
|
327
|
+
return function(...bx) {
|
|
328
|
+
return this[name].apply(this, [
|
|
329
|
+
...ax,
|
|
330
|
+
...bx
|
|
331
|
+
]);
|
|
332
|
+
};
|
|
451
333
|
});
|
|
452
|
-
export { identity, wrap, arity, unary, binary, ternary, flip, curry, _, substitute, partial, spread, stack,
|
|
334
|
+
export { identity, wrap, arity, unary, binary, ternary, flip, curry, _, substitute, partial, spread, stack, pipe, compose, wait, flow, tee, rtee, once, memoize, apply, bind, detach, send, chain, map, proxy };
|
|
335
|
+
export default {
|
|
336
|
+
identity,
|
|
337
|
+
wrap,
|
|
338
|
+
arity,
|
|
339
|
+
unary,
|
|
340
|
+
binary,
|
|
341
|
+
ternary,
|
|
342
|
+
flip,
|
|
343
|
+
curry,
|
|
344
|
+
_,
|
|
345
|
+
substitute,
|
|
346
|
+
partial,
|
|
347
|
+
spread,
|
|
348
|
+
stack,
|
|
349
|
+
pipe,
|
|
350
|
+
compose,
|
|
351
|
+
wait,
|
|
352
|
+
flow,
|
|
353
|
+
tee,
|
|
354
|
+
rtee,
|
|
355
|
+
once,
|
|
356
|
+
memoize,
|
|
357
|
+
apply,
|
|
358
|
+
bind,
|
|
359
|
+
detach,
|
|
360
|
+
send,
|
|
361
|
+
chain,
|
|
362
|
+
map,
|
|
363
|
+
proxy
|
|
364
|
+
}; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9qb3kvc3JjL2Z1bmN0aW9uLmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxJQUFBLENBQUEsRUFBQSxLQUFBLEVBQUEsS0FBQSxFQUFBLE1BQUEsRUFBQSxJQUFBLEVBQUEsS0FBQSxFQUFBLE9BQUEsRUFBQSxLQUFBLEVBQUEsTUFBQSxFQUFBLElBQUEsRUFBQSxJQUFBLEVBQUEsUUFBQSxFQUFBLFNBQUEsRUFBQSxHQUFBLEVBQUEsT0FBQSxFQUFBLElBQUEsRUFBQSxPQUFBLEVBQUEsSUFBQSxFQUFBLEtBQUEsRUFBQSxJQUFBLEVBQUEsSUFBQSxFQUFBLE1BQUEsRUFBQSxLQUFBLEVBQUEsVUFBQSxFQUFBLEdBQUEsRUFBQSxPQUFBLEVBQUEsS0FBQSxFQUFBLElBQUEsRUFBQSxJQUFBO0VBQUE7O0FBQUEsUUFBQSxHQUFXLFFBQUEsQ0FBQyxDQUFELENBQUE7U0FBTztBQUFQOztBQUVYLElBQUEsR0FBTyxRQUFBLENBQUMsQ0FBRCxDQUFBO1NBQU8sUUFBQSxDQUFBLENBQUE7V0FBRztFQUFIO0FBQVAsRUFGUDs7OztBQU1BLEtBQUEsR0FBUyxRQUFBLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FBQTtBQUNQLFVBQU8sQ0FBUDtBQUFBLFNBQ08sQ0FEUDthQUVJLFFBQUEsQ0FBQSxHQUFDLEVBQUQsQ0FBQTtlQUFXLENBQUMsQ0FBQyxLQUFGLENBQVEsSUFBUixFQUFXLEVBQVg7TUFBWDtBQUZKLFNBR08sQ0FIUDthQUlJLFFBQUEsQ0FBQyxFQUFELENBQUE7ZUFBUSxDQUFDLENBQUMsS0FBRixDQUFRLElBQVIsRUFBVyxTQUFYO01BQVI7QUFKSixTQUtPLENBTFA7YUFNSSxRQUFBLENBQUMsRUFBRCxFQUFLLEVBQUwsQ0FBQTtlQUFhLENBQUMsQ0FBQyxLQUFGLENBQVEsSUFBUixFQUFXLFNBQVg7TUFBYjtBQU5KLFNBT08sQ0FQUDthQVFJLFFBQUEsQ0FBQyxFQUFE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QTNCYSxFQTRCYixLQTVCYSIsInNvdXJjZXNDb250ZW50IjpbImlkZW50aXR5ID0gKHgpIC0+IHhcblxud3JhcCA9ICh4KSAtPiAtPiB4XG5cbiMgQmFzZWQgb24gX2FyaXR5IGZyb20gUmFtYmRhOlxuIyBodHRwczovL2dpdGh1Yi5jb20vcmFtZGEvcmFtZGEvYmxvYi92MC4yNi4xL3NvdXJjZS9pbnRlcm5hbC9fYXJpdHkuanNcbmFyaXR5ICA9IChOLCBmKSAtPlxuICBzd2l0Y2ggTlxuICAgIHdoZW4gMFxuICAgICAgKGF4Li4uKSAtPiBmLmFwcGx5IEAsIGF4XG4gICAgd2hlbiAxXG4gICAgICAoYTApIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiAyXG4gICAgICAoYTAsIGExKSAgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDNcbiAgICAgIChhMCwgYTEsIGEyKSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gNFxuICAgICAgKGEwLCBhMSwgYTIsIGEzKSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gNVxuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCkgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDZcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1KSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gN1xuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2KSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gOFxuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNykgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDlcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4KSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gMTBcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4LCBhOSkgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICBlbHNlXG4gICAgICB0aHJvdyBuZXcgRXJyb3IgXCJGaXJzdCBhcmd1bWVudCB0byBhcml0eSBtdXN0IGJlIGFuIGludGVnZXIgYmV0d2VlbiAwIGFuZCAxMCwgaW5jbHVzaXZlLlwiXG5cbnVuYXJ5ID0gKGYpIC0+IGFyaXR5IDEsIGZcblxuYmluYXJ5ID0gKGYpIC0+IGFyaXR5IDIsIGZcblxudGVybmFyeSA9IChmKSAtPiBhcml0eSAzLCBmXG5cbmZsaXAgPSAoZikgLT5cbiAgc3dpdGNoIGYubGVuZ3RoXG4gICAgd2hlbiAwXG4gICAgICBmXG4gICAgd2hlbiAxXG4gICAgICAoYTApIC0+IGYuY2FsbCBALCBhMFxuICAgIHdoZW4gMlxuICAgICAgKGEwLCBhMSkgIC0+IGYuY2FsbCBALCBhMSwgYTBcbiAgICB3aGVuIDNcbiAgICAgIChhMCwgYTEsIGEyKSAtPiBmLmNhbGwgQCwgYTIsIGExLCBhMFxuICAgIHdoZW4gNFxuICAgICAgKGEwLCBhMSwgYTIsIGEzKSAtPiBmLmNhbGwgQCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDVcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQpIC0+IGYuY2FsbCBALCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDZcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1KSAtPiBmLmNhbGwgQCwgYTUsIGE0LCBhMywgYTIsIGExLCBhMFxuICAgIHdoZW4gN1xuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2KSAtPiBmLmNhbGwgQCwgYTYsIGE0LCBhMywgYTIsIGExLCBhMFxuICAgIHdoZW4gOFxuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNykgLT5cbiAgICAgICAgZi5jYWxsIEAsIGE3LCBhNiwgYTUsIGE0LCBhMywgYTIsIGExLCBhMFxuICAgIHdoZW4gOVxuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNywgYTgpIC0+XG4gICAgICAgIGYuY2FsbCBALCBhOCwgYTcsIGE2LCBhNSwgYTQsIGEzLCBhMiwgYTEsIGEwXG4gICAgd2hlbiAxMFxuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNywgYTgsIGE5KSAtPlxuICAgICAgICBmLmNhbGwgQCwgYTksIGE4LCBhNywgYTYsIGE1LCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICBlbHNlXG4gICAgICAoYXguLi4pIC0+IGYuYXBwbHkgQCwgYXgucmV2ZXJzZSgpXG5cbmN1cnJ5ID0gKGYpIC0+XG4gIGlmIGYubGVuZ3RoID4gMVxuICAgIGFyaXR5IGYubGVuZ3RoLCAoYXguLi4pIC0+XG4gICAgICBzZWxmID0gQFxuICAgICAgaWYgYXgubGVuZ3RoID49IGYubGVuZ3RoXG4gICAgICAgIGYuYXBwbHkgc2VsZiwgYXhcbiAgICAgIGVsc2VcbiAgICAgICAgbGVuZ3RoID0gZi5sZW5ndGggLSBheC5sZW5ndGhcbiAgICAgICAgaWYgbGVuZ3RoID09IDFcbiAgICAgICAgICAoeCkgLT4gZi5hcHBseSBzZWxmLCBbIGF4Li4uLCB4IF1cbiAgICAgICAgZWxzZVxuICAgICAgICAgIGN1cnJ5IGFyaXR5IGxlbmd0aCwgKGJ4Li4uKSAtPiBmLmFwcGx5IHNlbGYsIFsgYXguLi4sIGJ4Li4uIF1cbiAgZWxzZSBmXG5cbl8gPSB7fVxuXG5zdWJzdGl0dXRlID0gY3VycnkgKGF4LCBieCkgLT5cbiAgaSA9IDBcbiAgZm9yIGEgaW4gYXhcbiAgICBpZiBhID09IF9cbiAgICAgIGJ4W2krK11cbiAgICBlbHNlXG4gICAgICBhXG5cbnBhcnRpYWwgPSAoZiwgYXgpIC0+XG4gIG4gPSAwXG4gIGZvciBhIGluIGF4IHdoZW4gYSA9PSBfXG4gICAgbisrXG4gIGFyaXR5IG4sIChieC4uLikgLT4gZiAoc3Vic3RpdHV0ZSBheCwgYngpLi4uXG5cbnNwcmVhZCA9IChmKSAtPiAoYXgpIC0+IGYgYXguLi5cblxuc3RhY2sgPSAoZikgLT4gKGF4Li4uKSAtPiBmIGF4XG5cbnBpcGUgPSAoIGZ4ICkgLT5cbiAgZG8gKCBuID0gZnhbIDAgXS5sZW5ndGggKSAtPiAgICBcbiAgICBhcml0eSBuLCAoIGFyZ3MuLi4gKSAtPlxuICAgICAgZm9yIGYgaW4gZnhcbiAgICAgICAgYXJncyA9IFsgZiBhcmdzLi4uIF1cbiAgICAgIGFyZ3NbIDAgXVxuXG5mbG93ID0gKCBmeCApIC0+XG4gIGRvICggbiA9IGZ4WyAwIF0ubGVuZ3RoICkgLT4gICAgXG4gICAgYXJpdHkgbiwgKCBhcmdzLi4uICkgLT5cbiAgICAgIGZvciBmIGluIGZ4XG4gICAgICAgIGFyZ3MgPSBbIGF3YWl0IGYgYXJncy4uLiBdXG4gICAgICBhcmdzWyAwIF1cblxuY29tcG9zZSA9IChmeCkgLT4gcGlwZSBmeC5yZXZlcnNlKClcblxud2FpdCA9IChmKSAtPlxuICBhcml0eSBmLmxlbmd0aCwgKGF4Li4uKSAtPlxuICAgIFByb21pc2UuYWxsIGF4XG4gICAgICAudGhlbiAoYXgpIC0+IGYgYXguLi5cblxudGVlID0gKGYpIC0+XG4gIGFyaXR5IChNYXRoLm1heCBmLmxlbmd0aCwgMSksIChhLCBieC4uLikgLT5cbiAgICBzZWxmID0gQFxuICAgIGlmIChrID0gKGYuYXBwbHkgc2VsZiwgWyBhLCBieC4uLiBdKSk/LnRoZW4/XG4gICAgICBrLnRoZW4gLT4gYVxuICAgIGVsc2VcbiAgICAgIGFcblxucnRlZSA9IChmKSAtPlxuICBhcml0eSAoTWF0aC5tYXggZi5sZW5ndGgsIDEpLCAoYXguLi4sIGIpIC0+XG4gICAgc2VsZiA9IEBcbiAgICBpZiAoayA9IChmLmFwcGx5IHNlbGYsIFsgYXguLi4sIGIgXSkpPy50aGVuP1xuICAgICAgay50aGVuIC0+IGJcbiAgICBlbHNlXG4gICAgICBiXG5cbm9uY2UgPSAoZikgLT5cbiAgZG8gKGs9dW5kZWZpbmVkKSAtPlxuICAgIGFyaXR5IGYubGVuZ3RoLFxuICAgICAgKGF4Li4uKSAtPiBpZiBrPyB0aGVuIGsgZWxzZSAoayA9IGFwcGx5IGYsIGF4KVxuXG5tZW1vaXplID0gKGYpIC0+XG4gIGRvIChjYWNoZSA9IHt9KSAtPlxuICAgIGFyaXR5IGYubGVuZ3RoLCAoYXguLi4pIC0+XG4gICAgICBjYWNoZVsgSlNPTi5zdHJpbmdpZnkgYXggXSA/PSBhcHBseSBmLCBheFxuXG5hcHBseSA9IGN1cnJ5IChmLCBheCkgLT4gZi5hcHBseSBudWxsLCBheFxuXG5iaW5kID0gY3VycnkgKGYsIHgpIC0+IGYuYmluZCB4XG5cbmRldGFjaCA9IChmKSAtPlxuICBjdXJyeSBhcml0eSAoZi5sZW5ndGggKyAxKSwgXG4gICAgKHgsIGFyZ3MuLi4pIC0+IGYuYXBwbHkgeCwgYXJnc1xuXG5zZW5kID0gY3VycnkgKG5hbWUsIGF4LCBvYmplY3QpIC0+IG9iamVjdFtuYW1lXS5hcHBseSBvYmplY3QsIGF4XG5cbmlzUHJvbWlzZSA9IChrKSAtPiBrIGluc3RhbmNlb2YgUHJvbWlzZVxuXG5jaGFpbiA9IChmKSAtPlxuICBhcml0eSAoTWF0aC5tYXggZi5sZW5ndGgsIDEpLCAoYXguLi4pIC0+XG4gICAgc2VsZiA9IEBcbiAgICBpZiAoaXNQcm9taXNlIChrID0gKGYuYXBwbHkgc2VsZiwgYXgpKSlcbiAgICAgIGsudGhlbiAtPiBzZWxmXG4gICAgZWxzZVxuICAgICAgc2VsZlxuXG5tYXAgPSAoIGZ4ICkgLT5cbiAgZG8gKHsgbGVuZ3RocywgbGVuZ3RoIH0gPSB7fSkgLT5cbiAgICBsZW5ndGhzID0gZngubWFwICggZiApIC0+IGYubGVuZ3RoXG4gICAgbGVuZ3RoID0gTWF0aC5tYXggbGVuZ3Rocy4uLlxuICAgIGFyaXR5IGxlbmd0aCwgKCBhcmdzLi4uICkgLT5cbiAgICAgICggZiBhcmdzLi4uICkgZm9yIGYgaW4gZnhcblxucHJveHkgPSBjdXJyeSAobmFtZSwgYXgpIC0+XG4gIChieC4uLikgLT4gQFtuYW1lXS5hcHBseSBALCBbIGF4Li4uLCBieC4uLiBdXG5cbmV4cG9ydCB7XG4gIGlkZW50aXR5XG4gIHdyYXBcbiAgYXJpdHlcbiAgdW5hcnlcbiAgYmluYXJ5XG4gIHRlcm5hcnlcbiAgZmxpcFxuICBjdXJyeVxuICBfXG4gIHN1YnN0aXR1dGVcbiAgcGFydGlhbFxuICBzcHJlYWRcbiAgc3RhY2tcbiAgcGlwZVxuICBjb21wb3NlXG4gIHdhaXRcbiAgZmxvd1xuICB0ZWVcbiAgcnRlZVxuICBvbmNlXG4gIG1lbW9pemVcbiAgYXBwbHlcbiAgYmluZFxuICBkZXRhY2hcbiAgc2VuZFxuICBjaGFpblxuICBtYXBcbiAgcHJveHlcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBpZGVudGl0eVxuICB3cmFwXG4gIGFyaXR5XG4gIHVuYXJ5XG4gIGJpbmFyeVxuICB0ZXJuYXJ5XG4gIGZsaXBcbiAgY3VycnlcbiAgX1xuICBzdWJzdGl0dXRlXG4gIHBhcnRpYWxcbiAgc3ByZWFkXG4gIHN0YWNrXG4gIHBpcGVcbiAgY29tcG9zZVxuICB3YWl0XG4gIGZsb3dcbiAgdGVlXG4gIHJ0ZWVcbiAgb25jZVxuICBtZW1vaXplXG4gIGFwcGx5XG4gIGJpbmRcbiAgZGV0YWNoXG4gIHNlbmRcbiAgY2hhaW5cbiAgbWFwXG4gIHByb3h5XG59XG4iXX0=
|
|
365
|
+
//# sourceURL=/@dashkite/joy/src/function.coffee
|
|
366
|
+
|
|
367
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9AZGFzaGtpdGUvam95L3NyYy9mdW5jdGlvbi5jb2ZmZWUiXSwic291cmNlc0NvbnRlbnQiOlsiaWRlbnRpdHkgPSAoeCkgLT4geFxuXG53cmFwID0gKHgpIC0+IC0+IHhcblxuIyBCYXNlZCBvbiBfYXJpdHkgZnJvbSBSYW1iZGE6XG4jIGh0dHBzOi8vZ2l0aHViLmNvbS9yYW1kYS9yYW1kYS9ibG9iL3YwLjI2LjEvc291cmNlL2ludGVybmFsL19hcml0eS5qc1xuYXJpdHkgID0gKE4sIGYpIC0+XG4gIHN3aXRjaCBOXG4gICAgd2hlbiAwXG4gICAgICAoYXguLi4pIC0+IGYuYXBwbHkgQCwgYXhcbiAgICB3aGVuIDFcbiAgICAgIChhMCkgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDJcbiAgICAgIChhMCwgYTEpICAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gM1xuICAgICAgKGEwLCBhMSwgYTIpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiA0XG4gICAgICAoYTAsIGExLCBhMiwgYTMpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiA1XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0KSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gNlxuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiA3XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiA4XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3KSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gOVxuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNywgYTgpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiAxMFxuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNywgYTgsIGE5KSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIGVsc2VcbiAgICAgIHRocm93IG5ldyBFcnJvciBcIkZpcnN0IGFyZ3VtZW50IHRvIGFyaXR5IG11c3QgYmUgYW4gaW50ZWdlciBiZXR3ZWVuIDAgYW5kIDEwLCBpbmNsdXNpdmUuXCJcblxudW5hcnkgPSAoZikgLT4gYXJpdHkgMSwgZlxuXG5iaW5hcnkgPSAoZikgLT4gYXJpdHkgMiwgZlxuXG50ZXJuYXJ5ID0gKGYpIC0+IGFyaXR5IDMsIGZcblxuZmxpcCA9IChmKSAtPlxuICBzd2l0Y2ggZi5sZW5ndGhcbiAgICB3aGVuIDBcbiAgICAgIGZcbiAgICB3aGVuIDFcbiAgICAgIChhMCkgLT4gZi5jYWxsIEAsIGEwXG4gICAgd2hlbiAyXG4gICAgICAoYTAsIGExKSAgLT4gZi5jYWxsIEAsIGExLCBhMFxuICAgIHdoZW4gM1xuICAgICAgKGEwLCBhMSwgYTIpIC0+IGYuY2FsbCBALCBhMiwgYTEsIGEwXG4gICAgd2hlbiA0XG4gICAgICAoYTAsIGExLCBhMiwgYTMpIC0+IGYuY2FsbCBALCBhMywgYTIsIGExLCBhMFxuICAgIHdoZW4gNVxuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCkgLT4gZi5jYWxsIEAsIGE0LCBhMywgYTIsIGExLCBhMFxuICAgIHdoZW4gNlxuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUpIC0+IGYuY2FsbCBALCBhNSwgYTQsIGEzLCBhMiwgYTEsIGEwXG4gICAgd2hlbiA3XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYpIC0+IGYuY2FsbCBALCBhNiwgYTQsIGEzLCBhMiwgYTEsIGEwXG4gICAgd2hlbiA4XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3KSAtPlxuICAgICAgICBmLmNhbGwgQCwgYTcsIGE2LCBhNSwgYTQsIGEzLCBhMiwgYTEsIGEwXG4gICAgd2hlbiA5XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCkgLT5cbiAgICAgICAgZi5jYWxsIEAsIGE4LCBhNywgYTYsIGE1LCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDEwXG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCwgYTkpIC0+XG4gICAgICAgIGYuY2FsbCBALCBhOSwgYTgsIGE3LCBhNiwgYTUsIGE0LCBhMywgYTIsIGExLCBhMFxuICAgIGVsc2VcbiAgICAgIChheC4uLikgLT4gZi5hcHBseSBALCBheC5yZXZlcnNlKClcblxuY3VycnkgPSAoZikgLT5cbiAgaWYgZi5sZW5ndGggPiAxXG4gICAgYXJpdHkgZi5sZW5ndGgsIChheC4uLikgLT5cbiAgICAgIHNlbGYgPSBAXG4gICAgICBpZiBheC5sZW5ndGggPj0gZi5sZW5ndGhcbiAgICAgICAgZi5hcHBseSBzZWxmLCBheFxuICAgICAgZWxzZVxuICAgICAgICBsZW5ndGggPSBmLmxlbmd0aCAtIGF4Lmxlbmd0aFxuICAgICAgICBpZiBsZW5ndGggPT0gMVxuICAgICAgICAgICh4KSAtPiBmLmFwcGx5IHNlbGYsIFsgYXguLi4sIHggXVxuICAgICAgICBlbHNlXG4gICAgICAgICAgY3VycnkgYXJpdHkgbGVuZ3RoLCAoYnguLi4pIC0+IGYuYXBwbHkgc2VsZiwgWyBheC4uLiwgYnguLi4gXVxuICBlbHNlIGZcblxuXyA9IHt9XG5cbnN1YnN0aXR1dGUgPSBjdXJyeSAoYXgsIGJ4KSAtPlxuICBpID0gMFxuICBmb3IgYSBpbiBheFxuICAgIGlmIGEgPT0gX1xuICAgICAgYnhbaSsrXVxuICAgIGVsc2VcbiAgICAgIGFcblxucGFydGlhbCA9IChmLCBheCkgLT5cbiAgbiA9IDBcbiAgZm9yIGEgaW4gYXggd2hlbiBhID09IF9cbiAgICBuKytcbiAgYXJpdHkgbiwgKGJ4Li4uKSAtPiBmIChzdWJzdGl0dXRlIGF4LCBieCkuLi5cblxuc3ByZWFkID0gKGYpIC0+IChheCkgLT4gZiBheC4uLlxuXG5zdGFjayA9IChmKSAtPiAoYXguLi4pIC0+IGYgYXhcblxucGlwZSA9ICggZnggKSAtPlxuICBkbyAoIG4gPSBmeFsgMCBdLmxlbmd0aCApIC0+ICAgIFxuICAgIGFyaXR5IG4sICggYXJncy4uLiApIC0+XG4gICAgICBmb3IgZiBpbiBmeFxuICAgICAgICBhcmdzID0gWyBmIGFyZ3MuLi4gXVxuICAgICAgYXJnc1sgMCBdXG5cbmZsb3cgPSAoIGZ4ICkgLT5cbiAgZG8gKCBuID0gZnhbIDAgXS5sZW5ndGggKSAtPiAgICBcbiAgICBhcml0eSBuLCAoIGFyZ3MuLi4gKSAtPlxuICAgICAgZm9yIGYgaW4gZnhcbiAgICAgICAgYXJncyA9IFsgYXdhaXQgZiBhcmdzLi4uIF1cbiAgICAgIGFyZ3NbIDAgXVxuXG5jb21wb3NlID0gKGZ4KSAtPiBwaXBlIGZ4LnJldmVyc2UoKVxuXG53YWl0ID0gKGYpIC0+XG4gIGFyaXR5IGYubGVuZ3RoLCAoYXguLi4pIC0+XG4gICAgUHJvbWlzZS5hbGwgYXhcbiAgICAgIC50aGVuIChheCkgLT4gZiBheC4uLlxuXG50ZWUgPSAoZikgLT5cbiAgYXJpdHkgKE1hdGgubWF4IGYubGVuZ3RoLCAxKSwgKGEsIGJ4Li4uKSAtPlxuICAgIHNlbGYgPSBAXG4gICAgaWYgKGsgPSAoZi5hcHBseSBzZWxmLCBbIGEsIGJ4Li4uIF0pKT8udGhlbj9cbiAgICAgIGsudGhlbiAtPiBhXG4gICAgZWxzZVxuICAgICAgYVxuXG5ydGVlID0gKGYpIC0+XG4gIGFyaXR5IChNYXRoLm1heCBmLmxlbmd0aCwgMSksIChheC4uLiwgYikgLT5cbiAgICBzZWxmID0gQFxuICAgIGlmIChrID0gKGYuYXBwbHkgc2VsZiwgWyBheC4uLiwgYiBdKSk/LnRoZW4/XG4gICAgICBrLnRoZW4gLT4gYlxuICAgIGVsc2VcbiAgICAgIGJcblxub25jZSA9IChmKSAtPlxuICBkbyAoaz11bmRlZmluZWQpIC0+XG4gICAgYXJpdHkgZi5sZW5ndGgsXG4gICAgICAoYXguLi4pIC0+IGlmIGs/IHRoZW4gayBlbHNlIChrID0gYXBwbHkgZiwgYXgpXG5cbm1lbW9pemUgPSAoZikgLT5cbiAgZG8gKGNhY2hlID0ge30pIC0+XG4gICAgYXJpdHkgZi5sZW5ndGgsIChheC4uLikgLT5cbiAgICAgIGNhY2hlWyBKU09OLnN0cmluZ2lmeSBheCBdID89IGFwcGx5IGYsIGF4XG5cbmFwcGx5ID0gY3VycnkgKGYsIGF4KSAtPiBmLmFwcGx5IG51bGwsIGF4XG5cbmJpbmQgPSBjdXJyeSAoZiwgeCkgLT4gZi5iaW5kIHhcblxuZGV0YWNoID0gKGYpIC0+XG4gIGN1cnJ5IGFyaXR5IChmLmxlbmd0aCArIDEpLCBcbiAgICAoeCwgYXJncy4uLikgLT4gZi5hcHBseSB4LCBhcmdzXG5cbnNlbmQgPSBjdXJyeSAobmFtZSwgYXgsIG9iamVjdCkgLT4gb2JqZWN0W25hbWVdLmFwcGx5IG9iamVjdCwgYXhcblxuaXNQcm9taXNlID0gKGspIC0+IGsgaW5zdGFuY2VvZiBQcm9taXNlXG5cbmNoYWluID0gKGYpIC0+XG4gIGFyaXR5IChNYXRoLm1heCBmLmxlbmd0aCwgMSksIChheC4uLikgLT5cbiAgICBzZWxmID0gQFxuICAgIGlmIChpc1Byb21pc2UgKGsgPSAoZi5hcHBseSBzZWxmLCBheCkpKVxuICAgICAgay50aGVuIC0+IHNlbGZcbiAgICBlbHNlXG4gICAgICBzZWxmXG5cbm1hcCA9ICggZnggKSAtPlxuICBkbyAoeyBsZW5ndGhzLCBsZW5ndGggfSA9IHt9KSAtPlxuICAgIGxlbmd0aHMgPSBmeC5tYXAgKCBmICkgLT4gZi5sZW5ndGhcbiAgICBsZW5ndGggPSBNYXRoLm1heCBsZW5ndGhzLi4uXG4gICAgYXJpdHkgbGVuZ3RoLCAoIGFyZ3MuLi4gKSAtPlxuICAgICAgKCBmIGFyZ3MuLi4gKSBmb3IgZiBpbiBmeFxuXG5wcm94eSA9IGN1cnJ5IChuYW1lLCBheCkgLT5cbiAgKGJ4Li4uKSAtPiBAW25hbWVdLmFwcGx5IEAsIFsgYXguLi4sIGJ4Li4uIF1cblxuZXhwb3J0IHtcbiAgaWRlbnRpdHlcbiAgd3JhcFxuICBhcml0eVxuICB1bmFyeVxuICBiaW5hcnlcbiAgdGVybmFyeVxuICBmbGlwXG4gIGN1cnJ5XG4gIF9cbiAgc3Vic3RpdHV0ZVxuICBwYXJ0aWFsXG4gIHNwcmVhZFxuICBzdGFja1xuICBwaXBlXG4gIGNvbXBvc2VcbiAgd2FpdFxuICBmbG93XG4gIHRlZVxuICBydGVlXG4gIG9uY2VcbiAgbWVtb2l6ZVxuICBhcHBseVxuICBiaW5kXG4gIGRldGFjaFxuICBzZW5kXG4gIGNoYWluXG4gIG1hcFxuICBwcm94eVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGlkZW50aXR5XG4gIHdyYXBcbiAgYXJpdHlcbiAgdW5hcnlcbiAgYmluYXJ5XG4gIHRlcm5hcnlcbiAgZmxpcFxuICBjdXJyeVxuICBfXG4gIHN1YnN0aXR1dGVcbiAgcGFydGlhbFxuICBzcHJlYWRcbiAgc3RhY2tcbiAgcGlwZVxuICBjb21wb3NlXG4gIHdhaXRcbiAgZmxvd1xuICB0ZWVcbiAgcnRlZVxuICBvbmNlXG4gIG1lbW9pemVcbiAgYXBwbHlcbiAgYmluZFxuICBkZXRhY2hcbiAgc2VuZFxuICBjaGFpblxuICBtYXBcbiAgcHJveHlcbn1cbiJdLCJuYW1lcyI6WyJfIiwiYXBwbHkiLCJhcml0eSIsImJpbmFyeSIsImJpbmQiLCJjaGFpbiIsImNvbXBvc2UiLCJjdXJyeSIsImRldGFjaCIsImZsaXAiLCJmbG93IiwiaWRlbnRpdHkiLCJpc1Byb21pc2UiLCJtYXAiLCJtZW1vaXplIiwib25jZSIsInBhcnRpYWwiLCJwaXBlIiwicHJveHkiLCJydGVlIiwic2VuZCIsInNwcmVhZCIsInN0YWNrIiwic3Vic3RpdHV0ZSIsInRlZSIsInRlcm5hcnkiLCJ1bmFyeSIsIndhaXQiLCJ3cmFwIiwic3BsaWNlIiwieCIsIk4iLCJmIiwiYXgiLCJhMCIsImFyZ3VtZW50cyIsImExIiwiYTIiLCJhMyIsImE0IiwiYTUiLCJhNiIsImE3IiwiYTgiLCJhOSIsIkVycm9yIiwibGVuZ3RoIiwiY2FsbCIsInJldmVyc2UiLCJzZWxmIiwiYngiLCJhIiwiaSIsImoiLCJsZW4iLCJyZXN1bHRzIiwibiIsImZ4IiwiYXJncyIsIlByb21pc2UiLCJhbGwiLCJ0aGVuIiwiTWF0aCIsIm1heCIsImsiLCJyZWYiLCJiIiwicmVmMSIsImNhY2hlIiwibmFtZTEiLCJuYW1lIiwib2JqZWN0IiwibGVuZ3RocyJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBQUEsR0FBQUMsT0FBQUMsT0FBQUMsUUFBQUMsTUFBQUMsT0FBQUMsU0FBQUMsT0FBQUMsUUFBQUMsTUFBQUMsTUFBQUMsVUFBQUMsV0FBQUMsS0FBQUMsU0FBQUMsTUFBQUMsU0FBQUMsTUFBQUMsT0FBQUMsTUFBQUMsTUFBQUMsUUFBQUMsT0FBQUMsWUFBQUMsS0FBQUMsU0FBQUMsT0FBQUMsTUFBQUMsTUFBQUMsU0FBQSxFQUFBLENBQUFBLE1BQUE7QUFBQWxCLFdBQVcsU0FBQ21CLENBQUQ7V0FBT0E7QUFBUDtBQUVYRixPQUFPLFNBQUNFLENBQUQ7V0FBTztlQUFHQTtJQUFIO0FBQVA7OztBQUlQNUIsUUFBUyxTQUFDNkIsQ0FBRCxFQUFJQyxDQUFKO0lBQ1AsT0FBT0Q7UUFBUCxLQUNPO21CQUNILFNBQUEsR0FBQ0UsRUFBRDt1QkFBV0QsRUFBRS9CLEtBQUYsQ0FBUSxJQUFSLEVBQVdnQztZQUF0QjtRQUZKLEtBR087bUJBQ0gsU0FBQ0MsRUFBRDt1QkFBUUYsRUFBRS9CLEtBQUYsQ0FBUSxJQUFSLEVBQVdrQztZQUFuQjtRQUpKLEtBS087bUJBQ0gsU0FBQ0QsRUFBRCxFQUFLRSxFQUFMO3VCQUFhSixFQUFFL0IsS0FBRixDQUFRLElBQVIsRUFBV2tDO1lBQXhCO1FBTkosS0FPTzttQkFDSCxTQUFDRCxFQUFELEVBQUtFLEVBQUwsRUFBU0MsRUFBVDt1QkFBZ0JMLEVBQUUvQixLQUFGLENBQVEsSUFBUixFQUFXa0M7WUFBM0I7UUFSSixLQVNPO21CQUNILFNBQUNELEVBQUQsRUFBS0UsRUFBTCxFQUFTQyxFQUFULEVBQWFDLEVBQWI7dUJBQW9CTixFQUFFL0IsS0FBRixDQUFRLElBQVIsRUFBV2tDO1lBQS9CO1FBVkosS0FXTzttQkFDSCxTQUFDRCxFQUFELEVBQUtFLEVBQUwsRUFBU0MsRUFBVCxFQUFhQyxFQUFiLEVBQWlCQyxFQUFqQjt1QkFBd0JQLEVBQUUvQixLQUFGLENBQVEsSUFBUixFQUFXa0M7WUFBbkM7UUFaSixLQWFPO21CQUNILFNBQUNELEVBQUQsRUFBS0UsRUFBTCxFQUFTQyxFQUFULEVBQWFDLEVBQWIsRUFBaUJDLEVBQWpCLEVBQXFCQyxFQUFyQjt1QkFBNEJSLEVBQUUvQixLQUFGLENBQVEsSUFBUixFQUFXa0M7WUFBdkM7UUFkSixLQWVPO21CQUNILFNBQUNELEVBQUQsRUFBS0UsRUFBTCxFQUFTQyxFQUFULEVBQWFDLEVBQWIsRUFBaUJDLEVBQWpCLEVBQXFCQyxFQUFyQixFQUF5QkMsRUFBekI7dUJBQWdDVCxFQUFFL0IsS0FBRixDQUFRLElBQVIsRUFBV2tDO1lBQTNDO1FBaEJKLEtBaUJPO21CQUNILFNBQUNELEVBQUQsRUFBS0UsRUFBTCxFQUFTQyxFQUFULEVBQWFDLEVBQWIsRUFBaUJDLEVBQWpCLEVBQXFCQyxFQUFyQixFQUF5QkMsRUFBekIsRUFBNkJDLEVBQTdCO3VCQUFvQ1YsRUFBRS9CLEtBQUYsQ0FBUSxJQUFSLEVBQVdrQztZQUEvQztRQWxCSixLQW1CTzttQkFDSCxTQUFDRCxFQUFELEVBQUtFLEVBQUwsRUFBU0MsRUFBVCxFQUFhQyxFQUFiLEVBQWlCQyxFQUFqQixFQUFxQkMsRUFBckIsRUFBeUJDLEVBQXpCLEVBQTZCQyxFQUE3QixFQUFpQ0MsRUFBakM7dUJBQXdDWCxFQUFFL0IsS0FBRixDQUFRLElBQVIsRUFBV2tDO1lBQW5EO1FBcEJKLEtBcUJPO21CQUNILFNBQUNELEVBQUQsRUFBS0UsRUFBTCxFQUFTQyxFQUFULEVBQWFDLEVBQWIsRUFBaUJDLEVBQWpCLEVBQXFCQyxFQUFyQixFQUF5QkMsRUFBekIsRUFBNkJDLEVBQTdCLEVBQWlDQyxFQUFqQyxFQUFxQ0MsRUFBckM7dUJBQTRDWixFQUFFL0IsS0FBRixDQUFRLElBQVIsRUFBV2tDO1lBQXZEO1FBdEJKO1lBd0JJLE1BQU0sSUFBSVUsTUFBTTtJQXhCcEI7QUFETztBQTJCVG5CLFFBQVEsU0FBQ00sQ0FBRDtXQUFPOUIsTUFBTSxHQUFHOEI7QUFBaEI7QUFFUjdCLFNBQVMsU0FBQzZCLENBQUQ7V0FBTzlCLE1BQU0sR0FBRzhCO0FBQWhCO0FBRVRQLFVBQVUsU0FBQ08sQ0FBRDtXQUFPOUIsTUFBTSxHQUFHOEI7QUFBaEI7QUFFVnZCLE9BQU8sU0FBQ3VCLENBQUQ7SUFDTCxPQUFPQSxFQUFFYyxNQUFUO1FBQUEsS0FDTzttQkFDSGQ7UUFGSixLQUdPO21CQUNILFNBQUNFLEVBQUQ7dUJBQVFGLEVBQUVlLElBQUYsQ0FBTyxJQUFQLEVBQVViO1lBQWxCO1FBSkosS0FLTzttQkFDSCxTQUFDQSxFQUFELEVBQUtFLEVBQUw7dUJBQWFKLEVBQUVlLElBQUYsQ0FBTyxJQUFQLEVBQVVYLElBQUlGO1lBQTNCO1FBTkosS0FPTzttQkFDSCxTQUFDQSxFQUFELEVBQUtFLEVBQUwsRUFBU0MsRUFBVDt1QkFBZ0JMLEVBQUVlLElBQUYsQ0FBTyxJQUFQLEVBQVVWLElBQUlELElBQUlGO1lBQWxDO1FBUkosS0FTTzttQkFDSCxTQUFDQSxFQUFELEVBQUtFLEVBQUwsRUFBU0MsRUFBVCxFQUFhQyxFQUFiO3VCQUFvQk4sRUFBRWUsSUFBRixDQUFPLElBQVAsRUFBVVQsSUFBSUQsSUFBSUQsSUFBSUY7WUFBMUM7UUFWSixLQVdPO21CQUNILFNBQUNBLEVBQUQsRUFBS0UsRUFBTCxFQUFTQyxFQUFULEVBQWFDLEVBQWIsRUFBaUJDLEVBQWpCO3VCQUF3QlAsRUFBRWUsSUFBRixDQUFPLElBQVAsRUFBVVIsSUFBSUQsSUFBSUQsSUFBSUQsSUFBSUY7WUFBbEQ7UUFaSixLQWFPO21CQUNILFNBQUNBLEVBQUQsRUFBS0UsRUFBTCxFQUFTQyxFQUFULEVBQWFDLEVBQWIsRUFBaUJDLEVBQWpCLEVBQXFCQyxFQUFyQjt1QkFBNEJSLEVBQUVlLElBQUYsQ0FBTyxJQUFQLEVBQVVQLElBQUlELElBQUlELElBQUlELElBQUlELElBQUlGO1lBQTFEO1FBZEosS0FlTzttQkFDSCxTQUFDQSxFQUFELEVBQUtFLEVBQUwsRUFBU0MsRUFBVCxFQUFhQyxFQUFiLEVBQWlCQyxFQUFqQixFQUFxQkMsRUFBckIsRUFBeUJDLEVBQXpCO3VCQUFnQ1QsRUFBRWUsSUFBRixDQUFPLElBQVAsRUFBVU4sSUFBSUYsSUFBSUQsSUFBSUQsSUFBSUQsSUFBSUY7WUFBOUQ7UUFoQkosS0FpQk87bUJBQ0gsU0FBQ0EsRUFBRCxFQUFLRSxFQUFMLEVBQVNDLEVBQVQsRUFBYUMsRUFBYixFQUFpQkMsRUFBakIsRUFBcUJDLEVBQXJCLEVBQXlCQyxFQUF6QixFQUE2QkMsRUFBN0I7dUJBQ0VWLEVBQUVlLElBQUYsQ0FBTyxJQUFQLEVBQVVMLElBQUlELElBQUlELElBQUlELElBQUlELElBQUlELElBQUlELElBQUlGO1lBRHhDO1FBbEJKLEtBb0JPO21CQUNILFNBQUNBLEVBQUQsRUFBS0UsRUFBTCxFQUFTQyxFQUFULEVBQWFDLEVBQWIsRUFBaUJDLEVBQWpCLEVBQXFCQyxFQUFyQixFQUF5QkMsRUFBekIsRUFBNkJDLEVBQTdCLEVBQWlDQyxFQUFqQzt1QkFDRVgsRUFBRWUsSUFBRixDQUFPLElBQVAsRUFBVUosSUFBSUQsSUFBSUQsSUFBSUQsSUFBSUQsSUFBSUQsSUFBSUQsSUFBSUQsSUFBSUY7WUFENUM7UUFyQkosS0F1Qk87bUJBQ0gsU0FBQ0EsRUFBRCxFQUFLRSxFQUFMLEVBQVNDLEVBQVQsRUFBYUMsRUFBYixFQUFpQkMsRUFBakIsRUFBcUJDLEVBQXJCLEVBQXlCQyxFQUF6QixFQUE2QkMsRUFBN0IsRUFBaUNDLEVBQWpDLEVBQXFDQyxFQUFyQzt1QkFDRVosRUFBRWUsSUFBRixDQUFPLElBQVAsRUFBVUgsSUFBSUQsSUFBSUQsSUFBSUQsSUFBSUQsSUFBSUQsSUFBSUQsSUFBSUQsSUFBSUQsSUFBSUY7WUFEaEQ7UUF4Qko7bUJBMkJJLFNBQUEsR0FBQ0QsRUFBRDt1QkFBV0QsRUFBRS9CLEtBQUYsQ0FBUSxJQUFSLEVBQVdnQyxHQUFHZSxPQUFIO1lBQXRCO0lBM0JKO0FBREs7QUE4QlB6QyxRQUFRLFNBQUN5QixDQUFEO0lBQ04sSUFBR0EsRUFBRWMsTUFBRixHQUFXLEdBQWQ7ZUFDRTVDLE1BQU04QixFQUFFYyxNQUFSLEVBQWdCLFNBQUEsR0FBQ2IsRUFBRDtZQUNwQixJQUFBYSxRQUFBRztZQUFNQSxPQUFPLElBQUE7WUFDUCxJQUFHaEIsR0FBR2EsTUFBSCxJQUFhZCxFQUFFYyxNQUFsQixFQUFBO3VCQUNFZCxFQUFFL0IsS0FBRixDQUFRZ0QsTUFBTWhCO21CQURoQjtnQkFHRWEsU0FBU2QsRUFBRWMsTUFBRixHQUFXYixHQUFHYSxNQUFBO2dCQUN2QixJQUFHQSxXQUFVLEdBQWI7MkJBQ0UsU0FBQ2hCLENBQUQ7K0JBQU9FLEVBQUUvQixLQUFGLENBQVFnRCxNQUFNOytCQUFFaEI7NEJBQU9IO3lCQUF2QjtvQkFBUDt1QkFERjsyQkFHRXZCLE1BQU1MLE1BQU00QyxRQUFRLFNBQUEsR0FBQ0ksRUFBRDsrQkFBV2xCLEVBQUUvQixLQUFGLENBQVFnRCxNQUFNOytCQUFFaEI7K0JBQU9pQjt5QkFBdkI7b0JBQVg7OztRQVRWO1dBRGxCO2VBV0tsQjs7QUFaQztBQWNSaEMsSUFBSSxDQUFBO0FBRUp1QixhQUFhaEIsTUFBTSxTQUFDMEIsRUFBRCxFQUFLaUIsRUFBTDtJQUNuQixJQUFBQyxHQUFBQyxHQUFBQyxHQUFBQyxLQUFBQztJQUFFSCxJQUFJO0lBQ0pHLFVBQUEsRUFBQTtJQUFBLElBQUFGLElBQUEsR0FBQUMsTUFBQXJCLEdBQUFhLE1BQUEsRUFBQU8sSUFBQUMsS0FBQUQsSUFBQTs7UUFDRSxJQUFHRixNQUFLbkQsR0FBUjt5QkFDRWtELEVBQUUsQ0FBQ0UsSUFBRDtlQURKO3lCQUdFRDs7SUFKSjs7QUFGaUI7QUFRbkJuQyxVQUFVLFNBQUNnQixDQUFELEVBQUlDLEVBQUo7SUFDVixJQUFBa0IsR0FBQUUsR0FBQUMsS0FBQUU7SUFBRUEsSUFBSTtJQUNKLElBQUFILElBQUEsR0FBQUMsTUFBQXJCLEdBQUFhLE1BQUEsRUFBQU8sSUFBQUMsS0FBQUQsSUFBQTs7WUFBaUJGLE1BQUtuRCxHQUFBO1lBQ3BCd0Q7O0lBREY7V0FFQXRELE1BQU1zRCxHQUFHLFNBQUEsR0FBQ04sRUFBRDtlQUFXbEIsS0FBR1QsV0FBV1UsSUFBSWlCO0lBQTdCO0FBSkQ7QUFNVjdCLFNBQVMsU0FBQ1csQ0FBRDtXQUFPLFNBQUNDLEVBQUQ7ZUFBUUQsS0FBRUM7SUFBVjtBQUFQO0FBRVRYLFFBQVEsU0FBQ1UsQ0FBRDtXQUFPLFNBQUEsR0FBQ0MsRUFBRDtlQUFXRCxFQUFFQztJQUFiO0FBQVA7QUFFUmhCLE9BQU8sU0FBRXdDLEVBQUY7V0FDRixTQUFFRCxDQUFGO2VBQ0R0RCxNQUFNc0QsR0FBRyxTQUFBLEdBQUVFLElBQUY7WUFDYixJQUFBMUIsR0FBQXFCLEdBQUFDO1lBQU0sSUFBQUQsSUFBQSxHQUFBQyxNQUFBRyxHQUFBWCxNQUFBLEVBQUFPLElBQUFDLEtBQUFELElBQUE7O2dCQUNFSyxPQUFPO29CQUFFMUIsS0FBRTBCO2lCQUFKO1lBRFQ7bUJBRUFBLElBQUksQ0FBRSxFQUFGO1FBSEc7SUFEUixFQUFNRCxFQUFFLENBQUUsRUFBRyxDQUFDWCxNQUFBO0FBRFo7QUFPUHBDLE9BQU8sU0FBRStDLEVBQUY7V0FDRixTQUFFRCxDQUFGO2VBQ0R0RCxNQUFNc0QsR0FBRyxlQUFBLEdBQUVFLElBQUY7WUFDYixJQUFBMUIsR0FBQXFCLEdBQUFDO1lBQU0sSUFBQUQsSUFBQSxHQUFBQyxNQUFBRyxHQUFBWCxNQUFBLEVBQUFPLElBQUFDLEtBQUFELElBQUE7O2dCQUNFSyxPQUFPO29CQUFFLE1BQU0xQixLQUFFMEI7aUJBQVY7WUFEVDttQkFFQUEsSUFBSSxDQUFFLEVBQUY7UUFIRztJQURSLEVBQU1ELEVBQUUsQ0FBRSxFQUFHLENBQUNYLE1BQUE7QUFEWjtBQU9QeEMsVUFBVSxTQUFDbUQsRUFBRDtXQUFReEMsS0FBS3dDLEdBQUdULE9BQUg7QUFBYjtBQUVWckIsT0FBTyxTQUFDSyxDQUFEO1dBQ0w5QixNQUFNOEIsRUFBRWMsTUFBUixFQUFnQixTQUFBLEdBQUNiLEVBQUQ7ZUFDZDBCLFFBQVFDLEdBQVIsQ0FBWTNCLElBQ1Q0QixJQURILENBQ1EsU0FBQzVCLEVBQUQ7bUJBQVFELEtBQUVDO1FBQVY7SUFGTTtBQURYO0FBS1BULE1BQU0sU0FBQ1EsQ0FBRDtXQUNKOUIsTUFBTzRELEtBQUtDLEdBQUwsQ0FBUy9CLEVBQUVjLE1BQVgsRUFBbUIsSUFBSSxTQUFDSyxDQUFELEVBQUEsR0FBSUQsRUFBSjtRQUNoQyxJQUFBYyxHQUFBQyxLQUFBaEI7UUFBSUEsT0FBTyxJQUFBO1FBQ1AsSUFBRyxDQUFBLEFBQUFnQixDQUFBQSxNQUFBRCxJQUFBaEMsRUFBQS9CLEtBQUEsQ0FBQWdELE1BQUE7WUFBQUU7ZUFBQUQ7U0FBQSxDQUFBLEtBQUEsT0FBQWUsSUFBQUosSUFBQSxHQUFBLEtBQUEsQ0FBQSxLQUFBLE1BQUg7bUJBQ0VHLEVBQUVILElBQUYsQ0FBTzt1QkFBR1Y7WUFBSDtlQURUO21CQUdFQTs7SUFMMEI7QUFEMUI7QUFRTmhDLE9BQU8sU0FBQ2EsQ0FBRDtXQUNMOUIsTUFBTzRELEtBQUtDLEdBQUwsQ0FBUy9CLEVBQUVjLE1BQVgsRUFBbUIsSUFBSSxTQUFBLEdBQUNiLEVBQUQ7UUFDaEMsSUFBQWlDLEdBQUFGLEdBQUFDLEtBQUFFLE1BQUFsQjtrQ0FEd0NpQixFQUFBLEdBQUFyQyxPQUFBa0IsSUFBQSxDQUFBZCxJQUFBLENBQUE7UUFDcENnQixPQUFPLElBQUE7UUFDUCxJQUFHLENBQUEsQUFBQWtCLENBQUFBLE9BQUFILElBQUFoQyxFQUFBL0IsS0FBQSxDQUFBZ0QsTUFBQTtlQUFBaEI7WUFBQWlDO1NBQUEsQ0FBQSxLQUFBLE9BQUFDLEtBQUFOLElBQUEsR0FBQSxLQUFBLENBQUEsS0FBQSxNQUFIO21CQUNFRyxFQUFFSCxJQUFGLENBQU87dUJBQUdLO1lBQUg7ZUFEVDttQkFHRUE7O0lBTDBCO0FBRHpCO0FBUVBuRCxPQUFPLFNBQUNpQixDQUFEO1dBQ0YsU0FBQ2dDLENBQUQ7ZUFDRDlELE1BQU04QixFQUFFYyxNQUFSLEVBQ0UsU0FBQSxHQUFDYixFQUFEO1lBQVcsSUFBRytCLEtBQUEsTUFBSDt1QkFBV0E7bUJBQVg7dUJBQW1CQSxJQUFJL0QsTUFBTStCLEdBQUdDOztRQUEzQztJQUZELEVBQUcsS0FBQTtBQUREO0FBS1BuQixVQUFVLFNBQUNrQixDQUFEO1dBQ0wsU0FBQ29DLEtBQUQ7ZUFDRGxFLE1BQU04QixFQUFFYyxNQUFSLEVBQWdCLFNBQUEsR0FBQ2IsRUFBRDtZQUNwQixJQUFBb0M7K0RBQU1ELEtBQUEsQ0FBQUMsTUFBQSxHQUFBRCxLQUFBLENBQUFDLE1BQUEsR0FBOEJwRSxNQUFNK0IsR0FBR0M7UUFEekI7SUFEZixFQUFTLENBQUE7QUFESjtBQUtWaEMsUUFBUU0sTUFBTSxTQUFDeUIsQ0FBRCxFQUFJQyxFQUFKO1dBQVdELEVBQUUvQixLQUFGLENBQVEsTUFBTWdDO0FBQXpCO0FBRWQ3QixPQUFPRyxNQUFNLFNBQUN5QixDQUFELEVBQUlGLENBQUo7V0FBVUUsRUFBRTVCLElBQUYsQ0FBTzBCO0FBQWpCO0FBRWJ0QixTQUFTLFNBQUN3QixDQUFEO1dBQ1B6QixNQUFNTCxNQUFPOEIsRUFBRWMsTUFBRixHQUFXLEdBQ3RCLFNBQUNoQixDQUFELEVBQUEsR0FBSTRCLElBQUo7ZUFBZ0IxQixFQUFFL0IsS0FBRixDQUFRNkIsR0FBRzRCO0lBQTNCO0FBRks7QUFJVHRDLE9BQU9iLE1BQU0sU0FBQytELElBQUQsRUFBT3JDLEVBQVAsRUFBV3NDLE1BQVg7V0FBc0JBLE1BQU0sQ0FBQ0QsS0FBSyxDQUFDckUsS0FBYixDQUFtQnNFLFFBQVF0QztBQUFqRDtBQUVickIsWUFBWSxTQUFDb0QsQ0FBRDtXQUFPQSxhQUFhTDtBQUFwQjtBQUVadEQsUUFBUSxTQUFDMkIsQ0FBRDtXQUNOOUIsTUFBTzRELEtBQUtDLEdBQUwsQ0FBUy9CLEVBQUVjLE1BQVgsRUFBbUIsSUFBSSxTQUFBLEdBQUNiLEVBQUQ7UUFDaEMsSUFBQStCLEdBQUFmO1FBQUlBLE9BQU8sSUFBQTtRQUNQLElBQUlyQyxVQUFXb0QsSUFBS2hDLEVBQUUvQixLQUFGLENBQVFnRCxNQUFNaEIsTUFBbEM7bUJBQ0UrQixFQUFFSCxJQUFGLENBQU87dUJBQUdaO1lBQUg7ZUFEVDttQkFHRUE7O0lBTDBCO0FBRHhCO0FBUVJwQyxNQUFNLFNBQUU0QyxFQUFGO1dBQ0QsU0FBQyxFQUFFZSxPQUFGLEVBQVcxQixNQUFYLEVBQUQ7UUFDRDBCLFVBQVVmLEdBQUc1QyxHQUFILENBQU8sU0FBRW1CLENBQUY7bUJBQVNBLEVBQUVjLE1BQUE7UUFBWDtRQUNqQkEsU0FBU2dCLEtBQUtDLEdBQUwsSUFBU1M7ZUFDbEJ0RSxNQUFNNEMsUUFBUSxTQUFBLEdBQUVZLElBQUY7WUFDbEIsSUFBQTFCLEdBQUFxQixHQUFBQyxLQUFBQztZQUFNQSxVQUFBLEVBQUE7WUFBQSxJQUFBRixJQUFBLEdBQUFDLE1BQUFHLEdBQUFYLE1BQUEsRUFBQU8sSUFBQUMsS0FBQUQsSUFBQTs7NkJBQUVyQixLQUFFMEI7WUFBSjs7UUFEWTtJQUhiLEVBQXVCLENBQUE7QUFEdEI7QUFPTnhDLFFBQVFYLE1BQU0sU0FBQytELElBQUQsRUFBT3JDLEVBQVA7V0FDWixTQUFBLEdBQUNpQixFQUFEO2VBQVcsSUFBQyxDQUFDb0IsS0FBSyxDQUFDckUsS0FBUixDQUFjLElBQWQsRUFBaUI7ZUFBRWdDO2VBQU9pQjtTQUExQjtJQUFYO0FBRFk7QUFHZCxTQUNFdkMsUUFERixFQUVFaUIsSUFGRixFQUdFMUIsS0FIRixFQUlFd0IsS0FKRixFQUtFdkIsTUFMRixFQU1Fc0IsT0FORixFQU9FaEIsSUFQRixFQVFFRixLQVJGLEVBU0VQLENBVEYsRUFVRXVCLFVBVkYsRUFXRVAsT0FYRixFQVlFSyxNQVpGLEVBYUVDLEtBYkYsRUFjRUwsSUFkRixFQWVFWCxPQWZGLEVBZ0JFcUIsSUFoQkYsRUFpQkVqQixJQWpCRixFQWtCRWMsR0FsQkYsRUFtQkVMLElBbkJGLEVBb0JFSixJQXBCRixFQXFCRUQsT0FyQkYsRUFzQkViLEtBdEJGLEVBdUJFRyxJQXZCRixFQXdCRUksTUF4QkYsRUF5QkVZLElBekJGLEVBMEJFZixLQTFCRixFQTJCRVEsR0EzQkYsRUE0QkVLLEtBNUJGO0FBK0JBLGVBQWU7SUFDYlA7SUFDQWlCO0lBQ0ExQjtJQUNBd0I7SUFDQXZCO0lBQ0FzQjtJQUNBaEI7SUFDQUY7SUFDQVA7SUFDQXVCO0lBQ0FQO0lBQ0FLO0lBQ0FDO0lBQ0FMO0lBQ0FYO0lBQ0FxQjtJQUNBakI7SUFDQWM7SUFDQUw7SUFDQUo7SUFDQUQ7SUFDQWI7SUFDQUc7SUFDQUk7SUFDQVk7SUFDQWY7SUFDQVE7SUFDQUs7QUE1QmEsRUFBQSJ9
|