@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
package/build/node/src/value.js
CHANGED
|
@@ -1,314 +1,286 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
clone: function() {
|
|
13
|
+
return clone;
|
|
14
|
+
},
|
|
15
|
+
eq: function() {
|
|
16
|
+
return eq;
|
|
17
|
+
},
|
|
18
|
+
equal: function() {
|
|
19
|
+
return equal;
|
|
20
|
+
},
|
|
21
|
+
isEmpty: function() {
|
|
22
|
+
return isEmpty;
|
|
23
|
+
},
|
|
24
|
+
neq: function() {
|
|
25
|
+
return neq;
|
|
26
|
+
},
|
|
27
|
+
notEqual: function() {
|
|
28
|
+
return notEqual;
|
|
29
|
+
},
|
|
30
|
+
size: function() {
|
|
31
|
+
return size;
|
|
32
|
+
}
|
|
5
33
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var _type = require("./type.js");
|
|
15
|
-
|
|
16
|
-
var clone,
|
|
17
|
-
cloneIterator,
|
|
18
|
-
eq,
|
|
19
|
-
equal,
|
|
20
|
-
hasByteLength,
|
|
21
|
-
hasEqual,
|
|
22
|
-
hasLength,
|
|
23
|
-
hasSize,
|
|
24
|
-
isEmpty,
|
|
25
|
-
isNot,
|
|
26
|
-
isPrimitive,
|
|
27
|
-
neq,
|
|
28
|
-
notEqual,
|
|
29
|
-
size,
|
|
30
|
-
indexOf = [].indexOf;
|
|
31
|
-
exports.size = size;
|
|
32
|
-
exports.notEqual = notEqual;
|
|
33
|
-
exports.neq = neq;
|
|
34
|
-
exports.isEmpty = isEmpty;
|
|
35
|
-
exports.equal = equal;
|
|
36
|
-
exports.eq = eq;
|
|
37
|
-
exports.clone = clone;
|
|
38
|
-
|
|
39
|
-
hasEqual = a => {
|
|
40
|
-
return (a != null ? a.equal : void 0) != null;
|
|
34
|
+
const _function = require("./function");
|
|
35
|
+
const _predicate = require("./predicate");
|
|
36
|
+
const _generic = require("./generic");
|
|
37
|
+
const _type = require("./type");
|
|
38
|
+
var clone, cloneIterator, eq, equal, hasByteLength, hasEqual, hasLength, hasSize, isEmpty, isNot, isPrimitive, neq, notEqual, size, indexOf = [].indexOf;
|
|
39
|
+
hasEqual = (a)=>{
|
|
40
|
+
return (a != null ? a.equal : void 0) != null;
|
|
41
41
|
};
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return !Object.is(a, b);
|
|
42
|
+
isNot = function(a, b) {
|
|
43
|
+
return !Object.is(a, b);
|
|
45
44
|
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return (0, _type.isBoolean)(x) || (0, _type.isNumber)(x) || (0, _type.isString)(x);
|
|
45
|
+
isPrimitive = function(x) {
|
|
46
|
+
return (0, _type.isBoolean)(x) || (0, _type.isNumber)(x) || (0, _type.isString)(x);
|
|
49
47
|
};
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
48
|
+
equal = (0, _generic.generic)({
|
|
49
|
+
name: "equal",
|
|
50
|
+
description: "Returns true if two values are semantically (deeply) equal, false otherwise",
|
|
51
|
+
default: function(a, b) {
|
|
52
|
+
return Object.is(a, b);
|
|
53
|
+
}
|
|
57
54
|
});
|
|
58
|
-
(0, _generic.generic)(equal, _type.isAny, hasEqual, function
|
|
59
|
-
|
|
55
|
+
(0, _generic.generic)(equal, _type.isAny, hasEqual, function(a, b) {
|
|
56
|
+
return b.equal(a);
|
|
60
57
|
});
|
|
61
|
-
(0, _generic.generic)(equal, hasEqual, _type.isAny, function
|
|
62
|
-
|
|
58
|
+
(0, _generic.generic)(equal, hasEqual, _type.isAny, function(a, b) {
|
|
59
|
+
return a.equal(b);
|
|
63
60
|
});
|
|
64
|
-
(0, _generic.generic)(equal, _type.isTypedArray, _type.isTypedArray, function
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return false;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
for (i = j = 0, ref = a.length; 0 <= ref ? j <= ref : j >= ref; i = 0 <= ref ? ++j : --j) {
|
|
72
|
-
if (isNot(a[i], b[i])) {
|
|
73
|
-
return false;
|
|
61
|
+
(0, _generic.generic)(equal, _type.isTypedArray, _type.isTypedArray, function(a, b) {
|
|
62
|
+
var i, j, ref;
|
|
63
|
+
if (isNot(a.length, b.length) || isNot(a.name, b.name)) {
|
|
64
|
+
return false;
|
|
74
65
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
66
|
+
for(i = j = 0, ref = a.length; 0 <= ref ? j <= ref : j >= ref; i = 0 <= ref ? ++j : --j){
|
|
67
|
+
if (isNot(a[i], b[i])) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return true;
|
|
78
72
|
});
|
|
79
|
-
(0, _generic.generic)(equal, _type.isArrayBuffer, _type.isArrayBuffer, function
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
return equal(new Uint8Array(a), new Uint8Array(b));
|
|
73
|
+
(0, _generic.generic)(equal, _type.isArrayBuffer, _type.isArrayBuffer, function(a, b) {
|
|
74
|
+
if (isNot(a.byteLength, b.byteLength)) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return equal(new Uint8Array(a), new Uint8Array(b));
|
|
85
78
|
});
|
|
86
|
-
(0, _generic.generic)(equal, _type.isDataView, _type.isDataView, function
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
return equal(a.buffer, b.buffer);
|
|
79
|
+
(0, _generic.generic)(equal, _type.isDataView, _type.isDataView, function(a, b) {
|
|
80
|
+
if (isNot(a.byteLength, b.byteLength) || isNot(a.byteOffset, b.byteOffset)) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
return equal(a.buffer, b.buffer);
|
|
92
84
|
});
|
|
93
|
-
(0, _generic.generic)(equal, _type.isBuffer, _type.isBuffer, function
|
|
94
|
-
|
|
85
|
+
(0, _generic.generic)(equal, _type.isBuffer, _type.isBuffer, function(a, b) {
|
|
86
|
+
return a.equals(b);
|
|
95
87
|
});
|
|
96
|
-
(0, _generic.generic)(equal, _type.isDate, _type.isDate, function
|
|
97
|
-
|
|
88
|
+
(0, _generic.generic)(equal, _type.isDate, _type.isDate, function(a, b) {
|
|
89
|
+
return Object.is(a.getTime(), b.getTime());
|
|
98
90
|
});
|
|
99
|
-
(0, _generic.generic)(equal, _type.isRegExp, _type.isRegExp, function
|
|
100
|
-
|
|
91
|
+
(0, _generic.generic)(equal, _type.isRegExp, _type.isRegExp, function(a, b) {
|
|
92
|
+
return Object.is(a.toString(), b.toString());
|
|
101
93
|
});
|
|
102
|
-
(0, _generic.generic)(equal, _type.isError, _type.isError, function
|
|
103
|
-
|
|
94
|
+
(0, _generic.generic)(equal, _type.isError, _type.isError, function(a, b) {
|
|
95
|
+
return equal(a.name, b.name) && equal(a.message, b.message);
|
|
104
96
|
});
|
|
105
|
-
(0, _generic.generic)(equal, _type.isSymbol, _type.isSymbol, function
|
|
106
|
-
|
|
97
|
+
(0, _generic.generic)(equal, _type.isSymbol, _type.isSymbol, function(a, b) {
|
|
98
|
+
return Object.is(a.valueOf(), b.valueOf());
|
|
107
99
|
});
|
|
108
|
-
(0, _generic.generic)(equal, _type.isMap, _type.isMap, function
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
return false;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
for (y of a) {
|
|
116
|
-
[key, value] = y;
|
|
117
|
-
|
|
118
|
-
if (!equal(value, b.get(key))) {
|
|
119
|
-
return false;
|
|
100
|
+
(0, _generic.generic)(equal, _type.isMap, _type.isMap, function(a, b) {
|
|
101
|
+
var key, value, y;
|
|
102
|
+
if (isNot(a.size, b.size)) {
|
|
103
|
+
return false;
|
|
120
104
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
var value;
|
|
127
|
-
|
|
128
|
-
if (isNot(a.size, b.size)) {
|
|
129
|
-
return false;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
for (value of a) {
|
|
133
|
-
if (!b.has(value)) {
|
|
134
|
-
return false;
|
|
105
|
+
for (y of a){
|
|
106
|
+
[key, value] = y;
|
|
107
|
+
if (!equal(value, b.get(key))) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
135
110
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
return true;
|
|
111
|
+
return true;
|
|
139
112
|
});
|
|
140
|
-
(0, _generic.generic)(equal, _type.
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
return false;
|
|
113
|
+
(0, _generic.generic)(equal, _type.isSet, _type.isSet, function(a, b) {
|
|
114
|
+
var value;
|
|
115
|
+
if (isNot(a.size, b.size)) {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
for (value of a){
|
|
119
|
+
if (!b.has(value)) {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
150
122
|
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
return true;
|
|
154
|
-
});
|
|
155
|
-
(0, _generic.generic)(equal, _type.isObject, _type.isObject, function (a, b) {
|
|
156
|
-
var akeys, bkeys, j, k, len;
|
|
157
|
-
|
|
158
|
-
if (Object.is(a, b)) {
|
|
159
123
|
return true;
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
if (isNot(akeys.length, bkeys.length)) {
|
|
166
|
-
return false;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
for (j = 0, len = akeys.length; j < len; j++) {
|
|
170
|
-
k = akeys[j];
|
|
171
|
-
|
|
172
|
-
if (!(indexOf.call(bkeys, k) >= 0 && equal(a[k], b[k]))) {
|
|
173
|
-
return false;
|
|
124
|
+
});
|
|
125
|
+
(0, _generic.generic)(equal, _type.isArray, _type.isArray, function(a, b) {
|
|
126
|
+
var i, j, ref;
|
|
127
|
+
if (isNot(a.length, b.length)) {
|
|
128
|
+
return false;
|
|
174
129
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
});
|
|
182
|
-
exports.equal = equal = (0, _function.curry)((0, _function.binary)(equal));
|
|
183
|
-
exports.notEqual = notEqual = (0, _function.curry)((0, _predicate.negate)(equal));
|
|
184
|
-
exports.eq = eq = (0, _function.curry)(function (a, b) {
|
|
185
|
-
return Object.is(a, b);
|
|
186
|
-
});
|
|
187
|
-
exports.neq = neq = (0, _function.curry)((0, _predicate.negate)(eq));
|
|
188
|
-
exports.clone = clone = (0, _generic.generic)({
|
|
189
|
-
name: "clone",
|
|
190
|
-
description: "Creates a deep clone of an entity.",
|
|
191
|
-
// When no match, throw to alert that we cannot deliver a deep clone.
|
|
192
|
-
default: function (entity) {
|
|
193
|
-
var ref;
|
|
194
|
-
throw new Error(`clone: no match on entity ${entity != null ? (ref = entity.constructor) != null ? ref.name : void 0 : void 0}`);
|
|
195
|
-
}
|
|
196
|
-
});
|
|
197
|
-
isPrimitive = (0, _predicate.any)([_type.isUndefined, _type.isNumber, _type.isString, _type.isBoolean]);
|
|
198
|
-
(0, _generic.generic)(clone, isPrimitive, _function.identity);
|
|
199
|
-
(0, _generic.generic)(clone, _type.isObject, function (original) {
|
|
200
|
-
var copy, key, value;
|
|
201
|
-
copy = new original.constructor();
|
|
202
|
-
|
|
203
|
-
for (key in original) {
|
|
204
|
-
value = original[key];
|
|
205
|
-
copy[key] = clone(value);
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
return copy;
|
|
130
|
+
for(i = j = 0, ref = a.length; 0 <= ref ? j <= ref : j >= ref; i = 0 <= ref ? ++j : --j){
|
|
131
|
+
if (!equal(a[i], b[i])) {
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return true;
|
|
209
136
|
});
|
|
210
|
-
(0, _generic.generic)(
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
137
|
+
(0, _generic.generic)(equal, _type.isObject, _type.isObject, function(a, b) {
|
|
138
|
+
var akeys, bkeys, j, k, len;
|
|
139
|
+
if (Object.is(a, b)) {
|
|
140
|
+
return true;
|
|
141
|
+
}
|
|
142
|
+
akeys = Object.keys(a);
|
|
143
|
+
bkeys = Object.keys(b);
|
|
144
|
+
if (isNot(akeys.length, bkeys.length)) {
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
for(j = 0, len = akeys.length; j < len; j++){
|
|
148
|
+
k = akeys[j];
|
|
149
|
+
if (!(indexOf.call(bkeys, k) >= 0 && equal(a[k], b[k]))) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return true;
|
|
215
154
|
});
|
|
216
|
-
(0, _generic.generic)(
|
|
217
|
-
|
|
155
|
+
(0, _generic.generic)(equal, isPrimitive, isPrimitive, function(a, b) {
|
|
156
|
+
return Object.is(a, b);
|
|
218
157
|
});
|
|
219
|
-
(0,
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
(0, _generic.generic)(clone, _type.isBuffer, function (original) {
|
|
225
|
-
return Buffer.from(original);
|
|
158
|
+
equal = (0, _function.curry)((0, _function.binary)(equal));
|
|
159
|
+
notEqual = (0, _function.curry)((0, _predicate.negate)(equal));
|
|
160
|
+
eq = (0, _function.curry)(function(a, b) {
|
|
161
|
+
return Object.is(a, b);
|
|
226
162
|
});
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
return copy;
|
|
237
|
-
};
|
|
238
|
-
|
|
239
|
-
(0, _generic.generic)(clone, _type.isMap, function (original) {
|
|
240
|
-
return cloneIterator(original, function (copy, [key, value]) {
|
|
241
|
-
return copy.set(clone(key), clone(value));
|
|
242
|
-
});
|
|
163
|
+
neq = (0, _function.curry)((0, _predicate.negate)(eq));
|
|
164
|
+
clone = (0, _generic.generic)({
|
|
165
|
+
name: "clone",
|
|
166
|
+
description: "Creates a deep clone of an entity.",
|
|
167
|
+
// When no match, throw to alert that we cannot deliver a deep clone.
|
|
168
|
+
default: function(entity) {
|
|
169
|
+
var ref;
|
|
170
|
+
throw new Error(`clone: no match on entity ${entity != null ? (ref = entity.constructor) != null ? ref.name : void 0 : void 0}`);
|
|
171
|
+
}
|
|
243
172
|
});
|
|
244
|
-
(0,
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
173
|
+
isPrimitive = (0, _predicate.any)([
|
|
174
|
+
_type.isUndefined,
|
|
175
|
+
_type.isNumber,
|
|
176
|
+
_type.isString,
|
|
177
|
+
_type.isBoolean
|
|
178
|
+
]);
|
|
179
|
+
(0, _generic.generic)(clone, isPrimitive, _function.identity);
|
|
180
|
+
(0, _generic.generic)(clone, _type.isObject, function(original) {
|
|
181
|
+
var copy, key, value;
|
|
182
|
+
copy = new original.constructor();
|
|
183
|
+
for(key in original){
|
|
184
|
+
value = original[key];
|
|
185
|
+
copy[key] = clone(value);
|
|
186
|
+
}
|
|
187
|
+
return copy;
|
|
248
188
|
});
|
|
249
|
-
(0, _generic.generic)(clone, _type.
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
189
|
+
(0, _generic.generic)(clone, _type.isArrayBuffer, function(original) {
|
|
190
|
+
var copy;
|
|
191
|
+
copy = new original.constructor(original.byteLength);
|
|
192
|
+
new Uint8Array(copy).set(new Uint8Array(original));
|
|
193
|
+
return copy;
|
|
253
194
|
});
|
|
254
|
-
(0, _generic.generic)(clone, _type.
|
|
255
|
-
|
|
195
|
+
(0, _generic.generic)(clone, _type.isTypedArray, function(original) {
|
|
196
|
+
return new original.constructor(clone(original.buffer), original.byteOffset, original.length);
|
|
256
197
|
});
|
|
257
|
-
(0, _generic.generic)(clone, _type.
|
|
258
|
-
|
|
198
|
+
(0, _generic.generic)(clone, _type.isDataView, function(original) {
|
|
199
|
+
return new original.constructor(clone(original.buffer), original.byteOffset, original.byteLength);
|
|
259
200
|
});
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
201
|
+
// Only available within Node.js API. isBuffer will only match when Buffer is
|
|
202
|
+
// available on global. Otherwise, it returns false.
|
|
203
|
+
(0, _generic.generic)(clone, _type.isBuffer, function(original) {
|
|
204
|
+
return Buffer.from(original);
|
|
205
|
+
});
|
|
206
|
+
cloneIterator = function(original, add) {
|
|
207
|
+
var copy, entry;
|
|
208
|
+
copy = new original.constructor();
|
|
209
|
+
for (entry of original){
|
|
210
|
+
add(copy, entry);
|
|
211
|
+
}
|
|
265
212
|
return copy;
|
|
266
|
-
|
|
213
|
+
};
|
|
214
|
+
(0, _generic.generic)(clone, _type.isMap, function(original) {
|
|
215
|
+
return cloneIterator(original, function(copy, [key, value]) {
|
|
216
|
+
return copy.set(clone(key), clone(value));
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
(0, _generic.generic)(clone, _type.isArray, function(original) {
|
|
220
|
+
return cloneIterator(original, function(copy, entry) {
|
|
221
|
+
return copy.push(clone(entry));
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
(0, _generic.generic)(clone, _type.isSet, function(original) {
|
|
225
|
+
return cloneIterator(original, function(copy, entry) {
|
|
226
|
+
return copy.add(clone(entry));
|
|
227
|
+
});
|
|
228
|
+
});
|
|
229
|
+
(0, _generic.generic)(clone, _type.isDate, function(original) {
|
|
230
|
+
return new original.constructor(original);
|
|
231
|
+
});
|
|
232
|
+
(0, _generic.generic)(clone, _type.isSymbol, function(original) {
|
|
233
|
+
return original.valueOf();
|
|
234
|
+
});
|
|
235
|
+
(0, _generic.generic)(clone, _type.isRegExp, function(flags) {
|
|
236
|
+
return function(original) {
|
|
237
|
+
var copy;
|
|
238
|
+
copy = new original.constructor(original.source, flags.exec(original));
|
|
239
|
+
copy.lastIndex = original.lastIndex;
|
|
240
|
+
return copy;
|
|
241
|
+
};
|
|
267
242
|
}(/\w*$/));
|
|
268
|
-
(0, _generic.generic)(clone, _type.isFunction, function
|
|
269
|
-
|
|
243
|
+
(0, _generic.generic)(clone, _type.isFunction, function(original) {
|
|
244
|
+
throw new Error("clone: does not clone Function");
|
|
270
245
|
});
|
|
271
|
-
(0, _generic.generic)(clone, _type.isWeakMap, function
|
|
272
|
-
|
|
246
|
+
(0, _generic.generic)(clone, _type.isWeakMap, function(original) {
|
|
247
|
+
throw new Error("clone: does not clone WeakMap");
|
|
273
248
|
});
|
|
274
|
-
(0, _generic.generic)(clone, _type.isError, function
|
|
275
|
-
|
|
249
|
+
(0, _generic.generic)(clone, _type.isError, function(original) {
|
|
250
|
+
throw new Error("clone: does not clone Error");
|
|
276
251
|
});
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
252
|
+
size = (0, _generic.generic)({
|
|
253
|
+
name: "size",
|
|
254
|
+
description: "Returns the size of a given entity, if it has one.",
|
|
255
|
+
default: function(x) {
|
|
256
|
+
throw new TypeError(`size: not valid for type ${x.constructor}`);
|
|
257
|
+
}
|
|
283
258
|
});
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
return x.length != null;
|
|
259
|
+
hasLength = function(x) {
|
|
260
|
+
return x.length != null;
|
|
287
261
|
};
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
return x.byteLength != null;
|
|
262
|
+
hasByteLength = function(x) {
|
|
263
|
+
return x.byteLength != null;
|
|
291
264
|
};
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
return x.size != null;
|
|
265
|
+
hasSize = function(x) {
|
|
266
|
+
return x.size != null;
|
|
295
267
|
};
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
return x.byteLength;
|
|
268
|
+
(0, _generic.generic)(size, hasByteLength, function(x) {
|
|
269
|
+
return x.byteLength;
|
|
299
270
|
});
|
|
300
|
-
(0, _generic.generic)(size, _type.isObject, function
|
|
301
|
-
|
|
271
|
+
(0, _generic.generic)(size, _type.isObject, function(x) {
|
|
272
|
+
return Object.keys(x).length;
|
|
302
273
|
});
|
|
303
|
-
(0, _generic.generic)(size, hasSize, function
|
|
304
|
-
|
|
274
|
+
(0, _generic.generic)(size, hasSize, function(x) {
|
|
275
|
+
return x.size;
|
|
305
276
|
});
|
|
306
|
-
(0, _generic.generic)(size, hasLength, function
|
|
307
|
-
|
|
277
|
+
(0, _generic.generic)(size, hasLength, function(x) {
|
|
278
|
+
return x.length;
|
|
308
279
|
});
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
return Object.is(size(x), 0);
|
|
280
|
+
isEmpty = function(x) {
|
|
281
|
+
return Object.is(size(x), 0);
|
|
312
282
|
};
|
|
313
|
-
//# sourceMappingURL=data:application/json;base64,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QUNBLGFBQUEsR0FBZ0IsVUFBQSxDQUFBLEVBQUE7U0FBTyxDQUFBLENBQUEsVUFBQSxJQUFBLEk7QUFBUCxDQUFoQjs7QUFDQSxPQUFBLEdBQVUsVUFBQSxDQUFBLEVBQUE7U0FBTyxDQUFBLENBQUEsSUFBQSxJQUFBLEk7QUFBUCxDQUFWOztBQUVBLHNCQUFBLElBQUEsRUFBQSxhQUFBLEVBQTZCLFVBQUEsQ0FBQSxFQUFBO1NBQU8sQ0FBQyxDQUFDLFU7QUFBdEMsQ0FBQTtBQUNBLHNCQUFBLElBQUEsRUFBQSxjQUFBLEVBQXdCLFVBQUEsQ0FBQSxFQUFBO1NBQVEsTUFBTSxDQUFOLElBQUEsQ0FBRCxDQUFDLENBQUQsQ0FBZ0IsTTtBQUEvQyxDQUFBO0FBQ0Esc0JBQUEsSUFBQSxFQUFBLE9BQUEsRUFBdUIsVUFBQSxDQUFBLEVBQUE7U0FBTyxDQUFDLENBQUMsSTtBQUFoQyxDQUFBO0FBQ0Esc0JBQUEsSUFBQSxFQUFBLFNBQUEsRUFBeUIsVUFBQSxDQUFBLEVBQUE7U0FBTyxDQUFDLENBQUMsTTtBQUFsQyxDQUFBOztBQUVBLGtCQUFBLE9BQUEsR0FBVSxVQUFBLENBQUEsRUFBQTtTQUFPLE1BQU0sQ0FBTixFQUFBLENBQVcsSUFBQSxDQUFYLENBQVcsQ0FBWCxFQUFBLENBQUEsQztBQUFQLENBQVYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpZGVudGl0eSwgY3VycnksIGJpbmFyeSB9IGZyb20gXCIuL2Z1bmN0aW9uXCJcbmltcG9ydCB7IGFueSwgbmVnYXRlIH0gZnJvbSBcIi4vcHJlZGljYXRlXCJcbmltcG9ydCB7IGdlbmVyaWMgfSBmcm9tIFwiLi9nZW5lcmljXCJcblxuaW1wb3J0IHtcbiAgaXNVbmRlZmluZWQsIGlzQW55XG4gIGlzU3ltYm9sLCBpc1JlZ0V4cCxcbiAgaXNCdWZmZXIsIGlzQXJyYXlCdWZmZXIsIGlzVHlwZWRBcnJheSwgaXNEYXRhVmlldyxcbiAgaXNNYXAsIGlzQXJyYXksIGlzT2JqZWN0LCBpc1NldCxcbiAgaXNCb29sZWFuLCBpc0RhdGUsIGlzTnVtYmVyLCBpc1N0cmluZyxcbiAgaXNGdW5jdGlvbiwgaXNXZWFrTWFwLCBpc0Vycm9yXG59IGZyb20gXCIuL3R5cGVcIlxuXG5oYXNFcXVhbCA9IChhKSA9PiBhPy5lcXVhbD9cbmlzTm90ID0gKGEsIGIpIC0+ICFPYmplY3QuaXMgYSwgYlxuaXNQcmltaXRpdmUgPSAoeCkgLT4gKGlzQm9vbGVhbiB4KSB8fCAoaXNOdW1iZXIgeCkgfHwgKGlzU3RyaW5nIHgpXG5cbmVxdWFsID0gZ2VuZXJpY1xuICBuYW1lOiBcImVxdWFsXCJcbiAgZGVzY3JpcHRpb246IFwiUGVyZm9ybXMgYSBkZWVwIGNvbXBhcmlzb24gb2YgdHdvIGVudGl0aWVzLlwiXG4gIGRlZmF1bHQ6IChhLCBiKSAtPiBPYmplY3QuaXMgYSwgYlxuXG5nZW5lcmljIGVxdWFsLCBpc0FueSwgaGFzRXF1YWwsIChhLCBiKSAtPlxuICBiLmVxdWFsIGFcblxuZ2VuZXJpYyBlcXVhbCwgaGFzRXF1YWwsIGlzQW55LCAoYSwgYikgLT5cbiAgYS5lcXVhbCBiXG5cbmdlbmVyaWMgZXF1YWwsIGlzVHlwZWRBcnJheSwgaXNUeXBlZEFycmF5LCAoYSwgYikgLT5cbiAgaWYgKGlzTm90IGEubGVuZ3RoLCBiLmxlbmd0aCkgfHwgKGlzTm90IGEubmFtZSwgYi5uYW1lKVxuICAgIHJldHVybiBmYWxzZVxuICBmb3IgaSBpbiBbMC4uYS5sZW5ndGhdXG4gICAgaWYgaXNOb3QgYVtpXSwgYltpXVxuICAgICAgcmV0dXJuIGZhbHNlXG4gIHRydWVcblxuZ2VuZXJpYyBlcXVhbCwgaXNBcnJheUJ1ZmZlciwgaXNBcnJheUJ1ZmZlciwgKGEsIGIpIC0+XG4gIGlmIGlzTm90IGEuYnl0ZUxlbmd0aCwgYi5ieXRlTGVuZ3RoXG4gICAgcmV0dXJuIGZhbHNlXG4gIGVxdWFsIChuZXcgVWludDhBcnJheSBhKSwgKG5ldyBVaW50OEFycmF5IGIpXG5cbmdlbmVyaWMgZXF1YWwsIGlzRGF0YVZpZXcsIGlzRGF0YVZpZXcsIChhLCBiKSAtPlxuICBpZiAoaXNOb3QgYS5ieXRlTGVuZ3RoLCBiLmJ5dGVMZW5ndGgpIHx8IChpc05vdCBhLmJ5dGVPZmZzZXQsIGIuYnl0ZU9mZnNldClcbiAgICByZXR1cm4gZmFsc2VcbiAgZXF1YWwgYS5idWZmZXIsIGIuYnVmZmVyXG5cbmdlbmVyaWMgZXF1YWwsIGlzQnVmZmVyLCBpc0J1ZmZlciwgKGEsIGIpIC0+XG4gIGEuZXF1YWxzIGJcblxuZ2VuZXJpYyBlcXVhbCwgaXNEYXRlLCBpc0RhdGUsIChhLCBiKSAtPlxuICBPYmplY3QuaXMgYS5nZXRUaW1lKCksIGIuZ2V0VGltZSgpXG5cbmdlbmVyaWMgZXF1YWwsIGlzUmVnRXhwLCBpc1JlZ0V4cCwgKGEsIGIpIC0+XG4gIE9iamVjdC5pcyBhLnRvU3RyaW5nKCksIGIudG9TdHJpbmcoKVxuXG5nZW5lcmljIGVxdWFsLCBpc0Vycm9yLCBpc0Vycm9yLCAoYSwgYikgLT5cbiAgKGVxdWFsIGEubmFtZSwgYi5uYW1lKSAmJiAoZXF1YWwgYS5tZXNzYWdlLCBiLm1lc3NhZ2UpXG5cbmdlbmVyaWMgZXF1YWwsIGlzU3ltYm9sLCBpc1N5bWJvbCwgKGEsIGIpIC0+XG4gIE9iamVjdC5pcyBhLnZhbHVlT2YoKSwgYi52YWx1ZU9mKClcblxuZ2VuZXJpYyBlcXVhbCwgaXNNYXAsIGlzTWFwLCAoYSwgYikgLT5cbiAgaWYgaXNOb3QgYS5zaXplLCBiLnNpemVcbiAgICByZXR1cm4gZmFsc2VcbiAgZm9yIFtrZXksIHZhbHVlXSBmcm9tIGFcbiAgICBpZiAhIGVxdWFsIHZhbHVlLCAoYi5nZXQga2V5KVxuICAgICAgcmV0dXJuIGZhbHNlXG4gIHRydWVcblxuZ2VuZXJpYyBlcXVhbCwgaXNTZXQsIGlzU2V0LCAoYSwgYikgLT5cbiAgaWYgaXNOb3QgYS5zaXplLCBiLnNpemVcbiAgICByZXR1cm4gZmFsc2VcbiAgZm9yIHZhbHVlIGZyb20gYVxuICAgIGlmICEgYi5oYXMgdmFsdWVcbiAgICAgIHJldHVybiBmYWxzZVxuICB0cnVlXG5cbmdlbmVyaWMgZXF1YWwsIGlzQXJyYXksIGlzQXJyYXksIChhLCBiKSAtPlxuICBpZiBpc05vdCBhLmxlbmd0aCwgYi5sZW5ndGhcbiAgICByZXR1cm4gZmFsc2VcbiAgZm9yIGkgaW4gWzAuLmEubGVuZ3RoXVxuICAgIGlmICEgZXF1YWwgYVtpXSwgYltpXVxuICAgICAgcmV0dXJuIGZhbHNlXG4gIHRydWVcblxuZ2VuZXJpYyBlcXVhbCwgaXNPYmplY3QsIGlzT2JqZWN0LCAoYSwgYikgLT5cbiAgcmV0dXJuIHRydWUgaWYgT2JqZWN0LmlzIGEsIGJcbiAgYWtleXMgPSBPYmplY3Qua2V5cyBhXG4gIGJrZXlzID0gT2JqZWN0LmtleXMgYlxuICByZXR1cm4gZmFsc2UgaWYgaXNOb3QgYWtleXMubGVuZ3RoLCBia2V5cy5sZW5ndGhcbiAgZm9yIGsgaW4gYWtleXMgd2hlbiAhKGsgaW4gYmtleXMgJiYgZXF1YWwgYVtrXSwgYltrXSlcbiAgICByZXR1cm4gZmFsc2VcbiAgdHJ1ZVxuXG5nZW5lcmljIGVxdWFsLCBpc1ByaW1pdGl2ZSwgaXNQcmltaXRpdmUsIChhLCBiKSAtPlxuICBPYmplY3QuaXMgYSwgYlxuXG5lcXVhbCA9IGN1cnJ5IGJpbmFyeSBlcXVhbFxuXG5ub3RFcXVhbCA9IGN1cnJ5IG5lZ2F0ZSBlcXVhbFxuXG5lcSA9IGN1cnJ5IChhLCBiKSAtPiBPYmplY3QuaXMgYSwgYlxuXG5uZXEgPSBjdXJyeSBuZWdhdGUgZXFcblxuY2xvbmUgPSBnZW5lcmljXG4gIG5hbWU6IFwiY2xvbmVcIlxuICBkZXNjcmlwdGlvbjogXCJDcmVhdGVzIGEgZGVlcCBjbG9uZSBvZiBhbiBlbnRpdHkuXCJcbiAgIyBXaGVuIG5vIG1hdGNoLCB0aHJvdyB0byBhbGVydCB0aGF0IHdlIGNhbm5vdCBkZWxpdmVyIGEgZGVlcCBjbG9uZS5cbiAgZGVmYXVsdDogKGVudGl0eSkgLT5cbiAgICB0aHJvdyBuZXcgRXJyb3IgXCJjbG9uZTogbm8gbWF0Y2ggb24gZW50aXR5ICN7ZW50aXR5Py5jb25zdHJ1Y3Rvcj8ubmFtZX1cIlxuXG5pc1ByaW1pdGl2ZSA9IGFueSBbXG4gIGlzVW5kZWZpbmVkXG4gIGlzTnVtYmVyXG4gIGlzU3RyaW5nXG4gIGlzQm9vbGVhblxuXVxuXG5nZW5lcmljIGNsb25lLCBpc1ByaW1pdGl2ZSwgaWRlbnRpdHlcblxuZ2VuZXJpYyBjbG9uZSwgaXNPYmplY3QsIChvcmlnaW5hbCkgLT5cbiAgY29weSA9IG5ldyBvcmlnaW5hbC5jb25zdHJ1Y3RvcigpXG4gIGZvciBrZXksIHZhbHVlIG9mIG9yaWdpbmFsXG4gICAgY29weVtrZXldID0gY2xvbmUgdmFsdWVcbiAgY29weVxuXG5nZW5lcmljIGNsb25lLCBpc0FycmF5QnVmZmVyLCAob3JpZ2luYWwpIC0+XG4gIGNvcHkgPSBuZXcgb3JpZ2luYWwuY29uc3RydWN0b3Igb3JpZ2luYWwuYnl0ZUxlbmd0aFxuICBuZXcgVWludDhBcnJheShjb3B5KS5zZXQgbmV3IFVpbnQ4QXJyYXkgb3JpZ2luYWxcbiAgY29weVxuXG5nZW5lcmljIGNsb25lLCBpc1R5cGVkQXJyYXksIChvcmlnaW5hbCkgLT5cbiAgbmV3IG9yaWdpbmFsLmNvbnN0cnVjdG9yIChjbG9uZSBvcmlnaW5hbC5idWZmZXIpLFxuICAgIG9yaWdpbmFsLmJ5dGVPZmZzZXQsIG9yaWdpbmFsLmxlbmd0aFxuXG5nZW5lcmljIGNsb25lLCBpc0RhdGFWaWV3LCAob3JpZ2luYWwpIC0+XG4gIG5ldyBvcmlnaW5hbC5jb25zdHJ1Y3RvciAoY2xvbmUgb3JpZ2luYWwuYnVmZmVyKSxcbiAgICBvcmlnaW5hbC5ieXRlT2Zmc2V0LCBvcmlnaW5hbC5ieXRlTGVuZ3RoXG5cbiMgT25seSBhdmFpbGFibGUgd2l0aGluIE5vZGUuanMgQVBJLiBpc0J1ZmZlciB3aWxsIG9ubHkgbWF0Y2ggd2hlbiBCdWZmZXIgaXNcbiMgYXZhaWxhYmxlIG9uIGdsb2JhbC4gT3RoZXJ3aXNlLCBpdCByZXR1cm5zIGZhbHNlLlxuZ2VuZXJpYyBjbG9uZSwgaXNCdWZmZXIsIChvcmlnaW5hbCkgLT5cbiAgQnVmZmVyLmZyb20gb3JpZ2luYWxcblxuY2xvbmVJdGVyYXRvciA9IChvcmlnaW5hbCwgYWRkKSAtPlxuICBjb3B5ID0gbmV3IG9yaWdpbmFsLmNvbnN0cnVjdG9yKClcbiAgYWRkIGNvcHksIGVudHJ5IGZvciBlbnRyeSBmcm9tIG9yaWdpbmFsXG4gIGNvcHlcblxuZ2VuZXJpYyBjbG9uZSwgaXNNYXAsIChvcmlnaW5hbCkgLT5cbiAgY2xvbmVJdGVyYXRvciBvcmlnaW5hbCwgKGNvcHksIFtrZXksIHZhbHVlXSkgLT5cbiAgICBjb3B5LnNldCAoY2xvbmUga2V5KSwgKGNsb25lIHZhbHVlKVxuXG5nZW5lcmljIGNsb25lLCBpc0FycmF5LCAob3JpZ2luYWwpIC0+XG4gIGNsb25lSXRlcmF0b3Igb3JpZ2luYWwsIChjb3B5LCBlbnRyeSkgLT4gY29weS5wdXNoIGNsb25lIGVudHJ5XG5cbmdlbmVyaWMgY2xvbmUsIGlzU2V0LCAob3JpZ2luYWwpIC0+XG4gIGNsb25lSXRlcmF0b3Igb3JpZ2luYWwsIChjb3B5LCBlbnRyeSkgLT4gY29weS5hZGQgY2xvbmUgZW50cnlcblxuZ2VuZXJpYyBjbG9uZSwgaXNEYXRlLCAob3JpZ2luYWwpIC0+XG4gIG5ldyBvcmlnaW5hbC5jb25zdHJ1Y3RvciBvcmlnaW5hbFxuXG5nZW5lcmljIGNsb25lLCBpc1N5bWJvbCwgKG9yaWdpbmFsKSAtPlxuICBvcmlnaW5hbC52YWx1ZU9mKClcblxuZ2VuZXJpYyBjbG9uZSwgaXNSZWdFeHAsIGRvIChmbGFncz0vXFx3KiQvKSAtPlxuICAob3JpZ2luYWwpIC0+XG4gICAgY29weSA9IG5ldyBvcmlnaW5hbC5jb25zdHJ1Y3RvciBvcmlnaW5hbC5zb3VyY2UsIChmbGFncy5leGVjIG9yaWdpbmFsKVxuICAgIGNvcHkubGFzdEluZGV4ID0gb3JpZ2luYWwubGFzdEluZGV4XG4gICAgY29weVxuXG5nZW5lcmljIGNsb25lLCBpc0Z1bmN0aW9uLCAob3JpZ2luYWwpIC0+XG4gIHRocm93IG5ldyBFcnJvciBcImNsb25lOiBkb2VzIG5vdCBjbG9uZSBGdW5jdGlvblwiXG5cbmdlbmVyaWMgY2xvbmUsIGlzV2Vha01hcCwgKG9yaWdpbmFsKSAtPlxuICB0aHJvdyBuZXcgRXJyb3IgXCJjbG9uZTogZG9lcyBub3QgY2xvbmUgV2Vha01hcFwiXG5cbmdlbmVyaWMgY2xvbmUsIGlzRXJyb3IsIChvcmlnaW5hbCkgLT5cbiAgdGhyb3cgbmV3IEVycm9yIFwiY2xvbmU6IGRvZXMgbm90IGNsb25lIEVycm9yXCJcblxuc2l6ZSA9IGdlbmVyaWNcbiAgbmFtZTogXCJzaXplXCJcbiAgZGVzY3JpcHRpb246IFwiUmV0dXJucyB0aGUgc2l6ZSBvZiBhIGdpdmVuIGVudGl0eSwgaWYgaXQgaGFzIG9uZS5cIlxuICBkZWZhdWx0OiAoeCkgLT5cbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yIFwic2l6ZTogbm90IHZhbGlkIGZvciB0eXBlICN7eC5jb25zdHJ1Y3Rvcn1cIlxuXG5oYXNMZW5ndGggPSAoeCkgLT4geC5sZW5ndGg/XG5oYXNCeXRlTGVuZ3RoID0gKHgpIC0+IHguYnl0ZUxlbmd0aD9cbmhhc1NpemUgPSAoeCkgLT4geC5zaXplP1xuXG5nZW5lcmljIHNpemUsIGhhc0J5dGVMZW5ndGgsICh4KSAtPiB4LmJ5dGVMZW5ndGhcbmdlbmVyaWMgc2l6ZSwgaXNPYmplY3QsICh4KSAtPiAoT2JqZWN0LmtleXMgeCkubGVuZ3RoXG5nZW5lcmljIHNpemUsIGhhc1NpemUsICh4KSAtPiB4LnNpemVcbmdlbmVyaWMgc2l6ZSwgaGFzTGVuZ3RoLCAoeCkgLT4geC5sZW5ndGhcblxuaXNFbXB0eSA9ICh4KSAtPiBPYmplY3QuaXMgKHNpemUgeCksIDBcblxuZXhwb3J0IHtcbiAgZXF1YWxcbiAgbm90RXF1YWxcbiAgZXFcbiAgbmVxXG4gIGNsb25lXG4gIHNpemVcbiAgaXNFbXB0eVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
|
|
314
|
-
//# sourceURL
|
|
283
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9qb3kvc3JjL3ZhbHVlLmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxJQUFBLEtBQUEsRUFBQSxhQUFBLEVBQUEsRUFBQSxFQUFBLEtBQUEsRUFBQSxhQUFBLEVBQUEsUUFBQSxFQUFBLFNBQUEsRUFBQSxPQUFBLEVBQUEsT0FBQSxFQUFBLEtBQUEsRUFBQSxXQUFBLEVBQUEsR0FBQSxFQUFBLFFBQUEsRUFBQSxJQUFBO0VBQUE7O0FBQUEsT0FBQTtFQUFTLFFBQVQ7RUFBbUIsS0FBbkI7RUFBMEIsTUFBMUI7Q0FBQSxNQUFBOztBQUNBLE9BQUE7RUFBUyxHQUFUO0VBQWMsTUFBZDtDQUFBLE1BQUE7O0FBQ0EsT0FBQTtFQUFTLE9BQVQ7Q0FBQSxNQUFBOztBQUVBLE9BQUE7RUFDRSxXQURGO0VBQ2UsS0FEZjtFQUVFLFFBRkY7RUFFWSxRQUZaO0VBR0UsUUFIRjtFQUdZLGFBSFo7RUFHMkIsWUFIM0I7RUFHeUMsVUFIekM7RUFJRSxLQUpGO0VBSVMsT0FKVDtFQUlrQixRQUpsQjtFQUk0QixLQUo1QjtFQUtFLFNBTEY7RUFLYSxNQUxiO0VBS3FCLFFBTHJCO0VBSytCLFFBTC9CO0VBTUUsVUFORjtFQU1jLFNBTmQ7RUFNeUIsT0FOekI7Q0FBQSxNQUFBOztBQVNBLFFBQUEsR0FBVyxDQUFDLENBQUQsQ0FBQSxHQUFBO1NBQU87QUFBUDs7QUFDWCxLQUFBLEdBQVEsUUFBQSxDQUFDLENBQUQsRUFBSSxDQUFKLENBQUE7U0FBVSxDQUFDLE1BQU0sQ0FBQyxFQUFQLENBQVUsQ0FBVixFQUFhLENBQWI7QUFBWDs7QUFDUixXQUFBLEdBQWMsUUFBQSxDQUFDLENBQUQsQ0FBQTtTQUFPLENBQUMsU0FBQSxDQUFVLENBQVYsQ0FBRCxDQUFBLElBQWlCLENBQUMsUUFBQSxDQUFTLENBQVQsQ0FBRCxDQUFqQixJQUFpQyxDQUFDLFFBQUEsQ0FBUyxDQUFULENBQUQ7QUFBeEM7O0FB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Q0FBQTtTQUFPLENBQUMsTUFBTSxDQUFDLElBQVAsQ0FBWSxDQUFaLENBQUQsQ0FBZSxDQUFDO0FBQXZCLENBQXhCOztBQUNBLE9BQUEsQ0FBUSxJQUFSLEVBQWMsT0FBZCxFQUF1QixRQUFBLENBQUMsQ0FBRCxDQUFBO1NBQU8sQ0FBQyxDQUFDO0FBQVQsQ0FBdkI7O0FBQ0EsT0FBQSxDQUFRLElBQVIsRUFBYyxTQUFkLEVBQXlCLFFBQUEsQ0FBQyxDQUFELENBQUE7U0FBTyxDQUFDLENBQUM7QUFBVCxDQUF6Qjs7QUFFQSxPQUFBLEdBQVUsUUFBQSxDQUFDLENBQUQsQ0FBQTtTQUFPLE1BQU0sQ0FBQyxFQUFQLENBQVcsSUFBQSxDQUFLLENBQUwsQ0FBWCxFQUFvQixDQUFwQjtBQUFQOztBQUVWLE9BQUE7RUFDRSxLQURGO0VBRUUsUUFGRjtFQUdFLEVBSEY7RUFJRSxHQUpGO0VBS0UsS0FMRjtFQU1FLElBTkY7RUFPRSxPQVBGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaWRlbnRpdHksIGN1cnJ5LCBiaW5hcnkgfSBmcm9tIFwiLi9mdW5jdGlvblwiXG5pbXBvcnQgeyBhbnksIG5lZ2F0ZSB9IGZyb20gXCIuL3ByZWRpY2F0ZVwiXG5pbXBvcnQgeyBnZW5lcmljIH0gZnJvbSBcIi4vZ2VuZXJpY1wiXG5cbmltcG9ydCB7XG4gIGlzVW5kZWZpbmVkLCBpc0FueVxuICBpc1N5bWJvbCwgaXNSZWdFeHAsXG4gIGlzQnVmZmVyLCBpc0FycmF5QnVmZmVyLCBpc1R5cGVkQXJyYXksIGlzRGF0YVZpZXcsXG4gIGlzTWFwLCBpc0FycmF5LCBpc09iamVjdCwgaXNTZXQsXG4gIGlzQm9vbGVhbiwgaXNEYXRlLCBpc051bWJlciwgaXNTdHJpbmcsXG4gIGlzRnVuY3Rpb24sIGlzV2Vha01hcCwgaXNFcnJvclxufSBmcm9tIFwiLi90eXBlXCJcblxuaGFzRXF1YWwgPSAoYSkgPT4gYT8uZXF1YWw/XG5pc05vdCA9IChhLCBiKSAtPiAhT2JqZWN0LmlzIGEsIGJcbmlzUHJpbWl0aXZlID0gKHgpIC0+IChpc0Jvb2xlYW4geCkgfHwgKGlzTnVtYmVyIHgpIHx8IChpc1N0cmluZyB4KVxuXG5lcXVhbCA9IGdlbmVyaWNcbiAgbmFtZTogXCJlcXVhbFwiXG4gIGRlc2NyaXB0aW9uOiBcIlJldHVybnMgdHJ1ZSBpZiB0d28gdmFsdWVzIGFyZSBcbiAgICBzZW1hbnRpY2FsbHkgKGRlZXBseSkgZXF1YWwsIGZhbHNlIG90aGVyd2lzZVwiXG4gIGRlZmF1bHQ6IChhLCBiKSAtPiBPYmplY3QuaXMgYSwgYlxuXG5nZW5lcmljIGVxdWFsLCBpc0FueSwgaGFzRXF1YWwsIChhLCBiKSAtPlxuICBiLmVxdWFsIGFcblxuZ2VuZXJpYyBlcXVhbCwgaGFzRXF1YWwsIGlzQW55LCAoYSwgYikgLT5cbiAgYS5lcXVhbCBiXG5cbmdlbmVyaWMgZXF1YWwsIGlzVHlwZWRBcnJheSwgaXNUeXBlZEFycmF5LCAoYSwgYikgLT5cbiAgaWYgKGlzTm90IGEubGVuZ3RoLCBiLmxlbmd0aCkgfHwgKGlzTm90IGEubmFtZSwgYi5uYW1lKVxuICAgIHJldHVybiBmYWxzZVxuICBmb3IgaSBpbiBbMC4uYS5sZW5ndGhdXG4gICAgaWYgaXNOb3QgYVtpXSwgYltpXVxuICAgICAgcmV0dXJuIGZhbHNlXG4gIHRydWVcblxuZ2VuZXJpYyBlcXVhbCwgaXNBcnJheUJ1ZmZlciwgaXNBcnJheUJ1ZmZlciwgKGEsIGIpIC0+XG4gIGlmIGlzTm90IGEuYnl0ZUxlbmd0aCwgYi5ieXRlTGVuZ3RoXG4gICAgcmV0dXJuIGZhbHNlXG4gIGVxdWFsIChuZXcgVWludDhBcnJheSBhKSwgKG5ldyBVaW50OEFycmF5IGIpXG5cbmdlbmVyaWMgZXF1YWwsIGlzRGF0YVZpZXcsIGlzRGF0YVZpZXcsIChhLCBiKSAtPlxuICBpZiAoaXNOb3QgYS5ieXRlTGVuZ3RoLCBiLmJ5dGVMZW5ndGgpIHx8IChpc05vdCBhLmJ5dGVPZmZzZXQsIGIuYnl0ZU9mZnNldClcbiAgICByZXR1cm4gZmFsc2VcbiAgZXF1YWwgYS5idWZmZXIsIGIuYnVmZmVyXG5cbmdlbmVyaWMgZXF1YWwsIGlzQnVmZmVyLCBpc0J1ZmZlciwgKGEsIGIpIC0+XG4gIGEuZXF1YWxzIGJcblxuZ2VuZXJpYyBlcXVhbCwgaXNEYXRlLCBpc0RhdGUsIChhLCBiKSAtPlxuICBPYmplY3QuaXMgYS5nZXRUaW1lKCksIGIuZ2V0VGltZSgpXG5cbmdlbmVyaWMgZXF1YWwsIGlzUmVnRXhwLCBpc1JlZ0V4cCwgKGEsIGIpIC0+XG4gIE9iamVjdC5pcyBhLnRvU3RyaW5nKCksIGIudG9TdHJpbmcoKVxuXG5nZW5lcmljIGVxdWFsLCBpc0Vycm9yLCBpc0Vycm9yLCAoYSwgYikgLT5cbiAgKGVxdWFsIGEubmFtZSwgYi5uYW1lKSAmJiAoZXF1YWwgYS5tZXNzYWdlLCBiLm1lc3NhZ2UpXG5cbmdlbmVyaWMgZXF1YWwsIGlzU3ltYm9sLCBpc1N5bWJvbCwgKGEsIGIpIC0+XG4gIE9iamVjdC5pcyBhLnZhbHVlT2YoKSwgYi52YWx1ZU9mKClcblxuZ2VuZXJpYyBlcXVhbCwgaXNNYXAsIGlzTWFwLCAoYSwgYikgLT5cbiAgaWYgaXNOb3QgYS5zaXplLCBiLnNpemVcbiAgICByZXR1cm4gZmFsc2VcbiAgZm9yIFtrZXksIHZhbHVlXSBmcm9tIGFcbiAgICBpZiAhIGVxdWFsIHZhbHVlLCAoYi5nZXQga2V5KVxuICAgICAgcmV0dXJuIGZhbHNlXG4gIHRydWVcblxuZ2VuZXJpYyBlcXVhbCwgaXNTZXQsIGlzU2V0LCAoYSwgYikgLT5cbiAgaWYgaXNOb3QgYS5zaXplLCBiLnNpemVcbiAgICByZXR1cm4gZmFsc2VcbiAgZm9yIHZhbHVlIGZyb20gYVxuICAgIGlmICEgYi5oYXMgdmFsdWVcbiAgICAgIHJldHVybiBmYWxzZVxuICB0cnVlXG5cbmdlbmVyaWMgZXF1YWwsIGlzQXJyYXksIGlzQXJyYXksIChhLCBiKSAtPlxuICBpZiBpc05vdCBhLmxlbmd0aCwgYi5sZW5ndGhcbiAgICByZXR1cm4gZmFsc2VcbiAgZm9yIGkgaW4gWzAuLmEubGVuZ3RoXVxuICAgIGlmICEgZXF1YWwgYVtpXSwgYltpXVxuICAgICAgcmV0dXJuIGZhbHNlXG4gIHRydWVcblxuZ2VuZXJpYyBlcXVhbCwgaXNPYmplY3QsIGlzT2JqZWN0LCAoYSwgYikgLT5cbiAgcmV0dXJuIHRydWUgaWYgT2JqZWN0LmlzIGEsIGJcbiAgYWtleXMgPSBPYmplY3Qua2V5cyBhXG4gIGJrZXlzID0gT2JqZWN0LmtleXMgYlxuICByZXR1cm4gZmFsc2UgaWYgaXNOb3QgYWtleXMubGVuZ3RoLCBia2V5cy5sZW5ndGhcbiAgZm9yIGsgaW4gYWtleXMgd2hlbiAhKGsgaW4gYmtleXMgJiYgZXF1YWwgYVtrXSwgYltrXSlcbiAgICByZXR1cm4gZmFsc2VcbiAgdHJ1ZVxuXG5nZW5lcmljIGVxdWFsLCBpc1ByaW1pdGl2ZSwgaXNQcmltaXRpdmUsIChhLCBiKSAtPlxuICBPYmplY3QuaXMgYSwgYlxuXG5lcXVhbCA9IGN1cnJ5IGJpbmFyeSBlcXVhbFxuXG5ub3RFcXVhbCA9IGN1cnJ5IG5lZ2F0ZSBlcXVhbFxuXG5lcSA9IGN1cnJ5IChhLCBiKSAtPiBPYmplY3QuaXMgYSwgYlxuXG5uZXEgPSBjdXJyeSBuZWdhdGUgZXFcblxuY2xvbmUgPSBnZW5lcmljXG4gIG5hbWU6IFwiY2xvbmVcIlxuICBkZXNjcmlwdGlvbjogXCJDcmVhdGVzIGEgZGVlcCBjbG9uZSBvZiBhbiBlbnRpdHkuXCJcbiAgIyBXaGVuIG5vIG1hdGNoLCB0aHJvdyB0byBhbGVydCB0aGF0IHdlIGNhbm5vdCBkZWxpdmVyIGEgZGVlcCBjbG9uZS5cbiAgZGVmYXVsdDogKGVudGl0eSkgLT5cbiAgICB0aHJvdyBuZXcgRXJyb3IgXCJjbG9uZTogbm8gbWF0Y2ggb24gZW50aXR5ICN7ZW50aXR5Py5jb25zdHJ1Y3Rvcj8ubmFtZX1cIlxuXG5pc1ByaW1pdGl2ZSA9IGFueSBbXG4gIGlzVW5kZWZpbmVkXG4gIGlzTnVtYmVyXG4gIGlzU3RyaW5nXG4gIGlzQm9vbGVhblxuXVxuXG5nZW5lcmljIGNsb25lLCBpc1ByaW1pdGl2ZSwgaWRlbnRpdHlcblxuZ2VuZXJpYyBjbG9uZSwgaXNPYmplY3QsIChvcmlnaW5hbCkgLT5cbiAgY29weSA9IG5ldyBvcmlnaW5hbC5jb25zdHJ1Y3RvcigpXG4gIGZvciBrZXksIHZhbHVlIG9mIG9yaWdpbmFsXG4gICAgY29weVtrZXldID0gY2xvbmUgdmFsdWVcbiAgY29weVxuXG5nZW5lcmljIGNsb25lLCBpc0FycmF5QnVmZmVyLCAob3JpZ2luYWwpIC0+XG4gIGNvcHkgPSBuZXcgb3JpZ2luYWwuY29uc3RydWN0b3Igb3JpZ2luYWwuYnl0ZUxlbmd0aFxuICBuZXcgVWludDhBcnJheShjb3B5KS5zZXQgbmV3IFVpbnQ4QXJyYXkgb3JpZ2luYWxcbiAgY29weVxuXG5nZW5lcmljIGNsb25lLCBpc1R5cGVkQXJyYXksIChvcmlnaW5hbCkgLT5cbiAgbmV3IG9yaWdpbmFsLmNvbnN0cnVjdG9yIChjbG9uZSBvcmlnaW5hbC5idWZmZXIpLFxuICAgIG9yaWdpbmFsLmJ5dGVPZmZzZXQsIG9yaWdpbmFsLmxlbmd0aFxuXG5nZW5lcmljIGNsb25lLCBpc0RhdGFWaWV3LCAob3JpZ2luYWwpIC0+XG4gIG5ldyBvcmlnaW5hbC5jb25zdHJ1Y3RvciAoY2xvbmUgb3JpZ2luYWwuYnVmZmVyKSxcbiAgICBvcmlnaW5hbC5ieXRlT2Zmc2V0LCBvcmlnaW5hbC5ieXRlTGVuZ3RoXG5cbiMgT25seSBhdmFpbGFibGUgd2l0aGluIE5vZGUuanMgQVBJLiBpc0J1ZmZlciB3aWxsIG9ubHkgbWF0Y2ggd2hlbiBCdWZmZXIgaXNcbiMgYXZhaWxhYmxlIG9uIGdsb2JhbC4gT3RoZXJ3aXNlLCBpdCByZXR1cm5zIGZhbHNlLlxuZ2VuZXJpYyBjbG9uZSwgaXNCdWZmZXIsIChvcmlnaW5hbCkgLT5cbiAgQnVmZmVyLmZyb20gb3JpZ2luYWxcblxuY2xvbmVJdGVyYXRvciA9IChvcmlnaW5hbCwgYWRkKSAtPlxuICBjb3B5ID0gbmV3IG9yaWdpbmFsLmNvbnN0cnVjdG9yKClcbiAgYWRkIGNvcHksIGVudHJ5IGZvciBlbnRyeSBmcm9tIG9yaWdpbmFsXG4gIGNvcHlcblxuZ2VuZXJpYyBjbG9uZSwgaXNNYXAsIChvcmlnaW5hbCkgLT5cbiAgY2xvbmVJdGVyYXRvciBvcmlnaW5hbCwgKGNvcHksIFtrZXksIHZhbHVlXSkgLT5cbiAgICBjb3B5LnNldCAoY2xvbmUga2V5KSwgKGNsb25lIHZhbHVlKVxuXG5nZW5lcmljIGNsb25lLCBpc0FycmF5LCAob3JpZ2luYWwpIC0+XG4gIGNsb25lSXRlcmF0b3Igb3JpZ2luYWwsIChjb3B5LCBlbnRyeSkgLT4gY29weS5wdXNoIGNsb25lIGVudHJ5XG5cbmdlbmVyaWMgY2xvbmUsIGlzU2V0LCAob3JpZ2luYWwpIC0+XG4gIGNsb25lSXRlcmF0b3Igb3JpZ2luYWwsIChjb3B5LCBlbnRyeSkgLT4gY29weS5hZGQgY2xvbmUgZW50cnlcblxuZ2VuZXJpYyBjbG9uZSwgaXNEYXRlLCAob3JpZ2luYWwpIC0+XG4gIG5ldyBvcmlnaW5hbC5jb25zdHJ1Y3RvciBvcmlnaW5hbFxuXG5nZW5lcmljIGNsb25lLCBpc1N5bWJvbCwgKG9yaWdpbmFsKSAtPlxuICBvcmlnaW5hbC52YWx1ZU9mKClcblxuZ2VuZXJpYyBjbG9uZSwgaXNSZWdFeHAsIGRvIChmbGFncz0vXFx3KiQvKSAtPlxuICAob3JpZ2luYWwpIC0+XG4gICAgY29weSA9IG5ldyBvcmlnaW5hbC5jb25zdHJ1Y3RvciBvcmlnaW5hbC5zb3VyY2UsIChmbGFncy5leGVjIG9yaWdpbmFsKVxuICAgIGNvcHkubGFzdEluZGV4ID0gb3JpZ2luYWwubGFzdEluZGV4XG4gICAgY29weVxuXG5nZW5lcmljIGNsb25lLCBpc0Z1bmN0aW9uLCAob3JpZ2luYWwpIC0+XG4gIHRocm93IG5ldyBFcnJvciBcImNsb25lOiBkb2VzIG5vdCBjbG9uZSBGdW5jdGlvblwiXG5cbmdlbmVyaWMgY2xvbmUsIGlzV2Vha01hcCwgKG9yaWdpbmFsKSAtPlxuICB0aHJvdyBuZXcgRXJyb3IgXCJjbG9uZTogZG9lcyBub3QgY2xvbmUgV2Vha01hcFwiXG5cbmdlbmVyaWMgY2xvbmUsIGlzRXJyb3IsIChvcmlnaW5hbCkgLT5cbiAgdGhyb3cgbmV3IEVycm9yIFwiY2xvbmU6IGRvZXMgbm90IGNsb25lIEVycm9yXCJcblxuc2l6ZSA9IGdlbmVyaWNcbiAgbmFtZTogXCJzaXplXCJcbiAgZGVzY3JpcHRpb246IFwiUmV0dXJucyB0aGUgc2l6ZSBvZiBhIGdpdmVuIGVudGl0eSwgaWYgaXQgaGFzIG9uZS5cIlxuICBkZWZhdWx0OiAoeCkgLT5cbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yIFwic2l6ZTogbm90IHZhbGlkIGZvciB0eXBlICN7eC5jb25zdHJ1Y3Rvcn1cIlxuXG5oYXNMZW5ndGggPSAoeCkgLT4geC5sZW5ndGg/XG5oYXNCeXRlTGVuZ3RoID0gKHgpIC0+IHguYnl0ZUxlbmd0aD9cbmhhc1NpemUgPSAoeCkgLT4geC5zaXplP1xuXG5nZW5lcmljIHNpemUsIGhhc0J5dGVMZW5ndGgsICh4KSAtPiB4LmJ5dGVMZW5ndGhcbmdlbmVyaWMgc2l6ZSwgaXNPYmplY3QsICh4KSAtPiAoT2JqZWN0LmtleXMgeCkubGVuZ3RoXG5nZW5lcmljIHNpemUsIGhhc1NpemUsICh4KSAtPiB4LnNpemVcbmdlbmVyaWMgc2l6ZSwgaGFzTGVuZ3RoLCAoeCkgLT4geC5sZW5ndGhcblxuaXNFbXB0eSA9ICh4KSAtPiBPYmplY3QuaXMgKHNpemUgeCksIDBcblxuZXhwb3J0IHtcbiAgZXF1YWxcbiAgbm90RXF1YWxcbiAgZXFcbiAgbmVxXG4gIGNsb25lXG4gIHNpemVcbiAgaXNFbXB0eVxufVxuIl19
|
|
284
|
+
//# sourceURL=/@dashkite/joy/src/value.coffee
|
|
285
|
+
|
|
286
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9AZGFzaGtpdGUvam95L3NyYy92YWx1ZS5jb2ZmZWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaWRlbnRpdHksIGN1cnJ5LCBiaW5hcnkgfSBmcm9tIFwiLi9mdW5jdGlvblwiXG5pbXBvcnQgeyBhbnksIG5lZ2F0ZSB9IGZyb20gXCIuL3ByZWRpY2F0ZVwiXG5pbXBvcnQgeyBnZW5lcmljIH0gZnJvbSBcIi4vZ2VuZXJpY1wiXG5cbmltcG9ydCB7XG4gIGlzVW5kZWZpbmVkLCBpc0FueVxuICBpc1N5bWJvbCwgaXNSZWdFeHAsXG4gIGlzQnVmZmVyLCBpc0FycmF5QnVmZmVyLCBpc1R5cGVkQXJyYXksIGlzRGF0YVZpZXcsXG4gIGlzTWFwLCBpc0FycmF5LCBpc09iamVjdCwgaXNTZXQsXG4gIGlzQm9vbGVhbiwgaXNEYXRlLCBpc051bWJlciwgaXNTdHJpbmcsXG4gIGlzRnVuY3Rpb24sIGlzV2Vha01hcCwgaXNFcnJvclxufSBmcm9tIFwiLi90eXBlXCJcblxuaGFzRXF1YWwgPSAoYSkgPT4gYT8uZXF1YWw/XG5pc05vdCA9IChhLCBiKSAtPiAhT2JqZWN0LmlzIGEsIGJcbmlzUHJpbWl0aXZlID0gKHgpIC0+IChpc0Jvb2xlYW4geCkgfHwgKGlzTnVtYmVyIHgpIHx8IChpc1N0cmluZyB4KVxuXG5lcXVhbCA9IGdlbmVyaWNcbiAgbmFtZTogXCJlcXVhbFwiXG4gIGRlc2NyaXB0aW9uOiBcIlJldHVybnMgdHJ1ZSBpZiB0d28gdmFsdWVzIGFyZSBcbiAgICBzZW1hbnRpY2FsbHkgKGRlZXBseSkgZXF1YWwsIGZhbHNlIG90aGVyd2lzZVwiXG4gIGRlZmF1bHQ6IChhLCBiKSAtPiBPYmplY3QuaXMgYSwgYlxuXG5nZW5lcmljIGVxdWFsLCBpc0FueSwgaGFzRXF1YWwsIChhLCBiKSAtPlxuICBiLmVxdWFsIGFcblxuZ2VuZXJpYyBlcXVhbCwgaGFzRXF1YWwsIGlzQW55LCAoYSwgYikgLT5cbiAgYS5lcXVhbCBiXG5cbmdlbmVyaWMgZXF1YWwsIGlzVHlwZWRBcnJheSwgaXNUeXBlZEFycmF5LCAoYSwgYikgLT5cbiAgaWYgKGlzTm90IGEubGVuZ3RoLCBiLmxlbmd0aCkgfHwgKGlzTm90IGEubmFtZSwgYi5uYW1lKVxuICAgIHJldHVybiBmYWxzZVxuICBmb3IgaSBpbiBbMC4uYS5sZW5ndGhdXG4gICAgaWYgaXNOb3QgYVtpXSwgYltpXVxuICAgICAgcmV0dXJuIGZhbHNlXG4gIHRydWVcblxuZ2VuZXJpYyBlcXVhbCwgaXNBcnJheUJ1ZmZlciwgaXNBcnJheUJ1ZmZlciwgKGEsIGIpIC0+XG4gIGlmIGlzTm90IGEuYnl0ZUxlbmd0aCwgYi5ieXRlTGVuZ3RoXG4gICAgcmV0dXJuIGZhbHNlXG4gIGVxdWFsIChuZXcgVWludDhBcnJheSBhKSwgKG5ldyBVaW50OEFycmF5IGIpXG5cbmdlbmVyaWMgZXF1YWwsIGlzRGF0YVZpZXcsIGlzRGF0YVZpZXcsIChhLCBiKSAtPlxuICBpZiAoaXNOb3QgYS5ieXRlTGVuZ3RoLCBiLmJ5dGVMZW5ndGgpIHx8IChpc05vdCBhLmJ5dGVPZmZzZXQsIGIuYnl0ZU9mZnNldClcbiAgICByZXR1cm4gZmFsc2VcbiAgZXF1YWwgYS5idWZmZXIsIGIuYnVmZmVyXG5cbmdlbmVyaWMgZXF1YWwsIGlzQnVmZmVyLCBpc0J1ZmZlciwgKGEsIGIpIC0+XG4gIGEuZXF1YWxzIGJcblxuZ2VuZXJpYyBlcXVhbCwgaXNEYXRlLCBpc0RhdGUsIChhLCBiKSAtPlxuICBPYmplY3QuaXMgYS5nZXRUaW1lKCksIGIuZ2V0VGltZSgpXG5cbmdlbmVyaWMgZXF1YWwsIGlzUmVnRXhwLCBpc1JlZ0V4cCwgKGEsIGIpIC0+XG4gIE9iamVjdC5pcyBhLnRvU3RyaW5nKCksIGIudG9TdHJpbmcoKVxuXG5nZW5lcmljIGVxdWFsLCBpc0Vycm9yLCBpc0Vycm9yLCAoYSwgYikgLT5cbiAgKGVxdWFsIGEubmFtZSwgYi5uYW1lKSAmJiAoZXF1YWwgYS5tZXNzYWdlLCBiLm1lc3NhZ2UpXG5cbmdlbmVyaWMgZXF1YWwsIGlzU3ltYm9sLCBpc1N5bWJvbCwgKGEsIGIpIC0+XG4gIE9iamVjdC5pcyBhLnZhbHVlT2YoKSwgYi52YWx1ZU9mKClcblxuZ2VuZXJpYyBlcXVhbCwgaXNNYXAsIGlzTWFwLCAoYSwgYikgLT5cbiAgaWYgaXNOb3QgYS5zaXplLCBiLnNpemVcbiAgICByZXR1cm4gZmFsc2VcbiAgZm9yIFtrZXksIHZhbHVlXSBmcm9tIGFcbiAgICBpZiAhIGVxdWFsIHZhbHVlLCAoYi5nZXQga2V5KVxuICAgICAgcmV0dXJuIGZhbHNlXG4gIHRydWVcblxuZ2VuZXJpYyBlcXVhbCwgaXNTZXQsIGlzU2V0LCAoYSwgYikgLT5cbiAgaWYgaXNOb3QgYS5zaXplLCBiLnNpemVcbiAgICByZXR1cm4gZmFsc2VcbiAgZm9yIHZhbHVlIGZyb20gYVxuICAgIGlmICEgYi5oYXMgdmFsdWVcbiAgICAgIHJldHVybiBmYWxzZVxuICB0cnVlXG5cbmdlbmVyaWMgZXF1YWwsIGlzQXJyYXksIGlzQXJyYXksIChhLCBiKSAtPlxuICBpZiBpc05vdCBhLmxlbmd0aCwgYi5sZW5ndGhcbiAgICByZXR1cm4gZmFsc2VcbiAgZm9yIGkgaW4gWzAuLmEubGVuZ3RoXVxuICAgIGlmICEgZXF1YWwgYVtpXSwgYltpXVxuICAgICAgcmV0dXJuIGZhbHNlXG4gIHRydWVcblxuZ2VuZXJpYyBlcXVhbCwgaXNPYmplY3QsIGlzT2JqZWN0LCAoYSwgYikgLT5cbiAgcmV0dXJuIHRydWUgaWYgT2JqZWN0LmlzIGEsIGJcbiAgYWtleXMgPSBPYmplY3Qua2V5cyBhXG4gIGJrZXlzID0gT2JqZWN0LmtleXMgYlxuICByZXR1cm4gZmFsc2UgaWYgaXNOb3QgYWtleXMubGVuZ3RoLCBia2V5cy5sZW5ndGhcbiAgZm9yIGsgaW4gYWtleXMgd2hlbiAhKGsgaW4gYmtleXMgJiYgZXF1YWwgYVtrXSwgYltrXSlcbiAgICByZXR1cm4gZmFsc2VcbiAgdHJ1ZVxuXG5nZW5lcmljIGVxdWFsLCBpc1ByaW1pdGl2ZSwgaXNQcmltaXRpdmUsIChhLCBiKSAtPlxuICBPYmplY3QuaXMgYSwgYlxuXG5lcXVhbCA9IGN1cnJ5IGJpbmFyeSBlcXVhbFxuXG5ub3RFcXVhbCA9IGN1cnJ5IG5lZ2F0ZSBlcXVhbFxuXG5lcSA9IGN1cnJ5IChhLCBiKSAtPiBPYmplY3QuaXMgYSwgYlxuXG5uZXEgPSBjdXJyeSBuZWdhdGUgZXFcblxuY2xvbmUgPSBnZW5lcmljXG4gIG5hbWU6IFwiY2xvbmVcIlxuICBkZXNjcmlwdGlvbjogXCJDcmVhdGVzIGEgZGVlcCBjbG9uZSBvZiBhbiBlbnRpdHkuXCJcbiAgIyBXaGVuIG5vIG1hdGNoLCB0aHJvdyB0byBhbGVydCB0aGF0IHdlIGNhbm5vdCBkZWxpdmVyIGEgZGVlcCBjbG9uZS5cbiAgZGVmYXVsdDogKGVudGl0eSkgLT5cbiAgICB0aHJvdyBuZXcgRXJyb3IgXCJjbG9uZTogbm8gbWF0Y2ggb24gZW50aXR5ICN7ZW50aXR5Py5jb25zdHJ1Y3Rvcj8ubmFtZX1cIlxuXG5pc1ByaW1pdGl2ZSA9IGFueSBbXG4gIGlzVW5kZWZpbmVkXG4gIGlzTnVtYmVyXG4gIGlzU3RyaW5nXG4gIGlzQm9vbGVhblxuXVxuXG5nZW5lcmljIGNsb25lLCBpc1ByaW1pdGl2ZSwgaWRlbnRpdHlcblxuZ2VuZXJpYyBjbG9uZSwgaXNPYmplY3QsIChvcmlnaW5hbCkgLT5cbiAgY29weSA9IG5ldyBvcmlnaW5hbC5jb25zdHJ1Y3RvcigpXG4gIGZvciBrZXksIHZhbHVlIG9mIG9yaWdpbmFsXG4gICAgY29weVtrZXldID0gY2xvbmUgdmFsdWVcbiAgY29weVxuXG5nZW5lcmljIGNsb25lLCBpc0FycmF5QnVmZmVyLCAob3JpZ2luYWwpIC0+XG4gIGNvcHkgPSBuZXcgb3JpZ2luYWwuY29uc3RydWN0b3Igb3JpZ2luYWwuYnl0ZUxlbmd0aFxuICBuZXcgVWludDhBcnJheShjb3B5KS5zZXQgbmV3IFVpbnQ4QXJyYXkgb3JpZ2luYWxcbiAgY29weVxuXG5nZW5lcmljIGNsb25lLCBpc1R5cGVkQXJyYXksIChvcmlnaW5hbCkgLT5cbiAgbmV3IG9yaWdpbmFsLmNvbnN0cnVjdG9yIChjbG9uZSBvcmlnaW5hbC5idWZmZXIpLFxuICAgIG9yaWdpbmFsLmJ5dGVPZmZzZXQsIG9yaWdpbmFsLmxlbmd0aFxuXG5nZW5lcmljIGNsb25lLCBpc0RhdGFWaWV3LCAob3JpZ2luYWwpIC0+XG4gIG5ldyBvcmlnaW5hbC5jb25zdHJ1Y3RvciAoY2xvbmUgb3JpZ2luYWwuYnVmZmVyKSxcbiAgICBvcmlnaW5hbC5ieXRlT2Zmc2V0LCBvcmlnaW5hbC5ieXRlTGVuZ3RoXG5cbiMgT25seSBhdmFpbGFibGUgd2l0aGluIE5vZGUuanMgQVBJLiBpc0J1ZmZlciB3aWxsIG9ubHkgbWF0Y2ggd2hlbiBCdWZmZXIgaXNcbiMgYXZhaWxhYmxlIG9uIGdsb2JhbC4gT3RoZXJ3aXNlLCBpdCByZXR1cm5zIGZhbHNlLlxuZ2VuZXJpYyBjbG9uZSwgaXNCdWZmZXIsIChvcmlnaW5hbCkgLT5cbiAgQnVmZmVyLmZyb20gb3JpZ2luYWxcblxuY2xvbmVJdGVyYXRvciA9IChvcmlnaW5hbCwgYWRkKSAtPlxuICBjb3B5ID0gbmV3IG9yaWdpbmFsLmNvbnN0cnVjdG9yKClcbiAgYWRkIGNvcHksIGVudHJ5IGZvciBlbnRyeSBmcm9tIG9yaWdpbmFsXG4gIGNvcHlcblxuZ2VuZXJpYyBjbG9uZSwgaXNNYXAsIChvcmlnaW5hbCkgLT5cbiAgY2xvbmVJdGVyYXRvciBvcmlnaW5hbCwgKGNvcHksIFtrZXksIHZhbHVlXSkgLT5cbiAgICBjb3B5LnNldCAoY2xvbmUga2V5KSwgKGNsb25lIHZhbHVlKVxuXG5nZW5lcmljIGNsb25lLCBpc0FycmF5LCAob3JpZ2luYWwpIC0+XG4gIGNsb25lSXRlcmF0b3Igb3JpZ2luYWwsIChjb3B5LCBlbnRyeSkgLT4gY29weS5wdXNoIGNsb25lIGVudHJ5XG5cbmdlbmVyaWMgY2xvbmUsIGlzU2V0LCAob3JpZ2luYWwpIC0+XG4gIGNsb25lSXRlcmF0b3Igb3JpZ2luYWwsIChjb3B5LCBlbnRyeSkgLT4gY29weS5hZGQgY2xvbmUgZW50cnlcblxuZ2VuZXJpYyBjbG9uZSwgaXNEYXRlLCAob3JpZ2luYWwpIC0+XG4gIG5ldyBvcmlnaW5hbC5jb25zdHJ1Y3RvciBvcmlnaW5hbFxuXG5nZW5lcmljIGNsb25lLCBpc1N5bWJvbCwgKG9yaWdpbmFsKSAtPlxuICBvcmlnaW5hbC52YWx1ZU9mKClcblxuZ2VuZXJpYyBjbG9uZSwgaXNSZWdFeHAsIGRvIChmbGFncz0vXFx3KiQvKSAtPlxuICAob3JpZ2luYWwpIC0+XG4gICAgY29weSA9IG5ldyBvcmlnaW5hbC5jb25zdHJ1Y3RvciBvcmlnaW5hbC5zb3VyY2UsIChmbGFncy5leGVjIG9yaWdpbmFsKVxuICAgIGNvcHkubGFzdEluZGV4ID0gb3JpZ2luYWwubGFzdEluZGV4XG4gICAgY29weVxuXG5nZW5lcmljIGNsb25lLCBpc0Z1bmN0aW9uLCAob3JpZ2luYWwpIC0+XG4gIHRocm93IG5ldyBFcnJvciBcImNsb25lOiBkb2VzIG5vdCBjbG9uZSBGdW5jdGlvblwiXG5cbmdlbmVyaWMgY2xvbmUsIGlzV2Vha01hcCwgKG9yaWdpbmFsKSAtPlxuICB0aHJvdyBuZXcgRXJyb3IgXCJjbG9uZTogZG9lcyBub3QgY2xvbmUgV2Vha01hcFwiXG5cbmdlbmVyaWMgY2xvbmUsIGlzRXJyb3IsIChvcmlnaW5hbCkgLT5cbiAgdGhyb3cgbmV3IEVycm9yIFwiY2xvbmU6IGRvZXMgbm90IGNsb25lIEVycm9yXCJcblxuc2l6ZSA9IGdlbmVyaWNcbiAgbmFtZTogXCJzaXplXCJcbiAgZGVzY3JpcHRpb246IFwiUmV0dXJucyB0aGUgc2l6ZSBvZiBhIGdpdmVuIGVudGl0eSwgaWYgaXQgaGFzIG9uZS5cIlxuICBkZWZhdWx0OiAoeCkgLT5cbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yIFwic2l6ZTogbm90IHZhbGlkIGZvciB0eXBlICN7eC5jb25zdHJ1Y3Rvcn1cIlxuXG5oYXNMZW5ndGggPSAoeCkgLT4geC5sZW5ndGg/XG5oYXNCeXRlTGVuZ3RoID0gKHgpIC0+IHguYnl0ZUxlbmd0aD9cbmhhc1NpemUgPSAoeCkgLT4geC5zaXplP1xuXG5nZW5lcmljIHNpemUsIGhhc0J5dGVMZW5ndGgsICh4KSAtPiB4LmJ5dGVMZW5ndGhcbmdlbmVyaWMgc2l6ZSwgaXNPYmplY3QsICh4KSAtPiAoT2JqZWN0LmtleXMgeCkubGVuZ3RoXG5nZW5lcmljIHNpemUsIGhhc1NpemUsICh4KSAtPiB4LnNpemVcbmdlbmVyaWMgc2l6ZSwgaGFzTGVuZ3RoLCAoeCkgLT4geC5sZW5ndGhcblxuaXNFbXB0eSA9ICh4KSAtPiBPYmplY3QuaXMgKHNpemUgeCksIDBcblxuZXhwb3J0IHtcbiAgZXF1YWxcbiAgbm90RXF1YWxcbiAgZXFcbiAgbmVxXG4gIGNsb25lXG4gIHNpemVcbiAgaXNFbXB0eVxufVxuIl0sIm5hbWVzIjpbImNsb25lIiwiZXEiLCJlcXVhbCIsImlzRW1wdHkiLCJuZXEiLCJub3RFcXVhbCIsInNpemUiLCJjbG9uZUl0ZXJhdG9yIiwiaGFzQnl0ZUxlbmd0aCIsImhhc0VxdWFsIiwiaGFzTGVuZ3RoIiwiaGFzU2l6ZSIsImlzTm90IiwiaXNQcmltaXRpdmUiLCJpbmRleE9mIiwiYSIsImIiLCJPYmplY3QiLCJpcyIsIngiLCJpc0Jvb2xlYW4iLCJpc051bWJlciIsImlzU3RyaW5nIiwiZ2VuZXJpYyIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsImRlZmF1bHQiLCJpc0FueSIsImlzVHlwZWRBcnJheSIsImkiLCJqIiwicmVmIiwibGVuZ3RoIiwiaXNBcnJheUJ1ZmZlciIsImJ5dGVMZW5ndGgiLCJVaW50OEFycmF5IiwiaXNEYXRhVmlldyIsImJ5dGVPZmZzZXQiLCJidWZmZXIiLCJpc0J1ZmZlciIsImVxdWFscyIsImlzRGF0ZSIsImdldFRpbWUiLCJpc1JlZ0V4cCIsInRvU3RyaW5nIiwiaXNFcnJvciIsIm1lc3NhZ2UiLCJpc1N5bWJvbCIsInZhbHVlT2YiLCJpc01hcCIsImtleSIsInZhbHVlIiwieSIsImdldCIsImlzU2V0IiwiaGFzIiwiaXNBcnJheSIsImlzT2JqZWN0IiwiYWtleXMiLCJia2V5cyIsImsiLCJsZW4iLCJrZXlzIiwiY2FsbCIsImN1cnJ5IiwiYmluYXJ5IiwibmVnYXRlIiwiZW50aXR5IiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsImFueSIsImlzVW5kZWZpbmVkIiwiaWRlbnRpdHkiLCJvcmlnaW5hbCIsImNvcHkiLCJzZXQiLCJCdWZmZXIiLCJmcm9tIiwiYWRkIiwiZW50cnkiLCJwdXNoIiwiZmxhZ3MiLCJzb3VyY2UiLCJleGVjIiwibGFzdEluZGV4IiwiaXNGdW5jdGlvbiIsImlzV2Vha01hcCIsIlR5cGVFcnJvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUE0TUVBLEtBTEY7ZUFLRUE7O0lBRkFDLEVBSEY7ZUFHRUE7O0lBRkFDLEtBREY7ZUFDRUE7O0lBTUFDLE9BUEY7ZUFPRUE7O0lBSEFDLEdBSkY7ZUFJRUE7O0lBRkFDLFFBRkY7ZUFFRUE7O0lBSUFDLElBTkY7ZUFNRUE7OzswQkE3TUY7MkJBQ0E7eUJBQ0E7c0JBRUE7QUFKQSxJQUFBTixPQUFBTyxlQUFBTixJQUFBQyxPQUFBTSxlQUFBQyxVQUFBQyxXQUFBQyxTQUFBUixTQUFBUyxPQUFBQyxhQUFBVCxLQUFBQyxVQUFBQyxNQUFBUSxVQUFBLEVBQUEsQ0FBQUEsT0FBQTtBQWFBTCxXQUFXLENBQUNNO1dBQU0sQUFBQUEsQ0FBQUEsS0FBQSxPQUFBQSxFQUFBYixLQUFBLEdBQUEsS0FBQSxDQUFBLEtBQUE7QUFBUDtBQUNYVSxRQUFRLFNBQUNHLENBQUQsRUFBSUMsQ0FBSjtXQUFVLENBQUNDLE9BQU9DLEVBQVAsQ0FBVUgsR0FBR0M7QUFBeEI7QUFDUkgsY0FBYyxTQUFDTSxDQUFEO1dBQU8sQUFBQ0MsSUFBQUEsZUFBQSxFQUFVRCxNQUFPRSxJQUFBQSxjQUFBLEVBQVNGLE1BQU9HLElBQUFBLGNBQUEsRUFBU0g7QUFBbEQ7QUFFZGpCLFFBQVFxQixJQUFBQSxnQkFBQSxFQUNOO0lBQUFDLE1BQU07SUFDTkMsYUFBYTtJQUViQyxTQUFTLFNBQUNYLENBQUQsRUFBSUMsQ0FBSjtlQUFVQyxPQUFPQyxFQUFQLENBQVVILEdBQUdDO0lBQXZCO0FBSFQ7QUFLRk8sSUFBQUEsZ0JBQUEsRUFBUXJCLE9BQU95QixXQUFmLEVBQXNCbEIsVUFBVSxTQUFDTSxDQUFELEVBQUlDLENBQUo7V0FDOUJBLEVBQUVkLEtBQUYsQ0FBUWE7QUFEc0I7QUFHaENRLElBQUFBLGdCQUFBLEVBQVFyQixPQUFPTyxVQUFVa0IsV0FBekIsRUFBZ0MsU0FBQ1osQ0FBRCxFQUFJQyxDQUFKO1dBQzlCRCxFQUFFYixLQUFGLENBQVFjO0FBRHNCO0FBR2hDTyxJQUFBQSxnQkFBQSxFQUFRckIsT0FBTzBCLGtCQUFmLEVBQTZCQSxrQkFBN0IsRUFBMkMsU0FBQ2IsQ0FBRCxFQUFJQyxDQUFKO0lBQzNDLElBQUFhLEdBQUFDLEdBQUFDO0lBQUUsSUFBRyxBQUFDbkIsTUFBTUcsRUFBRWlCLE1BQVIsRUFBZ0JoQixFQUFFZ0IsTUFBbEIsS0FBOEJwQixNQUFNRyxFQUFFUyxJQUFSLEVBQWNSLEVBQUVRLElBQWhCLEdBQWxDO1FBQ0UsT0FBTzs7SUFDVCxJQUFTSyxJQUFBQyxJQUFBLEdBQUFDLE1BQUFoQixFQUFBaUIsTUFBQSxFQUFBLEtBQUFELE1BQUFELEtBQUFDLE1BQUFELEtBQUFDLEtBQUFGLElBQUEsS0FBQUUsTUFBQSxFQUFBRCxJQUFBLEVBQUFBLEVBQVQ7UUFDRSxJQUFHbEIsTUFBTUcsQ0FBQyxDQUFDYyxFQUFSLEVBQVliLENBQUMsQ0FBQ2EsRUFBZCxHQUFIO1lBQ0UsT0FBTzs7SUFGWDtXQUdBO0FBTnlDO0FBUTNDTixJQUFBQSxnQkFBQSxFQUFRckIsT0FBTytCLG1CQUFmLEVBQThCQSxtQkFBOUIsRUFBNkMsU0FBQ2xCLENBQUQsRUFBSUMsQ0FBSjtJQUMzQyxJQUFHSixNQUFNRyxFQUFFbUIsVUFBUixFQUFvQmxCLEVBQUVrQixVQUF0QixHQUFIO1FBQ0UsT0FBTzs7V0FDVGhDLE1BQU8sSUFBSWlDLFdBQVdwQixJQUFLLElBQUlvQixXQUFXbkI7QUFIQztBQUs3Q08sSUFBQUEsZ0JBQUEsRUFBUXJCLE9BQU9rQyxnQkFBZixFQUEyQkEsZ0JBQTNCLEVBQXVDLFNBQUNyQixDQUFELEVBQUlDLENBQUo7SUFDckMsSUFBRyxBQUFDSixNQUFNRyxFQUFFbUIsVUFBUixFQUFvQmxCLEVBQUVrQixVQUF0QixLQUFzQ3RCLE1BQU1HLEVBQUVzQixVQUFSLEVBQW9CckIsRUFBRXFCLFVBQXRCLEdBQTFDO1FBQ0UsT0FBTzs7V0FDVG5DLE1BQU1hLEVBQUV1QixNQUFSLEVBQWdCdEIsRUFBRXNCLE1BQWxCO0FBSHFDO0FBS3ZDZixJQUFBQSxnQkFBQSxFQUFRckIsT0FBT3FDLGNBQWYsRUFBeUJBLGNBQXpCLEVBQW1DLFNBQUN4QixDQUFELEVBQUlDLENBQUo7V0FDakNELEVBQUV5QixNQUFGLENBQVN4QjtBQUR3QjtBQUduQ08sSUFBQUEsZ0JBQUEsRUFBUXJCLE9BQU91QyxZQUFmLEVBQXVCQSxZQUF2QixFQUErQixTQUFDMUIsQ0FBRCxFQUFJQyxDQUFKO1dBQzdCQyxPQUFPQyxFQUFQLENBQVVILEVBQUUyQixPQUFGLElBQWExQixFQUFFMEIsT0FBRjtBQURNO0FBRy9CbkIsSUFBQUEsZ0JBQUEsRUFBUXJCLE9BQU95QyxjQUFmLEVBQXlCQSxjQUF6QixFQUFtQyxTQUFDNUIsQ0FBRCxFQUFJQyxDQUFKO1dBQ2pDQyxPQUFPQyxFQUFQLENBQVVILEVBQUU2QixRQUFGLElBQWM1QixFQUFFNEIsUUFBRjtBQURTO0FBR25DckIsSUFBQUEsZ0JBQUEsRUFBUXJCLE9BQU8yQyxhQUFmLEVBQXdCQSxhQUF4QixFQUFpQyxTQUFDOUIsQ0FBRCxFQUFJQyxDQUFKO1dBQy9CLEFBQUNkLE1BQU1hLEVBQUVTLElBQVIsRUFBY1IsRUFBRVEsSUFBaEIsS0FBMEJ0QixNQUFNYSxFQUFFK0IsT0FBUixFQUFpQjlCLEVBQUU4QixPQUFuQjtBQURJO0FBR2pDdkIsSUFBQUEsZ0JBQUEsRUFBUXJCLE9BQU82QyxjQUFmLEVBQXlCQSxjQUF6QixFQUFtQyxTQUFDaEMsQ0FBRCxFQUFJQyxDQUFKO1dBQ2pDQyxPQUFPQyxFQUFQLENBQVVILEVBQUVpQyxPQUFGLElBQWFoQyxFQUFFZ0MsT0FBRjtBQURVO0FBR25DekIsSUFBQUEsZ0JBQUEsRUFBUXJCLE9BQU8rQyxXQUFmLEVBQXNCQSxXQUF0QixFQUE2QixTQUFDbEMsQ0FBRCxFQUFJQyxDQUFKO0lBQzdCLElBQUFrQyxLQUFBQyxPQUFBQztJQUFFLElBQUd4QyxNQUFNRyxFQUFFVCxJQUFSLEVBQWNVLEVBQUVWLElBQWhCLEdBQUg7UUFDRSxPQUFPOztJQUNULEtBQUE4QyxLQUFBckMsRUFBQTtRQUFJLENBQUNtQyxLQUFLQyxNQUFOLEdBQUFDO1FBQ0YsSUFBRyxDQUFFbEQsTUFBTWlELE9BQVFuQyxFQUFFcUMsR0FBRixDQUFNSCxPQUF6QjtZQUNFLE9BQU87O0lBRlg7V0FHQTtBQU4yQjtBQVE3QjNCLElBQUFBLGdCQUFBLEVBQVFyQixPQUFPb0QsV0FBZixFQUFzQkEsV0FBdEIsRUFBNkIsU0FBQ3ZDLENBQUQsRUFBSUMsQ0FBSjtJQUM3QixJQUFBbUM7SUFBRSxJQUFHdkMsTUFBTUcsRUFBRVQsSUFBUixFQUFjVSxFQUFFVixJQUFoQixHQUFIO1FBQ0UsT0FBTzs7SUFDVCxLQUFBNkMsU0FBQXBDLEVBQUE7UUFDRSxJQUFHLENBQUVDLEVBQUV1QyxHQUFGLENBQU1KLFFBQVg7WUFDRSxPQUFPOztJQUZYO1dBR0E7QUFOMkI7QUFRN0I1QixJQUFBQSxnQkFBQSxFQUFRckIsT0FBT3NELGFBQWYsRUFBd0JBLGFBQXhCLEVBQWlDLFNBQUN6QyxDQUFELEVBQUlDLENBQUo7SUFDakMsSUFBQWEsR0FBQUMsR0FBQUM7SUFBRSxJQUFHbkIsTUFBTUcsRUFBRWlCLE1BQVIsRUFBZ0JoQixFQUFFZ0IsTUFBbEIsR0FBSDtRQUNFLE9BQU87O0lBQ1QsSUFBU0gsSUFBQUMsSUFBQSxHQUFBQyxNQUFBaEIsRUFBQWlCLE1BQUEsRUFBQSxLQUFBRCxNQUFBRCxLQUFBQyxNQUFBRCxLQUFBQyxLQUFBRixJQUFBLEtBQUFFLE1BQUEsRUFBQUQsSUFBQSxFQUFBQSxFQUFUO1FBQ0UsSUFBRyxDQUFFNUIsTUFBTWEsQ0FBQyxDQUFDYyxFQUFSLEVBQVliLENBQUMsQ0FBQ2EsRUFBZCxHQUFMO1lBQ0UsT0FBTzs7SUFGWDtXQUdBO0FBTitCO0FBUWpDTixJQUFBQSxnQkFBQSxFQUFRckIsT0FBT3VELGNBQWYsRUFBeUJBLGNBQXpCLEVBQW1DLFNBQUMxQyxDQUFELEVBQUlDLENBQUo7SUFDbkMsSUFBQTBDLE9BQUFDLE9BQUE3QixHQUFBOEIsR0FBQUM7SUFBRSxJQUFlNUMsT0FBT0MsRUFBUCxDQUFVSCxHQUFHQyxJQUE1QjtRQUFBLE9BQU87O0lBQ1AwQyxRQUFRekMsT0FBTzZDLElBQVAsQ0FBWS9DO0lBQ3BCNEMsUUFBUTFDLE9BQU82QyxJQUFQLENBQVk5QztJQUNwQixJQUFnQkosTUFBTThDLE1BQU0xQixNQUFaLEVBQW9CMkIsTUFBTTNCLE1BQTFCLEdBQWhCO1FBQUEsT0FBTzs7SUFDUCxJQUFBRixJQUFBLEdBQUErQixNQUFBSCxNQUFBMUIsTUFBQSxFQUFBRixJQUFBK0IsS0FBQS9CLElBQUE7O1lBQW9CLENBQUNoQixDQUFBQSxRQUFBaUQsSUFBQSxDQUFNSixPQUFMQyxNQUFBLEtBQWMxRCxNQUFNYSxDQUFDLENBQUM2QyxFQUFSLEVBQVk1QyxDQUFDLENBQUM0QyxFQUFkLENBQUEsR0FBZjtZQUNuQixPQUFPOztJQURUO1dBRUE7QUFQaUM7QUFTbkNyQyxJQUFBQSxnQkFBQSxFQUFRckIsT0FBT1csYUFBYUEsYUFBYSxTQUFDRSxDQUFELEVBQUlDLENBQUo7V0FDdkNDLE9BQU9DLEVBQVAsQ0FBVUgsR0FBR0M7QUFEMEI7QUFHekNkLFFBQVE4RCxJQUFBQSxlQUFBLEVBQU1DLElBQUFBLGdCQUFBLEVBQU8vRDtBQUVyQkcsV0FBVzJELElBQUFBLGVBQUEsRUFBTUUsSUFBQUEsaUJBQUEsRUFBT2hFO0FBRXhCRCxLQUFLK0QsSUFBQUEsZUFBQSxFQUFNLFNBQUNqRCxDQUFELEVBQUlDLENBQUo7V0FBVUMsT0FBT0MsRUFBUCxDQUFVSCxHQUFHQztBQUF2QjtBQUVYWixNQUFNNEQsSUFBQUEsZUFBQSxFQUFNRSxJQUFBQSxpQkFBQSxFQUFPakU7QUFFbkJELFFBQVF1QixJQUFBQSxnQkFBQSxFQUNOO0lBQUFDLE1BQU07SUFDTkMsYUFBYTs7SUFFYkMsU0FBUyxTQUFDeUMsTUFBRDtRQUNYLElBQUFwQztRQUFJLE1BQU0sSUFBSXFDLE1BQU0sQ0FBQSwwQkFBQSxFQUFBRCxVQUFBLE9BQUEsQUFBQXBDLENBQUFBLE1BQUFvQyxPQUFBRSxXQUFBLEtBQUEsT0FBQXRDLElBQWtEUCxJQUFBLEdBQUEsS0FBQSxJQUFBLEtBQUEsRUFBbEQsQ0FBVjtJQURDO0FBSFQ7QUFNRlgsY0FBY3lELElBQUFBLGNBQUEsRUFBSTtJQUNoQkMsaUJBRGdCO0lBRWhCbEQsY0FGZ0I7SUFHaEJDLGNBSGdCO0lBSWhCRixlQUpnQjtDQUFKO0FBT2RHLElBQUFBLGdCQUFBLEVBQVF2QixPQUFPYSxhQUFhMkQsa0JBQTVCO0FBRUFqRCxJQUFBQSxnQkFBQSxFQUFRdkIsT0FBT3lELGNBQWYsRUFBeUIsU0FBQ2dCLFFBQUQ7SUFDekIsSUFBQUMsTUFBQXhCLEtBQUFDO0lBQUV1QixPQUFPLElBQUlELFNBQVNKLFdBQWI7SUFDUCxJQUFBbkIsT0FBQXVCLFNBQUE7O1FBQ0VDLElBQUksQ0FBQ3hCLElBQUwsR0FBWWxELE1BQU1tRDtJQURwQjtXQUVBdUI7QUFKdUI7QUFNekJuRCxJQUFBQSxnQkFBQSxFQUFRdkIsT0FBT2lDLG1CQUFmLEVBQThCLFNBQUN3QyxRQUFEO0lBQzlCLElBQUFDO0lBQUVBLE9BQU8sSUFBSUQsU0FBU0osV0FBYixDQUF5QkksU0FBU3ZDLFVBQWxDO0lBQ1AsSUFBSUMsV0FBV3VDLE1BQU1DLEdBQXJCLENBQXlCLElBQUl4QyxXQUFXc0M7V0FDeENDO0FBSDRCO0FBSzlCbkQsSUFBQUEsZ0JBQUEsRUFBUXZCLE9BQU80QixrQkFBZixFQUE2QixTQUFDNkMsUUFBRDtXQUMzQixJQUFJQSxTQUFTSixXQUFiLENBQTBCckUsTUFBTXlFLFNBQVNuQyxNQUFmLEdBQ3hCbUMsU0FBU3BDLFVBRFgsRUFDdUJvQyxTQUFTekMsTUFEaEM7QUFEMkI7QUFJN0JULElBQUFBLGdCQUFBLEVBQVF2QixPQUFPb0MsZ0JBQWYsRUFBMkIsU0FBQ3FDLFFBQUQ7V0FDekIsSUFBSUEsU0FBU0osV0FBYixDQUEwQnJFLE1BQU15RSxTQUFTbkMsTUFBZixHQUN4Qm1DLFNBQVNwQyxVQURYLEVBQ3VCb0MsU0FBU3ZDLFVBRGhDO0FBRHlCOzs7QUFNM0JYLElBQUFBLGdCQUFBLEVBQVF2QixPQUFPdUMsY0FBZixFQUF5QixTQUFDa0MsUUFBRDtXQUN2QkcsT0FBT0MsSUFBUCxDQUFZSjtBQURXO0FBR3pCbEUsZ0JBQWdCLFNBQUNrRSxRQUFELEVBQVdLLEdBQVg7SUFDaEIsSUFBQUosTUFBQUs7SUFBRUwsT0FBTyxJQUFJRCxTQUFTSixXQUFiO0lBQ1AsS0FBQVUsU0FBQU4sU0FBQTtRQUFBSyxJQUFJSixNQUFNSztJQUFWO1dBQ0FMO0FBSGM7QUFLaEJuRCxJQUFBQSxnQkFBQSxFQUFRdkIsT0FBT2lELFdBQWYsRUFBc0IsU0FBQ3dCLFFBQUQ7V0FDcEJsRSxjQUFja0UsVUFBVSxTQUFDQyxJQUFELEVBQU8sQ0FBQ3hCLEtBQUtDLE1BQWI7ZUFDdEJ1QixLQUFLQyxHQUFMLENBQVUzRSxNQUFNa0QsTUFBT2xELE1BQU1tRDtJQURQO0FBREo7QUFJdEI1QixJQUFBQSxnQkFBQSxFQUFRdkIsT0FBT3dELGFBQWYsRUFBd0IsU0FBQ2lCLFFBQUQ7V0FDdEJsRSxjQUFja0UsVUFBVSxTQUFDQyxJQUFELEVBQU9LLEtBQVA7ZUFBaUJMLEtBQUtNLElBQUwsQ0FBVWhGLE1BQU0rRTtJQUFqQztBQURGO0FBR3hCeEQsSUFBQUEsZ0JBQUEsRUFBUXZCLE9BQU9zRCxXQUFmLEVBQXNCLFNBQUNtQixRQUFEO1dBQ3BCbEUsY0FBY2tFLFVBQVUsU0FBQ0MsSUFBRCxFQUFPSyxLQUFQO2VBQWlCTCxLQUFLSSxHQUFMLENBQVM5RSxNQUFNK0U7SUFBaEM7QUFESjtBQUd0QnhELElBQUFBLGdCQUFBLEVBQVF2QixPQUFPeUMsWUFBZixFQUF1QixTQUFDZ0MsUUFBRDtXQUNyQixJQUFJQSxTQUFTSixXQUFiLENBQXlCSTtBQURKO0FBR3ZCbEQsSUFBQUEsZ0JBQUEsRUFBUXZCLE9BQU8rQyxjQUFmLEVBQXlCLFNBQUMwQixRQUFEO1dBQ3ZCQSxTQUFTekIsT0FBVDtBQUR1QjtBQUd6QnpCLElBQUFBLGdCQUFBLEVBQVF2QixPQUFPMkMsY0FBZixFQUE0QixTQUFDc0MsS0FBRDtXQUMxQixTQUFDUixRQUFEO1FBQ0YsSUFBQUM7UUFBSUEsT0FBTyxJQUFJRCxTQUFTSixXQUFiLENBQXlCSSxTQUFTUyxNQUFsQyxFQUEyQ0QsTUFBTUUsSUFBTixDQUFXVjtRQUM3REMsS0FBS1UsU0FBTCxHQUFpQlgsU0FBU1csU0FBQTtlQUMxQlY7SUFIRjtBQUQwQixFQUFPO0FBTW5DbkQsSUFBQUEsZ0JBQUEsRUFBUXZCLE9BQU9xRixnQkFBZixFQUEyQixTQUFDWixRQUFEO0lBQ3pCLE1BQU0sSUFBSUwsTUFBTTtBQURTO0FBRzNCN0MsSUFBQUEsZ0JBQUEsRUFBUXZCLE9BQU9zRixlQUFmLEVBQTBCLFNBQUNiLFFBQUQ7SUFDeEIsTUFBTSxJQUFJTCxNQUFNO0FBRFE7QUFHMUI3QyxJQUFBQSxnQkFBQSxFQUFRdkIsT0FBTzZDLGFBQWYsRUFBd0IsU0FBQzRCLFFBQUQ7SUFDdEIsTUFBTSxJQUFJTCxNQUFNO0FBRE07QUFHeEI5RCxPQUFPaUIsSUFBQUEsZ0JBQUEsRUFDTDtJQUFBQyxNQUFNO0lBQ05DLGFBQWE7SUFDYkMsU0FBUyxTQUFDUCxDQUFEO1FBQ1AsTUFBTSxJQUFJb0UsVUFBVSxDQUFBLHlCQUFBLEVBQTRCcEUsRUFBRWtELFdBQTlCLENBQUEsQ0FBZDtJQURDO0FBRlQ7QUFLRjNELFlBQVksU0FBQ1MsQ0FBRDtXQUFPQSxFQUFBYSxNQUFBLElBQUE7QUFBUDtBQUNaeEIsZ0JBQWdCLFNBQUNXLENBQUQ7V0FBT0EsRUFBQWUsVUFBQSxJQUFBO0FBQVA7QUFDaEJ2QixVQUFVLFNBQUNRLENBQUQ7V0FBT0EsRUFBQWIsSUFBQSxJQUFBO0FBQVA7QUFFVmlCLElBQUFBLGdCQUFBLEVBQVFqQixNQUFNRSxlQUFlLFNBQUNXLENBQUQ7V0FBT0EsRUFBRWUsVUFBQTtBQUFUO0FBQzdCWCxJQUFBQSxnQkFBQSxFQUFRakIsTUFBTW1ELGNBQWQsRUFBd0IsU0FBQ3RDLENBQUQ7V0FBTyxBQUFDRixPQUFPNkMsSUFBUCxDQUFZM0MsR0FBR2EsTUFBQTtBQUF2QjtBQUN4QlQsSUFBQUEsZ0JBQUEsRUFBUWpCLE1BQU1LLFNBQVMsU0FBQ1EsQ0FBRDtXQUFPQSxFQUFFYixJQUFBO0FBQVQ7QUFDdkJpQixJQUFBQSxnQkFBQSxFQUFRakIsTUFBTUksV0FBVyxTQUFDUyxDQUFEO1dBQU9BLEVBQUVhLE1BQUE7QUFBVDtBQUV6QjdCLFVBQVUsU0FBQ2dCLENBQUQ7V0FBT0YsT0FBT0MsRUFBUCxDQUFXWixLQUFLYSxJQUFJO0FBQTNCIn0=
|