mnemonica 1.0.0 → 1.0.6
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/.ai/ONBOARDING.md +1 -1
- package/.ai/ask/AGENTS.md +15 -9
- package/.ai/async_init.md +2 -2
- package/.ai/rules-skill/contributing.md +1 -1
- package/.ai/rules-skill/define-patterns.md +8 -2
- package/.ai/rules-skill/ecosystem.md +4 -4
- package/.ai/rules-skill/instance-methods.md +48 -15
- package/.ai/rules-skill/type-system.md +12 -2
- package/AGENTS.md +6 -2
- package/CONTRIBUTING.md +61 -9
- package/FOR_HUMANS.md +149 -239
- package/README.md +75 -40
- package/SKILL.md +1 -1
- package/build/api/errors/exceptionConstructor.js +20 -12
- package/build/api/errors/index.js +9 -5
- package/build/api/errors/throwModificationError.js +15 -9
- package/build/api/index.js +35 -2
- package/build/api/types/InstanceCreator.js +5 -2
- package/build/api/types/Mnemosyne.d.ts +6 -6
- package/build/api/types/Mnemosyne.js +43 -120
- package/build/api/types/Props.js +5 -3
- package/build/api/types/TypeProxy.js +13 -9
- package/build/api/types/compileNewModificatorFunctionBody.js +14 -8
- package/build/api/types/index.js +56 -13
- package/build/api/utils/index.js +21 -12
- package/build/constants/index.js +11 -8
- package/build/descriptors/types/index.js +79 -26
- package/build/index.d.ts +4 -4
- package/build/index.js +62 -15
- package/build/types/index.d.ts +52 -31
- package/build/types/index.js +1 -1
- package/build/utils/clone.d.ts +1 -0
- package/build/utils/clone.js +11 -0
- package/build/utils/collectConstructors.js +5 -3
- package/build/utils/exception.d.ts +1 -0
- package/build/utils/exception.js +14 -0
- package/build/utils/extract.d.ts +2 -3
- package/build/utils/extract.js +3 -2
- package/build/utils/fork.d.ts +1 -0
- package/build/utils/fork.js +33 -0
- package/build/utils/index.d.ts +2 -3
- package/build/utils/index.js +21 -7
- package/build/utils/merge.d.ts +2 -1
- package/build/utils/merge.js +10 -6
- package/build/utils/parent.d.ts +1 -1
- package/build/utils/parent.js +3 -2
- package/build/utils/parse.d.ts +2 -12
- package/build/utils/parse.js +1 -1
- package/build/utils/pick.d.ts +4 -3
- package/build/utils/pick.js +4 -5
- package/build/utils/sibling.d.ts +1 -0
- package/build/utils/sibling.js +25 -0
- package/build/utils/toJSON.d.ts +1 -1
- package/build/utils/toJSON.js +3 -2
- package/docs/UTILS.md +184 -0
- package/docs/ai-learning-trajectory.md +1 -1
- package/docs/async-constructors.md +3 -1
- package/docs/empathy-in-ai.md +170 -0
- package/docs/hott-primer.md +47 -0
- package/docs/performance-vs-security.md +395 -0
- package/docs/purpose.md +38 -7
- package/docs/tactica-pattern.md +10 -10
- package/docs/theory-of-operations.md +224 -0
- package/docs/typed-lookup.md +12 -12
- package/docs/typeomatica.md +1 -1
- package/package.json +13 -6
- package/src/api/errors/exceptionConstructor.ts +14 -9
- package/src/api/errors/index.ts +8 -4
- package/src/api/errors/throwModificationError.ts +10 -9
- package/src/api/types/InstanceCreator.ts +5 -8
- package/src/api/types/Mnemosyne.ts +72 -231
- package/src/api/types/Props.ts +4 -2
- package/src/api/types/TypeProxy.ts +7 -11
- package/src/api/types/compileNewModificatorFunctionBody.ts +13 -7
- package/src/api/types/index.ts +15 -8
- package/src/api/utils/index.ts +16 -14
- package/src/constants/index.ts +6 -9
- package/src/descriptors/types/index.ts +44 -24
- package/src/index.ts +28 -21
- package/src/types/index.ts +101 -69
- package/src/utils/clone.ts +11 -0
- package/src/utils/collectConstructors.ts +4 -2
- package/src/utils/exception.ts +16 -0
- package/src/utils/extract.ts +5 -2
- package/src/utils/fork.ts +57 -0
- package/src/utils/index.ts +32 -13
- package/src/utils/merge.ts +18 -6
- package/src/utils/parent.ts +4 -6
- package/src/utils/parse.ts +5 -4
- package/src/utils/pick.ts +10 -2
- package/src/utils/sibling.ts +33 -0
- package/src/utils/toJSON.ts +3 -2
package/build/types/index.d.ts
CHANGED
|
@@ -64,10 +64,6 @@ export type constructorOptions = {
|
|
|
64
64
|
submitStack?: boolean;
|
|
65
65
|
awaitReturn?: boolean;
|
|
66
66
|
asClass?: boolean;
|
|
67
|
-
exposeInstanceMethods?: boolean;
|
|
68
|
-
};
|
|
69
|
-
export type HideInstanceMethodsOptions = constructorOptions & {
|
|
70
|
-
exposeInstanceMethods: true;
|
|
71
67
|
};
|
|
72
68
|
export type SubtypesMap = Map<string, TypeClass>;
|
|
73
69
|
export type TypeDef = {
|
|
@@ -130,21 +126,35 @@ export type ProtoFlat<P extends object, T extends object, L extends Exclude<keyo
|
|
|
130
126
|
} & {
|
|
131
127
|
[key in L]: P[key];
|
|
132
128
|
};
|
|
129
|
+
export type MnemonicaInstanceMethodKeys = 'extract' | 'pick' | 'parent' | 'clone' | 'fork' | 'exception' | 'sibling';
|
|
133
130
|
export type Flatten<F> = {
|
|
134
131
|
[key in keyof F]: F[key];
|
|
135
132
|
};
|
|
133
|
+
export type Extracted<T extends object> = {
|
|
134
|
+
[K in keyof T as K extends string ? (K extends MnemonicaInstanceMethodKeys ? never : K) : never]: T[K];
|
|
135
|
+
} & {};
|
|
136
|
+
export type Parsed<T extends object> = {
|
|
137
|
+
name: string;
|
|
138
|
+
props: Extracted<T>;
|
|
139
|
+
self: T;
|
|
140
|
+
proto: object;
|
|
141
|
+
joint: Record<string, unknown>;
|
|
142
|
+
parent: object | undefined;
|
|
143
|
+
};
|
|
136
144
|
export interface SiblingAccessor {
|
|
137
145
|
(SiblingTypeName: string): TypeClass | undefined;
|
|
138
146
|
[key: string]: TypeClass | undefined;
|
|
139
147
|
}
|
|
140
|
-
export interface MnemonicaInstance {
|
|
141
|
-
extract():
|
|
148
|
+
export interface MnemonicaInstance<T extends object = object> {
|
|
149
|
+
extract(): Extracted<T>;
|
|
150
|
+
pick<K extends keyof T>(...keys: (K | K[])[]): {
|
|
151
|
+
[P in K]: T[P];
|
|
152
|
+
} & {};
|
|
142
153
|
pick(...keys: string[]): Record<string, unknown>;
|
|
143
|
-
pick(keys: string[]): Record<string, unknown>;
|
|
144
154
|
parent(): object | undefined;
|
|
145
155
|
parent(constructorLookupPath: string): object | undefined;
|
|
146
|
-
readonly clone:
|
|
147
|
-
fork(...forkArgs: unknown[]):
|
|
156
|
+
readonly clone: this;
|
|
157
|
+
fork(...forkArgs: unknown[]): this;
|
|
148
158
|
exception(error: Error, ...args: unknown[]): Error;
|
|
149
159
|
readonly sibling: SiblingAccessor;
|
|
150
160
|
}
|
|
@@ -160,19 +170,18 @@ export type InstanceInternalProps = {
|
|
|
160
170
|
__timestamp__: number;
|
|
161
171
|
};
|
|
162
172
|
export type Props = InstanceInternalProps & {
|
|
163
|
-
__self__: InstanceInternalProps
|
|
173
|
+
__self__: InstanceInternalProps;
|
|
164
174
|
[key: string]: unknown;
|
|
165
175
|
};
|
|
166
|
-
export type
|
|
167
|
-
|
|
168
|
-
}
|
|
169
|
-
export
|
|
170
|
-
export interface IDefinitorInstance<N extends object, Config extends constructorOptions = constructorOptions, R extends InstanceResult<N, Config> = InstanceResult<N, Config>> {
|
|
176
|
+
export type InstanceResult<N extends object> = {
|
|
177
|
+
[K in keyof N]: N[K];
|
|
178
|
+
};
|
|
179
|
+
export interface IDefinitorInstance<N extends object, R extends InstanceResult<N> = InstanceResult<N>> {
|
|
171
180
|
TypeName: string;
|
|
172
181
|
prototype: N;
|
|
173
182
|
new (...args: unknown[]): R;
|
|
174
|
-
(...args: unknown[]): IDefinitorInstance<R
|
|
175
|
-
define<T extends object, F extends Proto<N, T>>(TypeOrTypeName: string | CallableFunction, constructHandlerOrConfig?: IDEF<T> | object | boolean | CallableFunction, configOrUndefined?: constructorOptions | CallableFunction | boolean): IDefinitorInstance<F
|
|
183
|
+
(...args: unknown[]): IDefinitorInstance<R>;
|
|
184
|
+
define<T extends object, F extends Proto<N, T>>(TypeOrTypeName: string | CallableFunction, constructHandlerOrConfig?: IDEF<T> | object | boolean | CallableFunction, configOrUndefined?: constructorOptions | CallableFunction | boolean): IDefinitorInstance<F>;
|
|
176
185
|
lookup: TypeLookup;
|
|
177
186
|
registerHook(hookType: hooksTypes, cb: hook): void;
|
|
178
187
|
subtypes: SubtypesMap;
|
|
@@ -180,8 +189,7 @@ export interface IDefinitorInstance<N extends object, Config extends constructor
|
|
|
180
189
|
collection?: CollectionDef;
|
|
181
190
|
}
|
|
182
191
|
export interface TypeAbsorber extends CallableFunction {
|
|
183
|
-
<T extends object>(this: unknown, TypeOrTypeName: string | CallableFunction, constructHandlerOrConfig
|
|
184
|
-
<T extends object>(this: unknown, TypeOrTypeName: string | CallableFunction, constructHandlerOrConfig?: IDEF<T> | object | boolean | CallableFunction, configOrUndefined?: constructorOptions | CallableFunction | boolean): IDefinitorInstance<T, constructorOptions>;
|
|
192
|
+
<T extends object>(this: unknown, TypeOrTypeName: string | CallableFunction, constructHandlerOrConfig?: IDEF<T> | object | boolean | CallableFunction, configOrUndefined?: constructorOptions | CallableFunction | boolean): IDefinitorInstance<T>;
|
|
185
193
|
}
|
|
186
194
|
export interface TypesCollection extends Hookable {
|
|
187
195
|
define: TypeAbsorber;
|
|
@@ -221,17 +229,32 @@ export type DecoratedClass<T extends Constructor<object>> = T & (<U extends Cons
|
|
|
221
229
|
lookup: TypeLookup;
|
|
222
230
|
TypeName: string;
|
|
223
231
|
};
|
|
224
|
-
export type
|
|
225
|
-
|
|
226
|
-
|
|
232
|
+
export type Merge<E extends object, T extends object> = {
|
|
233
|
+
[K in keyof T | keyof E as K extends MnemonicaInstanceMethodKeys ? never : K]: K extends keyof T ? T[K] : E[K & keyof E];
|
|
234
|
+
};
|
|
235
|
+
export interface ApplyFunction extends CallableFunction {
|
|
236
|
+
<E extends object, T extends object>(entity: E, Constructor: IDEF<T>, args?: unknown[]): InstanceResult<Merge<E, T>>;
|
|
237
|
+
}
|
|
238
|
+
export interface CallFunction extends CallableFunction {
|
|
239
|
+
<E extends object, T extends object>(entity: E, Constructor: IDEF<T>, ...args: unknown[]): InstanceResult<Merge<E, T>>;
|
|
240
|
+
}
|
|
241
|
+
export interface BindFunction extends CallableFunction {
|
|
242
|
+
<E extends object, T extends object>(entity: E, Constructor: IDEF<T>): (...args: unknown[]) => InstanceResult<Merge<E, T>>;
|
|
243
|
+
}
|
|
227
244
|
export interface UtilsCollection {
|
|
228
|
-
extract
|
|
229
|
-
pick
|
|
245
|
+
extract<T extends object>(instance: T): Extracted<T>;
|
|
246
|
+
pick<T extends object, K extends keyof T>(instance: T, ...args: (K | K[])[]): {
|
|
247
|
+
[P in K]: T[P];
|
|
248
|
+
} & {};
|
|
249
|
+
pick<T extends object>(instance: T, ...args: (string | string[])[]): Record<string, unknown>;
|
|
250
|
+
clone<T extends object>(instance: T): T;
|
|
251
|
+
fork<T extends object>(instance: T): (this: object, ...forkArgs: unknown[]) => T;
|
|
252
|
+
sibling(instance: object): SiblingAccessor;
|
|
230
253
|
collectConstructors: (instance: object, flat?: boolean) => (CallableFunction | string)[];
|
|
231
|
-
merge:
|
|
232
|
-
parse
|
|
233
|
-
parent
|
|
234
|
-
toJSON
|
|
254
|
+
merge<A extends object, B extends object>(a: A, b: B, ...args: unknown[]): InstanceResult<Merge<B, A>>;
|
|
255
|
+
parse<T extends object>(self: T): Parsed<T>;
|
|
256
|
+
parent<T extends object>(instance: T, path?: string): object | undefined;
|
|
257
|
+
toJSON<T extends object>(instance: T): string;
|
|
235
258
|
[key: string]: CallableFunction;
|
|
236
259
|
}
|
|
237
260
|
export interface MnemonicaModule {
|
|
@@ -240,7 +263,7 @@ export interface MnemonicaModule {
|
|
|
240
263
|
apply: ApplyFunction;
|
|
241
264
|
call: CallFunction;
|
|
242
265
|
bind: BindFunction;
|
|
243
|
-
decorate: <
|
|
266
|
+
decorate: <T extends Constructor<object> | constructorOptions | undefined = undefined>(target?: T, config?: constructorOptions) => <U extends Constructor<object>>(cstr: U) => DecoratedClass<U>;
|
|
244
267
|
registerHook: <T extends object>(Constructor: IDEF<T>, hookType: hooksTypes, cb: hook) => void;
|
|
245
268
|
defaultTypes: TypesCollection;
|
|
246
269
|
BASE_MNEMONICA_ERROR: MnemonicaErrorConstructor;
|
|
@@ -258,12 +281,10 @@ export interface MnemonicaModule {
|
|
|
258
281
|
WRONG_STACK_CLEANER: MnemonicaErrorConstructor;
|
|
259
282
|
MNEMONICA: string;
|
|
260
283
|
MNEMOSYNE: string;
|
|
261
|
-
URANUS: string;
|
|
262
284
|
SymbolParentType: symbol;
|
|
263
285
|
SymbolConstructorName: symbol;
|
|
264
286
|
SymbolDefaultTypesCollection: symbol;
|
|
265
287
|
SymbolConfig: symbol;
|
|
266
|
-
SymbolGaia: symbol;
|
|
267
288
|
TYPE_TITLE_PREFIX: string;
|
|
268
289
|
ErrorMessages: ErrorMessages;
|
|
269
290
|
utils: UtilsCollection;
|
package/build/types/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuLyogZXNsaW50IG5vLXVudXNlZC12YXJzOiBcIm9mZlwiICovXG5cbi8vIFByb3BzIHR5cGUgZm9yIGdldFByb3BzL3NldFByb3BzXG5leHBvcnQgdHlwZSBQcm9wc1R5cGUgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuLy8gQ29yZSB0eXBlIGRlZmluaXRpb25zIGZvciBtbmVtb25pY2FcblxuLy8gQmFzZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB0eXBlIC0gY2FuIGJlIGEgY2xhc3MgY29uc3RydWN0b3Igb3IgYSBmdW5jdGlvbi5cbi8vIEFyZ3MgZGVmYXVsdHMgdG8gdW5rbm93bltdIHNvIElERUY8VD4gaXMgYmFja3dhcmRzIGNvbXBhdGlibGU7XG4vLyBzdXBwbHkgQXJncyB0byBnZXQgdHlwZWQgY29uc3RydWN0b3IgcGFyYW1zOiBJREVGPE15VHlwZSwgW3N0cmluZywgbnVtYmVyXT5cbmV4cG9ydCB0eXBlIElERUY8VCwgQXJncyBleHRlbmRzIHVua25vd25bXSA9IHVua25vd25bXT4gPSB7IG5ldygpOiBUIH0gfCB7ICh0aGlzOiBULCAuLi5hcmdzOiBBcmdzKTogdm9pZCB9O1xuXG4vLyBFcnJvciBtZXNzYWdlIHR5cGVzIC0gYWxsIGVycm9yIG1lc3NhZ2VzIGFyZSBzdHJpbmdzXG5leHBvcnQgdHlwZSBFcnJvck1lc3NhZ2VLZXkgPVxuXHR8ICdCQVNFX0VSUk9SX01FU1NBR0UnXG5cdHwgJ0hBTkRMRVJfTVVTVF9CRV9BX0ZVTkNUSU9OJ1xuXHR8ICdXUk9OR19UWVBFX0RFRklOSVRJT04nXG5cdHwgJ1dST05HX0lOU1RBTkNFX0lOVk9DQVRJT04nXG5cdHwgJ1dST05HX01PRElGSUNBVElPTl9QQVRURVJOJ1xuXHR8ICdBTFJFQURZX0RFQ0xBUkVEJ1xuXHR8ICdXUk9OR19BUkdVTUVOVFNfVVNFRCdcblx0fCAnV1JPTkdfSE9PS19UWVBFJ1xuXHR8ICdNSVNTSU5HX0hPT0tfQ0FMTEJBQ0snXG5cdHwgJ01JU1NJTkdfQ0FMTEJBQ0tfQVJHVU1FTlQnXG5cdHwgJ09QVElPTlNfRVJST1InXG5cdHwgJ1dST05HX1NUQUNLX0NMRUFORVInO1xuXHQvLyB8ICdUWVBFTkFNRV9NVVNUX0JFX0FfU1RSSU5HJ1xuXHQvLyB8ICdGTE9XX0NIRUNLRVJfUkVERUZJTklUSU9OJ1xuXG4vLyBFcnJvciBtZXNzYWdlcyBvYmplY3QgdHlwZVxuZXhwb3J0IHR5cGUgRXJyb3JNZXNzYWdlcyA9IFJlY29yZDxFcnJvck1lc3NhZ2VLZXksIHN0cmluZz47XG5cbi8vIEhvb2sgY2FsbGJhY2sg4oCUIHBhc3NlZCB0byByZWdpc3Rlckhvb2sgYW5kIGludm9rZWQgYnkgaW52b2tlSG9va1xuZXhwb3J0IGludGVyZmFjZSBob29rIGV4dGVuZHMgQ2FsbGFibGVGdW5jdGlvbiB7XG5cdChvcHRzOiBob29rc09wdHMpOiB1bmtub3duO1xufVxuXG4vLyBFcnJvciBjb25zdHJ1Y3RvciBmcm9tIGNvbnN0cnVjdEVycm9yIC0gY29uc3RydWN0YWJsZSBmdW5jdGlvbiB3aXRoIHByb3RvdHlwZVxuZXhwb3J0IGludGVyZmFjZSBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yIHtcblx0bmV3KGFkZGl0aW9uPzogc3RyaW5nLCBzdGFjaz86IHN0cmluZyB8IHN0cmluZ1tdKTogRXJyb3I7XG5cdChuYW1lOiBzdHJpbmcpOiBFcnJvcjtcblx0cHJvdG90eXBlOiB7XG5cdFx0Y29uc3RydWN0b3I6IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdH07XG59XG5cbi8vIEVycm9ycyB0eXBlcyBtYXAgLSBpbmRleGFibGUgcmVjb3JkIG9mIGVycm9yIGNvbnN0cnVjdG9yc1xuZXhwb3J0IHR5cGUgRXJyb3JzVHlwZXNNYXAgPSBSZWNvcmQ8c3RyaW5nLCBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yPjtcblxuLy8gTW5lbW9uaWNhIGVycm9yIGludGVyZmFjZSBmb3IgZXh0ZW5kZWQgRXJyb3Igb2JqZWN0c1xuZXhwb3J0IGludGVyZmFjZSBNbmVtb25pY2FFcnJvciBleHRlbmRzIEVycm9yIHtcblx0ZXhjZXB0aW9uUmVhc29uPzogRXJyb3I7XG5cdHJlYXNvbnM/OiBFcnJvcltdO1xuXHRzdXJwbHVzPzogRXJyb3JbXTtcbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBUeXBlIENvbnN0cnVjdG9yLlxuICogXCJUeXBlXCIgaGVyZSBpcyB1c2VkIGluIHRoZSBDb21wdXRlciBTY2llbmNlIHNlbnNlIOKAlCBhbiBpbnRlcmZhY2UvY29udHJhY3RcbiAqIGRlc2NyaWJpbmcgd2hhdCBhIGNvbnN0cnVjdG9yIG11c3Qgc2F0aXNmeSAoYm90aCBgbmV3YC1hYmxlIGFuZCBjYWxsYWJsZSkuXG4gKiBUQyA9IFR5cGUgQ29uc3RydWN0b3I7IFwiSW50ZXJuYWxcIiBtZWFucyB0aGlzIGlzIHRoZSBsaWJyYXJ5J3Mgb3duIGNvbnN0cnVjdG9yXG4gKiBzaGFwZSwgZGlzdGluY3QgZnJvbSB1c2VyLWZhY2luZyBUeXBlQ29uc3RydWN0b3IgYmVsb3cuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgX0ludGVybmFsX1RDXzxDb25zdHJ1Y3Rvckluc3RhbmNlIGV4dGVuZHMgb2JqZWN0PiB7XG5cdG5ldyguLi5hcmdzOiB1bmtub3duW10pOiBDb25zdHJ1Y3Rvckluc3RhbmNlO1xuXHQodGhpczogQ29uc3RydWN0b3JJbnN0YW5jZSwgLi4uYXJnczogdW5rbm93bltdKTogQ29uc3RydWN0b3JJbnN0YW5jZTtcblx0cmVhZG9ubHkgcHJvdG90eXBlOiBDb25zdHJ1Y3Rvckluc3RhbmNlICYge1xuXHRcdHJlYWRvbmx5IGNvbnN0cnVjdG9yOiBfSW50ZXJuYWxfVENfPENvbnN0cnVjdG9ySW5zdGFuY2U+XG5cdH07XG59XG5cbi8qKlxuICogUHVibGljIGFsaWFzIGZvciBfSW50ZXJuYWxfVENfIOKAlCB0aGUgc2hhcGUgb2YgY29uc3RydWN0b3IgZnVuY3Rpb25zIHJldHVybmVkIGJ5IGBkZWZpbmUoKWAuXG4gKiBBdWdtZW50ZWQgYnkgdGFjdGljYS1nZW5lcmF0ZWQgVHlwZVJlZ2lzdHJ5IHRvIGJlY29tZSB1c2VyLXNwZWNpZmljIHR5cGVzLlxuICogS2VwdCBhcyBhIG5hbWVkIGFsaWFzIChyYXRoZXIgdGhhbiBpbmxpbmluZyBfSW50ZXJuYWxfVENfKSBzbyB0YWN0aWNhIGNhbiByZWZlcmVuY2UgaXRcbiAqIGNsZWFubHkgaW4gZ2VuZXJhdGVkIGRlY2xhcmF0aW9uIGZpbGVzLlxuICovXG5leHBvcnQgdHlwZSBUeXBlQ29uc3RydWN0b3I8Q29uc3RydWN0b3JJbnN0YW5jZSBleHRlbmRzIG9iamVjdD4gPSBfSW50ZXJuYWxfVENfPENvbnN0cnVjdG9ySW5zdGFuY2U+O1xuXG4vLyBIb29rIHR5cGVzXG5leHBvcnQgdHlwZSBob29rc1R5cGVzID0gJ3ByZUNyZWF0aW9uJyB8ICdwb3N0Q3JlYXRpb24nIHwgJ2NyZWF0aW9uRXJyb3InO1xuXG4vLyBIb29rIG9wdGlvbnMgcGFzc2VkIHRvIGhvb2sgY2FsbGJhY2tzXG4vLyBQID0gcGFyZW50IC8gZXhpc3RlbnQgaW5zdGFuY2UgKHByb3RvKVxuLy8gVCA9IGNoaWxkIC8gaW5oZXJpdGVkIGluc3RhbmNlICh0eXBlIGJlaW5nIGNyZWF0ZWQpXG5leHBvcnQgdHlwZSBob29rc09wdHM8UCA9IG9iamVjdCwgVCA9IFA+ID0ge1xuXHRUeXBlTmFtZTogc3RyaW5nO1xuXHR0eXBlOiBUeXBlRGVmO1xuXHRhcmdzOiB1bmtub3duW107XG5cdGV4aXN0ZW50SW5zdGFuY2U6IFA7XG5cdGluaGVyaXRlZEluc3RhbmNlPzogVDtcblx0Y3JlYXRvcj86IHsgdGhyb3dNb2RpZmljYXRpb25FcnJvcihlcnJvcjogRXJyb3IpOiB2b2lkIH07XG59O1xuXG4vLyBDYWxsYmFjayBwYXNzZWQgaW50byBNb2RpZmljYXRpb25Db25zdHJ1Y3RvciB0byBhdHRhY2ggaW50ZXJuYWwgcHJvcHMgdG8gdGhlIHByb3RvdHlwZVxuZXhwb3J0IGludGVyZmFjZSBBZGRQcm9wc0NhbGxiYWNrIGV4dGVuZHMgQ2FsbGFibGVGdW5jdGlvbiB7XG5cdChwcm90bzogb2JqZWN0KTogdm9pZDtcbn1cblxuLy8gTW9kaWZpY2F0aW9uQ29uc3RydWN0b3I6IHdpcmVzIHByb3RvdHlwZSBjaGFpbiBkdXJpbmcgaW5zdGFuY2UgY3JlYXRpb25cbmV4cG9ydCBpbnRlcmZhY2UgTW9kaWZpY2F0aW9uQ29uc3RydWN0b3IgZXh0ZW5kcyBDYWxsYWJsZUZ1bmN0aW9uIHtcblx0KFxuXHRcdHRoaXM6IG9iamVjdCxcblx0XHRNb2RpZmljYXRvclR5cGU6IE1uZW1vbmljYUNvbnN0cnVjdG9yLFxuXHRcdE1vZGlmaWNhdG9yVHlwZVByb3RvdHlwZTogb2JqZWN0LFxuXHRcdF9hZGRQcm9wczogQWRkUHJvcHNDYWxsYmFja1xuXHQpOiBNbmVtb25pY2FDb25zdHJ1Y3Rvcjtcbn1cblxuLy8gRmFjdG9yeSB0aGF0IHJldHVybnMgYSBNb2RpZmljYXRpb25Db25zdHJ1Y3RvciAodXNlZCBpbiBjb25zdHJ1Y3Rvck9wdGlvbnMpXG5leHBvcnQgaW50ZXJmYWNlIE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yRmFjdG9yeSBleHRlbmRzIENhbGxhYmxlRnVuY3Rpb24ge1xuXHQoKTogTW9kaWZpY2F0aW9uQ29uc3RydWN0b3I7XG59XG5cbi8vIEZhY3RvcnkgdGhhdCByZXR1cm5zIGEgTW5lbW9uaWNhQ29uc3RydWN0b3IgKHN0b3JlZCBpbiBUeXBlRGVmLmNvbnN0cnVjdEhhbmRsZXIpXG5leHBvcnQgaW50ZXJmYWNlIE1uZW1vbmljYUNvbnN0cnVjdG9yRmFjdG9yeSBleHRlbmRzIENhbGxhYmxlRnVuY3Rpb24ge1xuXHQoKTogTW5lbW9uaWNhQ29uc3RydWN0b3I7XG59XG5cbi8vIE1hcmtzIHRoZSB0b3Agb2YgYSBjYXB0dXJlZCBzdGFjayB0cmFjZSAocGFzc2VkIHRvIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlIGFzIGNvbnN0cnVjdG9yT3B0KVxuZXhwb3J0IGludGVyZmFjZSBTdGFja0JvdW5kYXJ5IGV4dGVuZHMgQ2FsbGFibGVGdW5jdGlvbiB7fVxuXG4vLyBBIHdyYXBwYWJsZSB1dGlsaXR5IG1ldGhvZCDigJQgYW55IGNhbGxhYmxlIHRoYXQgd3JhcFRoaXMoKSBjYW4gcHJveHlcbmV4cG9ydCBpbnRlcmZhY2UgV3JhcHBhYmxlTWV0aG9kIGV4dGVuZHMgQ2FsbGFibGVGdW5jdGlvbiB7fVxuXG4vLyBDb25zdHJ1Y3RvciBvcHRpb25zIGZvciBkZWZpbmUgLSBkZWZhdWx0IChleHBvc2VJbnN0YW5jZU1ldGhvZHMgZGVmYXVsdHMgdG8gdHJ1ZSBiZWhhdmlvcilcbmV4cG9ydCB0eXBlIGNvbnN0cnVjdG9yT3B0aW9ucyA9IHtcblx0Ly8gZXhwbGljaXQgZGVjbGFyYXRpb24gd2Ugd2lzaCB1c2Vcblx0Ly8gYW4gb2xkIHN0eWxlIGJhc2VkIGNvbnN0cnVjdG9yc1xuXHRNb2RpZmljYXRpb25Db25zdHJ1Y3Rvcj86IE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yRmFjdG9yeSxcblx0Ly8gc2hhbGwgb3Igbm90IHdlIHVzZSBzdHJpY3QgY2hlY2tpbmdcblx0Ly8gZm9yIGNyZWF0aW9uIHN1Yi1pbnN0YW5jZXMgT25seSBmcm9tIGN1cnJlbnQgdHlwZVxuXHQvLyBvciB3ZSBtaWdodCB1c2UgdXAtbmVzdGVkIHN1Yi1pbnN0YW5jZXMgZnJvbSBjaGFpblxuXHRzdHJpY3RDaGFpbj86IGJvb2xlYW4sXG5cdC8vIHNob3VsZCB3ZSB1c2UgZm9yY2VkIGVycm9ycyBjaGVja2luZ1xuXHQvLyB0byBtYWtlIGFsbCBpbmhlcml0ZWQgdHlwZXMgZXJyb3JlZFxuXHQvLyBpZiB0aGVyZSBpcyBhbiBlcnJvciBzb21ld2hlcmUgaW4gY2hhaW5cblx0YmxvY2tFcnJvcnM/OiBib29sZWFuLFxuXHQvLyBpZiBpdCBpcyBuZWNlc3NhcnkgdG8gY29sbGVjdCBzdGFja1xuXHQvLyBhcyBhIF9fc3RhY2tfXyBwcm90b3R5cGUgcHJvcGVydHlcblx0Ly8gZHVyaW5nIHRoZSBwcm9jZXNzIG9mIGluc3RhbmNlIGNyZWF0aW9uXG5cdHN1Ym1pdFN0YWNrPzogYm9vbGVhbixcblx0Ly8gYXdhaXQgbmV3IENvbnN0cnVjdG9yKClcblx0Ly8gbXVzdCByZXR1cm4gdmFsdWVcblx0YXdhaXRSZXR1cm4/OiBib29sZWFuLFxuXHQvLyBGb3JjZSBjbGFzcyBtb2RlIChhdXRvLWRldGVjdGVkIGJ5IGRlZmF1bHQpXG5cdGFzQ2xhc3M/OiBib29sZWFuLFxuXHQvLyBFeHBvc2UgaW5zdGFuY2UgbWV0aG9kcyAoZXh0cmFjdCwgcGljaywgcGFyZW50LCBjbG9uZSwgZm9yaywgZXhjZXB0aW9uLCBzaWJsaW5nKVxuXHQvLyBvbiB0aGUgaW5zdGFuY2UgdHlwZS4gV2hlbiBmYWxzZSwgdGhlc2UgbWV0aG9kcyBhcmUgc3RpbGwgYXZhaWxhYmxlIG9uIHRoZSBwcm90b3R5cGVcblx0Ly8gYnV0IGhpZGRlbiBmcm9tIHRoZSB0eXBlIGRlZmluaXRpb24gdW5sZXNzIGV4cGxpY2l0bHkgZXhwb3NlZC5cblx0ZXhwb3NlSW5zdGFuY2VNZXRob2RzPzogYm9vbGVhbixcbn07XG5cbi8vIENvbnN0cnVjdG9yIG9wdGlvbnMgdGhhdCBleHBsaWNpdGx5IGhpZGUgaW5zdGFuY2UgbWV0aG9kc1xuZXhwb3J0IHR5cGUgSGlkZUluc3RhbmNlTWV0aG9kc09wdGlvbnMgPSBjb25zdHJ1Y3Rvck9wdGlvbnMgJiB7XG5cdGV4cG9zZUluc3RhbmNlTWV0aG9kczogdHJ1ZTtcbn07XG5cbi8vIFN1YnR5cGVzIG1hcCAtIHJlcHJlc2VudHMgdGhlIHN1YnR5cGVzIHByb3BlcnR5XG5leHBvcnQgdHlwZSBTdWJ0eXBlc01hcCA9IE1hcDxzdHJpbmcsIFR5cGVDbGFzcz47XG5cbi8vIFR5cGUgZGVmaW5pdGlvbiBvYmplY3QgKGludGVybmFsIHByb3BlcnRpZXMpXG5leHBvcnQgdHlwZSBUeXBlRGVmID0ge1xuXHRUeXBlTmFtZTogc3RyaW5nO1xuXHRwcm90bzogb2JqZWN0O1xuXHRpc1N1YlR5cGU6IGJvb2xlYW47XG5cdHN1YnR5cGVzOiBTdWJ0eXBlc01hcDtcblx0Y29sbGVjdGlvbjogQ29sbGVjdGlvbkRlZjtcblx0Y29uZmlnOiBjb25zdHJ1Y3Rvck9wdGlvbnM7XG5cdHBhcmVudFR5cGU/OiBUeXBlRGVmO1xuXHRjb25zdHJ1Y3RIYW5kbGVyOiBNbmVtb25pY2FDb25zdHJ1Y3RvckZhY3Rvcnk7XG5cdHRpdGxlOiBzdHJpbmc7XG5cdGhvb2tzOiBSZWNvcmQ8c3RyaW5nLCBTZXQ8aG9vaz4+O1xuXHRpbnZva2VIb29rOiAoaG9va1R5cGU6IGhvb2tzVHlwZXMsIG9wdHM6IGhvb2tzT3B0cykgPT4gU2V0PHVua25vd24+O1xuXHRwcm90b3R5cGU6IHVua25vd247XG5cdHN0YWNrPzogc3RyaW5nO1xuXHRbU3ltYm9sLmhhc0luc3RhbmNlXTogKGluc3RhbmNlOiBvYmplY3QpID0+IGJvb2xlYW47XG59O1xuXG4vLyBDb2xsZWN0aW9uIGRlZmluaXRpb25cbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25EZWYgPSBIb29rYWJsZSAmIHtcblx0ZGVmaW5lOiBUeXBlQWJzb3JiZXI7XG5cdGxvb2t1cDogVHlwZUxvb2t1cDtcblx0c3VidHlwZXM6IFN1YnR5cGVzTWFwO1xuXHRba2V5OiBzdHJpbmddOiB1bmtub3duO1xufTtcblxuLy8gVHlwZSBsb29rdXAgZnVuY3Rpb24gdHlwZTogbWF5IGhhdmUgYXVnbWVudGF0aW9uIGJ5IFRhY3RpY2EgcmUtZGVmaW5pdGlvblxuZXhwb3J0IGludGVyZmFjZSBUeXBlTG9va3VwIGV4dGVuZHMgQ2FsbGFibGVGdW5jdGlvbiB7XG5cdCh0aGlzOiBNYXA8c3RyaW5nLCB1bmtub3duPiwgVHlwZU5lc3RlZFBhdGg6IHN0cmluZyk6IFR5cGVDbGFzcyB8IHVuZGVmaW5lZDtcbn1cblxuLy8gU3BlY2lmaWNhdGlvbiBmb3IgY2hhaW5lZCBzdWJ0eXBlIGNyZWF0aW9uIHdpdGggLnRoZW4oKVxuZXhwb3J0IGludGVyZmFjZSBUaGVuU3BlYyB7XG5cdHN1YnR5cGU6IG9iamVjdDtcblx0YXJnczogdW5rbm93bltdO1xuXHRuYW1lPzogc3RyaW5nO1xufVxuXG4vLyBDb250ZXh0IG9iamVjdCBwYXNzZWQgdGhyb3VnaCB0aGUgSW5zdGFuY2VDcmVhdG9yIHBpcGVsaW5lXG5leHBvcnQgaW50ZXJmYWNlIEluc3RhbmNlQ3JlYXRvckNvbnRleHQge1xuXHR0eXBlOiBUeXBlRGVmO1xuXHRUeXBlTmFtZTogc3RyaW5nO1xuXHRleGlzdGVudEluc3RhbmNlOiBvYmplY3Q7XG5cdGFyZ3M6IHVua25vd25bXTtcblx0TW9kaWZpY2F0aW9uQ29uc3RydWN0b3I6IE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yO1xuXHRNb2RpZmljYXRvclR5cGU6IE1uZW1vbmljYUNvbnN0cnVjdG9yO1xuXHRJbnN0YW5jZU1vZGlmaWNhdG9yOiBNbmVtb25pY2FDb25zdHJ1Y3Rvcjtcblx0aW5oZXJpdGVkSW5zdGFuY2U6IG9iamVjdCB8IFByb21pc2U8b2JqZWN0Pjtcblx0Y29uZmlnOiBjb25zdHJ1Y3Rvck9wdGlvbnM7XG5cdHByb3RvOiBvYmplY3Q7XG5cdF9fcHJvdG9fcHJvdG9fXz86IG9iamVjdDtcblx0c3RhY2s/OiBzdHJpbmdbXTtcblxuXHRnZXRFeGlzdGVudEFzeW5jU3RhY2soZXhpc3RlbnRJbnN0YW5jZTogb2JqZWN0KTogdW5rbm93bjtcblx0cG9zdFByb2Nlc3NpbmcoY29udGludWF0aW9uT2Y/OiBUeXBlRGVmKTogdm9pZDtcblx0bWFrZUF3YWl0ZXIodHlwZTogVHlwZURlZiwgdGhlbj86IFRoZW5TcGVjKTogUHJvbWlzZTxvYmplY3Q+O1xuXHRhZGRUaGVuKHRoZW46IFRoZW5TcGVjKTogdm9pZDtcblx0aW52b2tlUHJlSG9va3MoKTogdm9pZDtcblx0aW52b2tlUG9zdEhvb2tzKCk6IHsgdHlwZTogU2V0PHVua25vd24+OyBjb2xsZWN0aW9uOiBTZXQ8dW5rbm93bj4gfTtcblx0dGhyb3dNb2RpZmljYXRpb25FcnJvcihlcnJvcjogTW5lbW9uaWNhRXJyb3IpOiB2b2lkO1xufVxuXG4vKipcbiAqIFByb3RvIG1lcmdlIHR5cGUgLSBjb21iaW5lcyBwYXJlbnQgYW5kIGNoaWxkIHR5cGVzIHdpdGhvdXQgcHJvcGVydHkgY29uZmxpY3RzLlxuICpcbiAqIFdoZW4gYSBzdWJ0eXBlIGlzIGRlZmluZWQgZnJvbSBhIHBhcmVudCBpbnN0YW5jZSwgd2Ugd2FudCB0aGUgY2hpbGQgcHJvcGVydGllc1xuICogdG8gdGFrZSBwcmVjZWRlbmNlLiBgRXhjbHVkZTxrZXlvZiBQLCBrZXlvZiBUPmAgcmVtb3ZlcyBvdmVybGFwcGluZyBrZXlzIGZyb20gUCxcbiAqIHNvIGBQaWNrPFAsIC4uLj5gIG9ubHkgYnJpbmdzIGluIHBhcmVudCBwcm9wZXJ0aWVzIHRoYXQgZG9uJ3QgY2xhc2ggd2l0aCBjaGlsZC5cbiAqXG4gKiBSZXN1bHQ6IGNoaWxkIFQgZ2V0cyBhbGwgaXRzIG93biBwcm9wcywgcGx1cyBwYXJlbnQncyBub24tb3ZlcmxhcHBpbmcgcHJvcHMuXG4gKi9cbmV4cG9ydCB0eXBlIFByb3RvPFAgZXh0ZW5kcyBvYmplY3QsIFQgZXh0ZW5kcyBvYmplY3Q+ID0gVCAmIFBpY2s8UCwgRXhjbHVkZTxrZXlvZiBQLCBrZXlvZiBUPj47XG5cblxuLy8gZXhwb3J0IHR5cGUgUHJvdG9GbGF0PFxuLy8gXHRQIGV4dGVuZHMgb2JqZWN0LFxuLy8gXHRUIGV4dGVuZHMgb2JqZWN0LFxuLy8gXHRGIGV4dGVuZHMgUHJvdG88UCwgVD4gPSBQcm90bzxQLCBUPlxuLy8gPiA9IHsgW2tleSBpbiBrZXlvZiBGXTogRltrZXldfSA7XG5cbmV4cG9ydCB0eXBlIFByb3RvRmxhdDxcblx0UCBleHRlbmRzIG9iamVjdCxcblx0VCBleHRlbmRzIG9iamVjdCxcblx0TCBleHRlbmRzIEV4Y2x1ZGU8a2V5b2YgUCwga2V5b2YgVD4gPSBFeGNsdWRlPGtleW9mIFAsIGtleW9mIFQ+LFxuPiA9IHtcbiAgICBba2V5IGluIGtleW9mIFRdOiBUW2tleV07XG59ICYge1xuXHRba2V5IGluIExdOiBQW2tleV07XG59O1xuXG5leHBvcnQgdHlwZSBGbGF0dGVuPEY+ID0geyBba2V5IGluIGtleW9mIEZdOiBGW2tleV0gfVxuXG4vLyBTaWJsaW5nIHR5cGUgYWNjZXNzb3JcbmV4cG9ydCBpbnRlcmZhY2UgU2libGluZ0FjY2Vzc29yIHtcblx0KFNpYmxpbmdUeXBlTmFtZTogc3RyaW5nKTogVHlwZUNsYXNzIHwgdW5kZWZpbmVkO1xuXHRba2V5OiBzdHJpbmddOiBUeXBlQ2xhc3MgfCB1bmRlZmluZWQ7XG59XG5cbi8vIE1uZW1vbmljYSBpbnN0YW5jZSBtZXRob2RzIGludGVyZmFjZVxuLy8gVGhlc2UgbWV0aG9kcyBhcmUgYWx3YXlzIGF2YWlsYWJsZSBvbiB0aGUgcHJvdG90eXBlIGNoYWluXG4vLyBidXQgY2FuIGJlIGhpZGRlbiBmcm9tIHR5cGUgZGVmaW5pdGlvbnMgdmlhIGV4cG9zZUluc3RhbmNlTWV0aG9kcyBvcHRpb25cbmV4cG9ydCBpbnRlcmZhY2UgTW5lbW9uaWNhSW5zdGFuY2Uge1xuXHRleHRyYWN0KCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXHRwaWNrKC4uLmtleXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cdHBpY2soa2V5czogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblx0cGFyZW50KCk6IG9iamVjdCB8IHVuZGVmaW5lZDtcblx0cGFyZW50KGNvbnN0cnVjdG9yTG9va3VwUGF0aDogc3RyaW5nKTogb2JqZWN0IHwgdW5kZWZpbmVkO1xuXHRyZWFkb25seSBjbG9uZTogb2JqZWN0O1xuXHRmb3JrKC4uLmZvcmtBcmdzOiB1bmtub3duW10pOiBvYmplY3Q7XG5cdGV4Y2VwdGlvbihlcnJvcjogRXJyb3IsIC4uLmFyZ3M6IHVua25vd25bXSk6IEVycm9yO1xuXHRyZWFkb25seSBzaWJsaW5nOiBTaWJsaW5nQWNjZXNzb3I7XG59XG5cbi8vIEluc3RhbmNlIHByb3BlcnRpZXMgZm9yIF9fc2VsZl9fIHJlZmVyZW5jZVxuLy8gVGhpcyBtZXJnZXMgaW50ZXJuYWwgcHJvcHMgd2l0aCB0aGUgaW5zdGFuY2UgbWV0aG9kc1xuLy8gSW50ZXJuYWwgaW5zdGFuY2UgcHJvcGVydGllcyAobm9uLWVudW1lcmFibGUpXG4vLyBUaGVzZSBhcmUgYWx3YXlzIHByZXNlbnQgb24gaW5zdGFuY2VzIGJ1dCBhY2Nlc3NlZCB2aWEgZ2V0UHJvcHMvc2V0UHJvcHNcbmV4cG9ydCB0eXBlIEluc3RhbmNlSW50ZXJuYWxQcm9wcyA9IHtcblx0X19wcm90b19wcm90b19fOiBvYmplY3Q7XG5cdF9fYXJnc19fOiB1bmtub3duW107XG5cdF9fY29sbGVjdGlvbl9fOiBDb2xsZWN0aW9uRGVmO1xuXHRfX3N1YnR5cGVzX186IE1hcDxzdHJpbmcsIG9iamVjdD47XG5cdF9fdHlwZV9fOiBUeXBlRGVmO1xuXHRfX3BhcmVudF9fOiBvYmplY3Q7XG5cdF9fc3RhY2tfXz86IHN0cmluZztcblx0X19jcmVhdG9yX186IEluc3RhbmNlQ3JlYXRvckNvbnRleHQ7XG5cdF9fdGltZXN0YW1wX186IG51bWJlcjtcbn07XG5cbi8vIENvbWJpbmVkIFByb3BzIHR5cGUgZm9yIGludGVybmFsIHVzZSBpbnNpZGUgLi9zcmNcbmV4cG9ydCB0eXBlIFByb3BzID0gSW5zdGFuY2VJbnRlcm5hbFByb3BzICYge1xuXHRfX3NlbGZfXzogSW5zdGFuY2VJbnRlcm5hbFByb3BzICYgTW5lbW9uaWNhSW5zdGFuY2U7XG5cdFtrZXk6IHN0cmluZ106IHVua25vd247XG59O1xuXG4vLyBIZWxwZXIgdHlwZTogdHJ1ZSB3aGVuIGV4cG9zZUluc3RhbmNlTWV0aG9kcyBpcyBleHBsaWNpdGx5IGZhbHNlXG5leHBvcnQgdHlwZSBJc0hpZGluZ01ldGhvZHM8Q29uZmlnIGV4dGVuZHMgY29uc3RydWN0b3JPcHRpb25zPiA9XG4gIENvbmZpZyBleHRlbmRzIHsgZXhwb3NlSW5zdGFuY2VNZXRob2RzOiBmYWxzZSB9ID8gdHJ1ZSA6IGZhbHNlO1xuXG4vLyBDb21iaW5lZCBpbnN0YW5jZSB0eXBlIGJhc2VkIG9uIGNvbmZpZzpcbi8vICAgaGlkaW5nIOKGkiBGbGF0dGVuPE4+ICh1c2VyIHByb3BzIG9ubHkpXG4vLyAgIHNob3dpbmcg4oaSIEZsYXR0ZW48Tj4gJiBNbmVtb25pY2FJbnN0YW5jZSAodXNlciBwcm9wcyArIGV4dHJhY3QvZm9yay9ldGMuKVxuZXhwb3J0IHR5cGUgSW5zdGFuY2VSZXN1bHQ8XG4gIE4gZXh0ZW5kcyBvYmplY3QsXG4gIENvbmZpZyBleHRlbmRzIGNvbnN0cnVjdG9yT3B0aW9ucyxcbj4gPSBJc0hpZGluZ01ldGhvZHM8Q29uZmlnPiBleHRlbmRzIHRydWUgPyBGbGF0dGVuPE4+IDogRmxhdHRlbjxOPiAmIE1uZW1vbmljYUluc3RhbmNlO1xuXG4vLyBEZWZpbml0b3IgaW5zdGFuY2UgLSB0aGUgY29uc3RydWN0b3IgZnVuY3Rpb24gcmV0dXJuZWQgYnkgZGVmaW5lXG4vLyBOID0gaW5zdGFuY2UgdHlwZSAocHJvcGVydGllcyBhdmFpbGFibGUgb24gaW5zdGFuY2VzKVxuLy8gUyA9IHN1YnR5cGVzIG1hcFxuLy8gQ29uZmlnID0gY29uc3RydWN0b3Igb3B0aW9ucyBjb250cm9sbGluZyB0eXBlIHZpc2liaWxpdHlcbmV4cG9ydCBpbnRlcmZhY2UgSURlZmluaXRvckluc3RhbmNlPFxuXHROIGV4dGVuZHMgb2JqZWN0LFxuXHRDb25maWcgZXh0ZW5kcyBjb25zdHJ1Y3Rvck9wdGlvbnMgPSBjb25zdHJ1Y3Rvck9wdGlvbnMsXG5cdFIgZXh0ZW5kcyBJbnN0YW5jZVJlc3VsdDxOLCBDb25maWc+ID0gSW5zdGFuY2VSZXN1bHQ8TiwgQ29uZmlnPlxuPiB7XG5cblx0VHlwZU5hbWU6IHN0cmluZztcblx0cHJvdG90eXBlOiBOO1xuXG5cdFxuXHQvLyB0aGUgbGluZSBiZWxvdyBkZWNsYXJlcyBhIGBuZXcgLi4uYCBpbnZvY2F0aW9uLFxuXHQvLyBzbyBtYWtlcyBpbnRlcmZhY2UgY29uc3RydWN0aWJsZVxuXHQvLyBuZXcoLi4uYXJnczogdW5rbm93bltdKTogeyBba2V5IGluIGtleW9mIFJdOiBSW2tleV0gfTtcblx0bmV3KC4uLmFyZ3M6IHVua25vd25bXSk6IFI7XG5cblx0XG5cdC8vIFRPRE86IG5lZWQgY2hlY2sgaWYgbGluZSBiZWxvdyB3b3Jrc1xuXHQvLyBhbHNvIFRTIGhpbnRpbmcgY2hlY2sgYXMgd2VsbFxuXHQvLyB0aGUgbGluZSBiZWxvdyBzaG91bGQgbWFrZSBpcyBhIEBkZWNvcmF0ZSBkZWNvcmF0b3Igd29ya2luZ1xuXHQoLi4uYXJnczogdW5rbm93bltdKTogSURlZmluaXRvckluc3RhbmNlPFIsIENvbmZpZz47XG5cblxuXHQvLyBEZWZpbmUgbWV0aG9kIHRoYXQgY29tYmluZXMgcGFyZW50IE4gd2l0aCBuZXcgdHlwZSBUIHVzaW5nIFByb3RvXG5cdGRlZmluZTxcblx0XHRUIGV4dGVuZHMgb2JqZWN0LFxuXG5cdFx0Ly8gdGhpcyB3aWxsIGJlIGluc3RhbmNlIHR5cGUgZm9yIHN1Yi10eXBlICEhIVxuXHRcdC8vIEYgZXh0ZW5kcyBGbGF0dGVuPFByb3RvPE4sIFQ+PlxuXHRcdEYgZXh0ZW5kcyBQcm90bzxOLCBUPlxuXHQ+KFxuXHRcdFR5cGVPclR5cGVOYW1lOiBzdHJpbmcgfCBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRcdGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZz86IElERUY8VD4gfCBvYmplY3QgfCBib29sZWFuIHwgQ2FsbGFibGVGdW5jdGlvbixcblx0XHRjb25maWdPclVuZGVmaW5lZD86IGNvbnN0cnVjdG9yT3B0aW9ucyB8IENhbGxhYmxlRnVuY3Rpb24gfCBib29sZWFuXG5cdCk6IElEZWZpbml0b3JJbnN0YW5jZTxGLCBDb25maWc+O1xuXHRcblx0bG9va3VwOiBUeXBlTG9va3VwO1xuXHRcblx0cmVnaXN0ZXJIb29rKGhvb2tUeXBlOiBob29rc1R5cGVzLCBjYjogaG9vayk6IHZvaWQ7XG5cdFxuXHRcblx0c3VidHlwZXM6IFN1YnR5cGVzTWFwO1xuXHRcblx0Ly8gSW50ZXJuYWwgcHJvcGVydGllcyBhY2Nlc3NlZCBieSB0ZXN0c1xuXHRfX3R5cGVfXz86IFR5cGVEZWY7XG5cdGNvbGxlY3Rpb24/OiBDb2xsZWN0aW9uRGVmO1xuXG5cdC8qXG5cdC8vIEFsbG93IGR5bmFtaWMgcHJvcGVydHkgYWNjZXNzIGZvciBzdWJ0eXBlc1xuXHRba2V5OiBzdHJpbmddOiB1bmtub3duO1xuXHQqL1xufVxuXG4vLyBUeXBlIGFic29yYmVyIGZ1bmN0aW9uIHR5cGUgLSB1c2VkIGZvciBkZWZpbmluZyBzdWJ0eXBlc1xuLy8gU3VwcG9ydHMgbXVsdGlwbGUgY2FsbGluZyBjb252ZW50aW9uczpcbi8vIDEuIE1vZGVybjogZGVmaW5lKFR5cGVOYW1lLCBjb25zdHJ1Y3RIYW5kbGVyLCBjb25maWc/KVxuLy8gMi4gTGVnYWN5OiBkZWZpbmUoY29uc3RydWN0SGFuZGxlciwgY29uZmlnPykgLSBUeXBlTmFtZSBmcm9tIGNvbnN0cnVjdG9yIG5hbWVcbi8vIDMuIE5lc3RlZDogcGFyZW50VHlwZS5kZWZpbmUoVHlwZU5hbWUsIGNvbnN0cnVjdEhhbmRsZXIsIGNvbmZpZz8pXG4vLyBVc2luZyBpbnRlcmZhY2Ugd2l0aCBvdmVybG9hZHMgdG8gcHJvcGVybHkgaGFuZGxlIGV4cG9zZUluc3RhbmNlTWV0aG9kcyBvcHRpb25cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZUFic29yYmVyIGV4dGVuZHMgQ2FsbGFibGVGdW5jdGlvbiB7XG5cdC8vIE92ZXJsb2FkOiB3aXRoIGV4cG9zZUluc3RhbmNlTWV0aG9kczogZmFsc2UgLSBoaWRlIGluc3RhbmNlIG1ldGhvZHNcblx0PFQgZXh0ZW5kcyBvYmplY3Q+KFxuXHRcdHRoaXM6IHVua25vd24sXG5cdFx0VHlwZU9yVHlwZU5hbWU6IHN0cmluZyB8IENhbGxhYmxlRnVuY3Rpb24sXG5cdFx0Y29uc3RydWN0SGFuZGxlck9yQ29uZmlnOiBJREVGPFQ+IHwgb2JqZWN0IHwgYm9vbGVhbiB8IENhbGxhYmxlRnVuY3Rpb24sXG5cdFx0Y29uZmlnT3JVbmRlZmluZWQ6IEhpZGVJbnN0YW5jZU1ldGhvZHNPcHRpb25zXG5cdCk6IElEZWZpbml0b3JJbnN0YW5jZTxULCBIaWRlSW5zdGFuY2VNZXRob2RzT3B0aW9ucz47XG5cdFxuXHQvLyBPdmVybG9hZDogd2l0aG91dCBjb25maWcgb3Igd2l0aCBleHBvc2VJbnN0YW5jZU1ldGhvZHMgbm90IGZhbHNlIC0gc2hvdyBhbGxcblx0PFQgZXh0ZW5kcyBvYmplY3Q+KFxuXHRcdHRoaXM6IHVua25vd24sXG5cdFx0VHlwZU9yVHlwZU5hbWU6IHN0cmluZyB8IENhbGxhYmxlRnVuY3Rpb24sXG5cdFx0Y29uc3RydWN0SGFuZGxlck9yQ29uZmlnPzogSURFRjxUPiB8IG9iamVjdCB8IGJvb2xlYW4gfCBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRcdGNvbmZpZ09yVW5kZWZpbmVkPzogY29uc3RydWN0b3JPcHRpb25zIHwgQ2FsbGFibGVGdW5jdGlvbiB8IGJvb2xlYW5cblx0KTogSURlZmluaXRvckluc3RhbmNlPFQsIGNvbnN0cnVjdG9yT3B0aW9ucz47XG59XG5cbi8vIFR5cGVzQ29sbGVjdGlvbiBpbnRlcmZhY2UgZm9yIGNyZWF0ZVR5cGVzQ29sbGVjdGlvblxuLy8gVGhpcyByZXByZXNlbnRzIHRoZSBhY3R1YWwgcmV0dXJuIHR5cGUgb2YgY3JlYXRlVHlwZXNDb2xsZWN0aW9uXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVzQ29sbGVjdGlvbiBleHRlbmRzIEhvb2thYmxlIHtcblx0ZGVmaW5lOiBUeXBlQWJzb3JiZXI7XG5cdGxvb2t1cDogVHlwZUxvb2t1cDtcblx0c3VidHlwZXM6IFN1YnR5cGVzTWFwO1xuXHRba2V5OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vLyBTaGFyZWQgaW50ZXJmYWNlIGZvciBvYmplY3RzIHRoYXQgc3VwcG9ydCBob29rcyAoVHlwZURlZiBhbmQgQ29sbGVjdGlvbkRlZilcbmV4cG9ydCBpbnRlcmZhY2UgSG9va2FibGUge1xuXHRob29rczogUmVjb3JkPHN0cmluZywgU2V0PGhvb2s+Pjtcblx0aW52b2tlSG9vayhob29rVHlwZTogaG9va3NUeXBlcywgb3B0czogaG9va3NPcHRzKTogU2V0PHVua25vd24+O1xuXHRyZWdpc3Rlckhvb2soaG9va1R5cGU6IGhvb2tzVHlwZXMsIGNiOiBob29rKTogdm9pZDtcblx0cmVnaXN0ZXJGbG93Q2hlY2tlcihjYjogKG9wdHM6IG9iamVjdCkgPT4gdW5rbm93bik6IHZvaWQ7XG59XG5cbi8vIGNyZWF0ZVR5cGVzQ29sbGVjdGlvbiBmdW5jdGlvbiB0eXBlXG5leHBvcnQgdHlwZSBDcmVhdGVUeXBlc0NvbGxlY3Rpb25GdW5jdGlvbiA9IChjb25maWc/OiBjb25zdHJ1Y3Rvck9wdGlvbnMpID0+IFR5cGVzQ29sbGVjdGlvbjtcblxuLy8gVHlwZSBjbGFzcyAtIGJhc2UgdHlwZSBjb25zdHJ1Y3RvclxuZXhwb3J0IHR5cGUgVHlwZUNsYXNzID0gSURlZmluaXRvckluc3RhbmNlPG9iamVjdD47XG5cbi8vIE1uZW1vbmljYSBjb25zdHJ1Y3RvciDigJQgdGhlIGNvbnN0cnVjdG9yIGZ1bmN0aW9uIHJldHVybmVkIGJ5IGNvbnN0cnVjdEhhbmRsZXIoKVxuLy8gSGFzIFN5bWJvbENvbnN0cnVjdG9yTmFtZSBhdHRhY2hlZCBhbmQgaXMgYm90aCBuZXdhYmxlIGFuZCBjYWxsYWJsZVxuZXhwb3J0IGludGVyZmFjZSBNbmVtb25pY2FDb25zdHJ1Y3RvciBleHRlbmRzIE5ld2FibGVGdW5jdGlvbiB7XG5cdG5ldyAoLi4uYXJnczogdW5rbm93bltdKTogb2JqZWN0O1xuXHQodGhpczogb2JqZWN0LCAuLi5hcmdzOiB1bmtub3duW10pOiB1bmtub3duO1xuXHRba2V5OiBzeW1ib2xdOiB1bmtub3duO1xufVxuXG4vLyBUeXBlIGRlc2NyaXB0b3IgaW5zdGFuY2Ug4oCUIGludGVybmFsIHNoYXBlIG9mIFR5cGVEZXNjcmlwdG9yIG9iamVjdHNcbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURlc2NyaXB0b3JEZWZpbmUgZXh0ZW5kcyBDYWxsYWJsZUZ1bmN0aW9uIHtcblx0KFxuXHRcdFR5cGVPclR5cGVOYW1lOiBzdHJpbmcgfCBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRcdGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZz86IENhbGxhYmxlRnVuY3Rpb24gfCBvYmplY3QsXG5cdFx0Y29uZmlnPzogb2JqZWN0XG5cdCk6IFR5cGVDbGFzcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlRGVzY3JpcHRvckxvb2t1cCBleHRlbmRzIENhbGxhYmxlRnVuY3Rpb24ge1xuXHQoVHlwZU5lc3RlZFBhdGg6IHN0cmluZyk6IFR5cGVDbGFzcyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IHR5cGUgVHlwZURlc2NyaXB0b3JJbnN0YW5jZSA9IHtcblx0ZGVmaW5lOiBUeXBlRGVzY3JpcHRvckRlZmluZTtcblx0bG9va3VwOiBUeXBlRGVzY3JpcHRvckxvb2t1cDtcblx0c3VidHlwZXM6IE1hcDxzdHJpbmcsIG9iamVjdD47XG5cdFR5cGVOYW1lOiBzdHJpbmc7XG59O1xuXG4vLyBDb25zdHJ1Y3RvciB0eXBlIGZvciBkZWNvcmF0ZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgQ29uc3RydWN0b3I8VCA9IG9iamVjdD4gPSBuZXcgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gVDtcblxuLy8gRGVjb3JhdGVkIGNsYXNzIHR5cGUgLSBpbmNsdWRlcyBjYWxsIHNpZ25hdHVyZSBmb3IgZGVjb3JhdG9yIHBhdHRlcm5cbmV4cG9ydCB0eXBlIERlY29yYXRlZENsYXNzPFQgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxvYmplY3Q+PiA9XG5cdFQgJlxuXHQoPFUgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxvYmplY3Q+Pih0YXJnZXQ6IFUpID0+IERlY29yYXRlZENsYXNzPFU+KSAmIHtcblx0XHRkZWZpbmU6IFR5cGVBYnNvcmJlcjtcblx0XHRyZWdpc3Rlckhvb2soaG9va1R5cGU6IGhvb2tzVHlwZXMsIGNiOiBob29rKTogdm9pZDtcblx0XHRsb29rdXA6IFR5cGVMb29rdXA7XG5cdFx0VHlwZU5hbWU6IHN0cmluZztcblx0fTtcblxuLy8gQXBwbHkvQ2FsbC9CaW5kIGZ1bmN0aW9uIHR5cGVzXG5leHBvcnQgdHlwZSBBcHBseUZ1bmN0aW9uID0gPEUgZXh0ZW5kcyBvYmplY3QsIFQgZXh0ZW5kcyBvYmplY3QsIFMgZXh0ZW5kcyBQcm90bzxFLCBUPj4oXG5cdGVudGl0eTogRSxcblx0Q29uc3RydWN0b3I6IElERUY8VD4sXG5cdGFyZ3M/OiB1bmtub3duW11cbikgPT4gUztcblxuZXhwb3J0IHR5cGUgQ2FsbEZ1bmN0aW9uID0gPEUgZXh0ZW5kcyBvYmplY3QsIFQgZXh0ZW5kcyBvYmplY3QsIFMgZXh0ZW5kcyBQcm90bzxFLCBUPj4oXG5cdGVudGl0eTogRSxcblx0Q29uc3RydWN0b3I6IElERUY8VD4sXG5cdC4uLmFyZ3M6IHVua25vd25bXVxuKSA9PiBTO1xuXG5leHBvcnQgdHlwZSBCaW5kRnVuY3Rpb24gPSA8RSBleHRlbmRzIG9iamVjdCwgVCBleHRlbmRzIG9iamVjdCwgUyBleHRlbmRzIFByb3RvPEUsIFQ+Pihcblx0ZW50aXR5OiBFLFxuXHRDb25zdHJ1Y3RvcjogSURFRjxUPlxuKSA9PiAoLi4uYXJnczogdW5rbm93bltdKSA9PiBTO1xuXG4vLyBVdGlscyBvYmplY3QgdHlwZVxuZXhwb3J0IGludGVyZmFjZSBVdGlsc0NvbGxlY3Rpb24ge1xuXHRleHRyYWN0OiAoaW5zdGFuY2U6IG9iamVjdCkgPT4gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cdHBpY2s6IChpbnN0YW5jZTogb2JqZWN0LCAuLi5hcmdzOiAoc3RyaW5nIHwgc3RyaW5nW10pW10pID0+IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXHRjb2xsZWN0Q29uc3RydWN0b3JzOiAoaW5zdGFuY2U6IG9iamVjdCwgZmxhdD86IGJvb2xlYW4pID0+IChDYWxsYWJsZUZ1bmN0aW9uIHwgc3RyaW5nKVtdO1xuXHRtZXJnZTogKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdW5rbm93bjtcblx0cGFyc2U6ICh2YWx1ZTogdW5rbm93bikgPT4gb2JqZWN0IHwgdW5kZWZpbmVkO1xuXHRwYXJlbnQ6IChpbnN0YW5jZTogb2JqZWN0LCBzdHJpY3Q/OiBib29sZWFuKSA9PiBvYmplY3QgfCB1bmRlZmluZWQ7XG5cdHRvSlNPTjogKGluc3RhbmNlOiBvYmplY3QpID0+IHN0cmluZztcblx0W2tleTogc3RyaW5nXTogQ2FsbGFibGVGdW5jdGlvbjtcbn1cblxuLy8gTWFpbiBtbmVtb25pY2EgbW9kdWxlIGludGVyZmFjZSAtIHJlcHJlc2VudHMgdGhlIGV4cG9ydGVkIG1vZHVsZSBvYmplY3RcbmV4cG9ydCBpbnRlcmZhY2UgTW5lbW9uaWNhTW9kdWxlIHtcblx0Ly8gQ29yZSBmdW5jdGlvbnNcblx0ZGVmaW5lOiBUeXBlQWJzb3JiZXI7XG5cdGxvb2t1cDogKFR5cGVOZXN0ZWRQYXRoOiBzdHJpbmcpID0+IFR5cGVDbGFzcyB8IHVuZGVmaW5lZDtcblx0YXBwbHk6IEFwcGx5RnVuY3Rpb247XG5cdGNhbGw6IENhbGxGdW5jdGlvbjtcblx0YmluZDogQmluZEZ1bmN0aW9uO1xuXHRkZWNvcmF0ZTogPFUgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxvYmplY3Q+Pih0YXJnZXQ/OiBvYmplY3QsIGNvbmZpZz86IG9iamVjdCkgPT4gRGVjb3JhdGVkQ2xhc3M8VT47XG5cdHJlZ2lzdGVySG9vazogPFQgZXh0ZW5kcyBvYmplY3Q+KENvbnN0cnVjdG9yOiBJREVGPFQ+LCBob29rVHlwZTogaG9va3NUeXBlcywgY2I6IGhvb2spID0+IHZvaWQ7XG5cblx0Ly8gRGVzY3JpcHRvcnNcblx0ZGVmYXVsdFR5cGVzOiBUeXBlc0NvbGxlY3Rpb247XG5cblx0Ly8gRXJyb3JzXG5cdEJBU0VfTU5FTU9OSUNBX0VSUk9SOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRXUk9OR19UWVBFX0RFRklOSVRJT046IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdFdST05HX0lOU1RBTkNFX0lOVk9DQVRJT046IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdFdST05HX01PRElGSUNBVElPTl9QQVRURVJOOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRBTFJFQURZX0RFQ0xBUkVEOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRXUk9OR19BUkdVTUVOVFNfVVNFRDogTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3Rvcjtcblx0V1JPTkdfSE9PS19UWVBFOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRNSVNTSU5HX0NBTExCQUNLX0FSR1VNRU5UOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHQvLyBGTE9XX0NIRUNLRVJfUkVERUZJTklUSU9OOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRNSVNTSU5HX0hPT0tfQ0FMTEJBQ0s6IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdFRZUEVOQU1FX01VU1RfQkVfQV9TVFJJTkc6IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdEhBTkRMRVJfTVVTVF9CRV9BX0ZVTkNUSU9OOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRPUFRJT05TX0VSUk9SOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRXUk9OR19TVEFDS19DTEVBTkVSOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXG5cdC8vIENvbnN0YW50c1xuXHRNTkVNT05JQ0E6IHN0cmluZztcblx0TU5FTU9TWU5FOiBzdHJpbmc7XG5cdFVSQU5VUzogc3RyaW5nO1xuXHRTeW1ib2xQYXJlbnRUeXBlOiBzeW1ib2w7XG5cdFN5bWJvbENvbnN0cnVjdG9yTmFtZTogc3ltYm9sO1xuXHRTeW1ib2xEZWZhdWx0VHlwZXNDb2xsZWN0aW9uOiBzeW1ib2w7XG5cdFN5bWJvbENvbmZpZzogc3ltYm9sO1xuXHRTeW1ib2xHYWlhOiBzeW1ib2w7XG5cdFRZUEVfVElUTEVfUFJFRklYOiBzdHJpbmc7XG5cdEVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZXM7XG5cblx0Ly8gVXRpbHNcblx0dXRpbHM6IFV0aWxzQ29sbGVjdGlvbjtcblx0Z2V0UHJvcHM6IChpbnN0YW5jZTogb2JqZWN0KSA9PiBQcm9wc1R5cGUgfCB1bmRlZmluZWQ7XG5cdHNldFByb3BzOiAoaW5zdGFuY2U6IG9iamVjdCwgdmFsdWVzOiBvYmplY3QpID0+IHN0cmluZ1tdIHwgZmFsc2U7XG5cdGZpbmRTdWJUeXBlRnJvbVBhcmVudDogKGluc3RhbmNlOiBvYmplY3QgfCB1bmRlZmluZWQsIHN1YlR5cGU6IHN0cmluZykgPT4gb2JqZWN0IHwgbnVsbDtcblx0aXNDbGFzczogKGZuOiBDYWxsYWJsZUZ1bmN0aW9uKSA9PiBib29sZWFuO1xuXG5cdC8vIGNyZWF0ZVR5cGVzQ29sbGVjdGlvblxuXHRjcmVhdGVUeXBlc0NvbGxlY3Rpb246IENyZWF0ZVR5cGVzQ29sbGVjdGlvbkZ1bmN0aW9uO1xuXG5cdC8vIEFsbG93IGFkZGl0aW9uYWwgcHJvcGVydGllc1xuXHRba2V5OiBzdHJpbmddOiB1bmtub3duO1xufVxuIl19
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuLyogZXNsaW50IG5vLXVudXNlZC12YXJzOiBcIm9mZlwiICovXG5cbi8vIFByb3BzIHR5cGUgZm9yIGdldFByb3BzL3NldFByb3BzXG5leHBvcnQgdHlwZSBQcm9wc1R5cGUgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuLy8gQ29yZSB0eXBlIGRlZmluaXRpb25zIGZvciBtbmVtb25pY2FcblxuLy8gQmFzZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB0eXBlIC0gY2FuIGJlIGEgY2xhc3MgY29uc3RydWN0b3Igb3IgYSBmdW5jdGlvbi5cbi8vIEFyZ3MgZGVmYXVsdHMgdG8gdW5rbm93bltdIHNvIElERUY8VD4gaXMgYmFja3dhcmRzIGNvbXBhdGlibGU7XG4vLyBzdXBwbHkgQXJncyB0byBnZXQgdHlwZWQgY29uc3RydWN0b3IgcGFyYW1zOiBJREVGPE15VHlwZSwgW3N0cmluZywgbnVtYmVyXT5cbmV4cG9ydCB0eXBlIElERUY8VCwgQXJncyBleHRlbmRzIHVua25vd25bXSA9IHVua25vd25bXT4gPSB7IG5ldygpOiBUIH0gfCB7ICh0aGlzOiBULCAuLi5hcmdzOiBBcmdzKTogdm9pZCB9O1xuXG4vLyBFcnJvciBtZXNzYWdlIHR5cGVzIC0gYWxsIGVycm9yIG1lc3NhZ2VzIGFyZSBzdHJpbmdzXG5leHBvcnQgdHlwZSBFcnJvck1lc3NhZ2VLZXkgPVxuXHR8ICdCQVNFX0VSUk9SX01FU1NBR0UnXG5cdHwgJ0hBTkRMRVJfTVVTVF9CRV9BX0ZVTkNUSU9OJ1xuXHR8ICdXUk9OR19UWVBFX0RFRklOSVRJT04nXG5cdHwgJ1dST05HX0lOU1RBTkNFX0lOVk9DQVRJT04nXG5cdHwgJ1dST05HX01PRElGSUNBVElPTl9QQVRURVJOJ1xuXHR8ICdBTFJFQURZX0RFQ0xBUkVEJ1xuXHR8ICdXUk9OR19BUkdVTUVOVFNfVVNFRCdcblx0fCAnV1JPTkdfSE9PS19UWVBFJ1xuXHR8ICdNSVNTSU5HX0hPT0tfQ0FMTEJBQ0snXG5cdHwgJ01JU1NJTkdfQ0FMTEJBQ0tfQVJHVU1FTlQnXG5cdHwgJ09QVElPTlNfRVJST1InXG5cdHwgJ1dST05HX1NUQUNLX0NMRUFORVInO1xuXHQvLyB8ICdUWVBFTkFNRV9NVVNUX0JFX0FfU1RSSU5HJ1xuXHQvLyB8ICdGTE9XX0NIRUNLRVJfUkVERUZJTklUSU9OJ1xuXG4vLyBFcnJvciBtZXNzYWdlcyBvYmplY3QgdHlwZVxuZXhwb3J0IHR5cGUgRXJyb3JNZXNzYWdlcyA9IFJlY29yZDxFcnJvck1lc3NhZ2VLZXksIHN0cmluZz47XG5cbi8vIEhvb2sgY2FsbGJhY2sg4oCUIHBhc3NlZCB0byByZWdpc3Rlckhvb2sgYW5kIGludm9rZWQgYnkgaW52b2tlSG9va1xuZXhwb3J0IGludGVyZmFjZSBob29rIGV4dGVuZHMgQ2FsbGFibGVGdW5jdGlvbiB7XG5cdChvcHRzOiBob29rc09wdHMpOiB1bmtub3duO1xufVxuXG4vLyBFcnJvciBjb25zdHJ1Y3RvciBmcm9tIGNvbnN0cnVjdEVycm9yIC0gY29uc3RydWN0YWJsZSBmdW5jdGlvbiB3aXRoIHByb3RvdHlwZVxuZXhwb3J0IGludGVyZmFjZSBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yIHtcblx0bmV3KGFkZGl0aW9uPzogc3RyaW5nLCBzdGFjaz86IHN0cmluZyB8IHN0cmluZ1tdKTogRXJyb3I7XG5cdChuYW1lOiBzdHJpbmcpOiBFcnJvcjtcblx0cHJvdG90eXBlOiB7XG5cdFx0Y29uc3RydWN0b3I6IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdH07XG59XG5cbi8vIEVycm9ycyB0eXBlcyBtYXAgLSBpbmRleGFibGUgcmVjb3JkIG9mIGVycm9yIGNvbnN0cnVjdG9yc1xuZXhwb3J0IHR5cGUgRXJyb3JzVHlwZXNNYXAgPSBSZWNvcmQ8c3RyaW5nLCBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yPjtcblxuLy8gTW5lbW9uaWNhIGVycm9yIGludGVyZmFjZSBmb3IgZXh0ZW5kZWQgRXJyb3Igb2JqZWN0c1xuZXhwb3J0IGludGVyZmFjZSBNbmVtb25pY2FFcnJvciBleHRlbmRzIEVycm9yIHtcblx0ZXhjZXB0aW9uUmVhc29uPzogRXJyb3I7XG5cdHJlYXNvbnM/OiBFcnJvcltdO1xuXHRzdXJwbHVzPzogRXJyb3JbXTtcbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBUeXBlIENvbnN0cnVjdG9yLlxuICogXCJUeXBlXCIgaGVyZSBpcyB1c2VkIGluIHRoZSBDb21wdXRlciBTY2llbmNlIHNlbnNlIOKAlCBhbiBpbnRlcmZhY2UvY29udHJhY3RcbiAqIGRlc2NyaWJpbmcgd2hhdCBhIGNvbnN0cnVjdG9yIG11c3Qgc2F0aXNmeSAoYm90aCBgbmV3YC1hYmxlIGFuZCBjYWxsYWJsZSkuXG4gKiBUQyA9IFR5cGUgQ29uc3RydWN0b3I7IFwiSW50ZXJuYWxcIiBtZWFucyB0aGlzIGlzIHRoZSBsaWJyYXJ5J3Mgb3duIGNvbnN0cnVjdG9yXG4gKiBzaGFwZSwgZGlzdGluY3QgZnJvbSB1c2VyLWZhY2luZyBUeXBlQ29uc3RydWN0b3IgYmVsb3cuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgX0ludGVybmFsX1RDXzxDb25zdHJ1Y3Rvckluc3RhbmNlIGV4dGVuZHMgb2JqZWN0PiB7XG5cdG5ldyguLi5hcmdzOiB1bmtub3duW10pOiBDb25zdHJ1Y3Rvckluc3RhbmNlO1xuXHQodGhpczogQ29uc3RydWN0b3JJbnN0YW5jZSwgLi4uYXJnczogdW5rbm93bltdKTogQ29uc3RydWN0b3JJbnN0YW5jZTtcblx0cmVhZG9ubHkgcHJvdG90eXBlOiBDb25zdHJ1Y3Rvckluc3RhbmNlICYge1xuXHRcdHJlYWRvbmx5IGNvbnN0cnVjdG9yOiBfSW50ZXJuYWxfVENfPENvbnN0cnVjdG9ySW5zdGFuY2U+XG5cdH07XG59XG5cbi8qKlxuICogUHVibGljIGFsaWFzIGZvciBfSW50ZXJuYWxfVENfIOKAlCB0aGUgc2hhcGUgb2YgY29uc3RydWN0b3IgZnVuY3Rpb25zIHJldHVybmVkIGJ5IGBkZWZpbmUoKWAuXG4gKiBBdWdtZW50ZWQgYnkgdGFjdGljYS1nZW5lcmF0ZWQgVHlwZVJlZ2lzdHJ5IHRvIGJlY29tZSB1c2VyLXNwZWNpZmljIHR5cGVzLlxuICogS2VwdCBhcyBhIG5hbWVkIGFsaWFzIChyYXRoZXIgdGhhbiBpbmxpbmluZyBfSW50ZXJuYWxfVENfKSBzbyB0YWN0aWNhIGNhbiByZWZlcmVuY2UgaXRcbiAqIGNsZWFubHkgaW4gZ2VuZXJhdGVkIGRlY2xhcmF0aW9uIGZpbGVzLlxuICovXG5leHBvcnQgdHlwZSBUeXBlQ29uc3RydWN0b3I8Q29uc3RydWN0b3JJbnN0YW5jZSBleHRlbmRzIG9iamVjdD4gPSBfSW50ZXJuYWxfVENfPENvbnN0cnVjdG9ySW5zdGFuY2U+O1xuXG4vLyBIb29rIHR5cGVzXG5leHBvcnQgdHlwZSBob29rc1R5cGVzID0gJ3ByZUNyZWF0aW9uJyB8ICdwb3N0Q3JlYXRpb24nIHwgJ2NyZWF0aW9uRXJyb3InO1xuXG4vLyBIb29rIG9wdGlvbnMgcGFzc2VkIHRvIGhvb2sgY2FsbGJhY2tzXG4vLyBQID0gcGFyZW50IC8gZXhpc3RlbnQgaW5zdGFuY2UgKHByb3RvKVxuLy8gVCA9IGNoaWxkIC8gaW5oZXJpdGVkIGluc3RhbmNlICh0eXBlIGJlaW5nIGNyZWF0ZWQpXG5leHBvcnQgdHlwZSBob29rc09wdHM8UCA9IG9iamVjdCwgVCA9IFA+ID0ge1xuXHRUeXBlTmFtZTogc3RyaW5nO1xuXHR0eXBlOiBUeXBlRGVmO1xuXHRhcmdzOiB1bmtub3duW107XG5cdGV4aXN0ZW50SW5zdGFuY2U6IFA7XG5cdGluaGVyaXRlZEluc3RhbmNlPzogVDtcblx0Y3JlYXRvcj86IHsgdGhyb3dNb2RpZmljYXRpb25FcnJvcihlcnJvcjogRXJyb3IpOiB2b2lkIH07XG59O1xuXG4vLyBDYWxsYmFjayBwYXNzZWQgaW50byBNb2RpZmljYXRpb25Db25zdHJ1Y3RvciB0byBhdHRhY2ggaW50ZXJuYWwgcHJvcHMgdG8gdGhlIHByb3RvdHlwZVxuZXhwb3J0IGludGVyZmFjZSBBZGRQcm9wc0NhbGxiYWNrIGV4dGVuZHMgQ2FsbGFibGVGdW5jdGlvbiB7XG5cdChwcm90bzogb2JqZWN0KTogdm9pZDtcbn1cblxuLy8gTW9kaWZpY2F0aW9uQ29uc3RydWN0b3I6IHdpcmVzIHByb3RvdHlwZSBjaGFpbiBkdXJpbmcgaW5zdGFuY2UgY3JlYXRpb25cbmV4cG9ydCBpbnRlcmZhY2UgTW9kaWZpY2F0aW9uQ29uc3RydWN0b3IgZXh0ZW5kcyBDYWxsYWJsZUZ1bmN0aW9uIHtcblx0KFxuXHRcdHRoaXM6IG9iamVjdCxcblx0XHRNb2RpZmljYXRvclR5cGU6IE1uZW1vbmljYUNvbnN0cnVjdG9yLFxuXHRcdE1vZGlmaWNhdG9yVHlwZVByb3RvdHlwZTogb2JqZWN0LFxuXHRcdF9hZGRQcm9wczogQWRkUHJvcHNDYWxsYmFja1xuXHQpOiBNbmVtb25pY2FDb25zdHJ1Y3Rvcjtcbn1cblxuLy8gRmFjdG9yeSB0aGF0IHJldHVybnMgYSBNb2RpZmljYXRpb25Db25zdHJ1Y3RvciAodXNlZCBpbiBjb25zdHJ1Y3Rvck9wdGlvbnMpXG5leHBvcnQgaW50ZXJmYWNlIE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yRmFjdG9yeSBleHRlbmRzIENhbGxhYmxlRnVuY3Rpb24ge1xuXHQoKTogTW9kaWZpY2F0aW9uQ29uc3RydWN0b3I7XG59XG5cbi8vIEZhY3RvcnkgdGhhdCByZXR1cm5zIGEgTW5lbW9uaWNhQ29uc3RydWN0b3IgKHN0b3JlZCBpbiBUeXBlRGVmLmNvbnN0cnVjdEhhbmRsZXIpXG5leHBvcnQgaW50ZXJmYWNlIE1uZW1vbmljYUNvbnN0cnVjdG9yRmFjdG9yeSBleHRlbmRzIENhbGxhYmxlRnVuY3Rpb24ge1xuXHQoKTogTW5lbW9uaWNhQ29uc3RydWN0b3I7XG59XG5cbi8vIE1hcmtzIHRoZSB0b3Agb2YgYSBjYXB0dXJlZCBzdGFjayB0cmFjZSAocGFzc2VkIHRvIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlIGFzIGNvbnN0cnVjdG9yT3B0KVxuZXhwb3J0IGludGVyZmFjZSBTdGFja0JvdW5kYXJ5IGV4dGVuZHMgQ2FsbGFibGVGdW5jdGlvbiB7fVxuXG4vLyBBIHdyYXBwYWJsZSB1dGlsaXR5IG1ldGhvZCDigJQgYW55IGNhbGxhYmxlIHRoYXQgd3JhcFRoaXMoKSBjYW4gcHJveHlcbmV4cG9ydCBpbnRlcmZhY2UgV3JhcHBhYmxlTWV0aG9kIGV4dGVuZHMgQ2FsbGFibGVGdW5jdGlvbiB7fVxuXG4vLyBDb25zdHJ1Y3RvciBvcHRpb25zIGZvciBkZWZpbmVcbmV4cG9ydCB0eXBlIGNvbnN0cnVjdG9yT3B0aW9ucyA9IHtcblx0Ly8gZXhwbGljaXQgZGVjbGFyYXRpb24gd2Ugd2lzaCB1c2Vcblx0Ly8gYW4gb2xkIHN0eWxlIGJhc2VkIGNvbnN0cnVjdG9yc1xuXHRNb2RpZmljYXRpb25Db25zdHJ1Y3Rvcj86IE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yRmFjdG9yeSxcblx0Ly8gc2hhbGwgb3Igbm90IHdlIHVzZSBzdHJpY3QgY2hlY2tpbmdcblx0Ly8gZm9yIGNyZWF0aW9uIHN1Yi1pbnN0YW5jZXMgT25seSBmcm9tIGN1cnJlbnQgdHlwZVxuXHQvLyBvciB3ZSBtaWdodCB1c2UgdXAtbmVzdGVkIHN1Yi1pbnN0YW5jZXMgZnJvbSBjaGFpblxuXHRzdHJpY3RDaGFpbj86IGJvb2xlYW4sXG5cdC8vIHNob3VsZCB3ZSB1c2UgZm9yY2VkIGVycm9ycyBjaGVja2luZ1xuXHQvLyB0byBtYWtlIGFsbCBpbmhlcml0ZWQgdHlwZXMgZXJyb3JlZFxuXHQvLyBpZiB0aGVyZSBpcyBhbiBlcnJvciBzb21ld2hlcmUgaW4gY2hhaW5cblx0YmxvY2tFcnJvcnM/OiBib29sZWFuLFxuXHQvLyBpZiBpdCBpcyBuZWNlc3NhcnkgdG8gY29sbGVjdCBzdGFja1xuXHQvLyBhcyBhIF9fc3RhY2tfXyBwcm90b3R5cGUgcHJvcGVydHlcblx0Ly8gZHVyaW5nIHRoZSBwcm9jZXNzIG9mIGluc3RhbmNlIGNyZWF0aW9uXG5cdHN1Ym1pdFN0YWNrPzogYm9vbGVhbixcblx0Ly8gYXdhaXQgbmV3IENvbnN0cnVjdG9yKClcblx0Ly8gbXVzdCByZXR1cm4gdmFsdWVcblx0YXdhaXRSZXR1cm4/OiBib29sZWFuLFxuXHQvLyBGb3JjZSBjbGFzcyBtb2RlIChhdXRvLWRldGVjdGVkIGJ5IGRlZmF1bHQpXG5cdGFzQ2xhc3M/OiBib29sZWFuLFxufTtcblxuLy8gU3VidHlwZXMgbWFwIC0gcmVwcmVzZW50cyB0aGUgc3VidHlwZXMgcHJvcGVydHlcbmV4cG9ydCB0eXBlIFN1YnR5cGVzTWFwID0gTWFwPHN0cmluZywgVHlwZUNsYXNzPjtcblxuLy8gVHlwZSBkZWZpbml0aW9uIG9iamVjdCAoaW50ZXJuYWwgcHJvcGVydGllcylcbmV4cG9ydCB0eXBlIFR5cGVEZWYgPSB7XG5cdFR5cGVOYW1lOiBzdHJpbmc7XG5cdHByb3RvOiBvYmplY3Q7XG5cdGlzU3ViVHlwZTogYm9vbGVhbjtcblx0c3VidHlwZXM6IFN1YnR5cGVzTWFwO1xuXHRjb2xsZWN0aW9uOiBDb2xsZWN0aW9uRGVmO1xuXHRjb25maWc6IGNvbnN0cnVjdG9yT3B0aW9ucztcblx0cGFyZW50VHlwZT86IFR5cGVEZWY7XG5cdGNvbnN0cnVjdEhhbmRsZXI6IE1uZW1vbmljYUNvbnN0cnVjdG9yRmFjdG9yeTtcblx0dGl0bGU6IHN0cmluZztcblx0aG9va3M6IFJlY29yZDxzdHJpbmcsIFNldDxob29rPj47XG5cdGludm9rZUhvb2s6IChob29rVHlwZTogaG9va3NUeXBlcywgb3B0czogaG9va3NPcHRzKSA9PiBTZXQ8dW5rbm93bj47XG5cdHByb3RvdHlwZTogdW5rbm93bjtcblx0c3RhY2s/OiBzdHJpbmc7XG5cdFtTeW1ib2wuaGFzSW5zdGFuY2VdOiAoaW5zdGFuY2U6IG9iamVjdCkgPT4gYm9vbGVhbjtcbn07XG5cbi8vIENvbGxlY3Rpb24gZGVmaW5pdGlvblxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvbkRlZiA9IEhvb2thYmxlICYge1xuXHRkZWZpbmU6IFR5cGVBYnNvcmJlcjtcblx0bG9va3VwOiBUeXBlTG9va3VwO1xuXHRzdWJ0eXBlczogU3VidHlwZXNNYXA7XG5cdFtrZXk6IHN0cmluZ106IHVua25vd247XG59O1xuXG4vLyBUeXBlIGxvb2t1cCBmdW5jdGlvbiB0eXBlOiBtYXkgaGF2ZSBhdWdtZW50YXRpb24gYnkgVGFjdGljYSByZS1kZWZpbml0aW9uXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVMb29rdXAgZXh0ZW5kcyBDYWxsYWJsZUZ1bmN0aW9uIHtcblx0KHRoaXM6IE1hcDxzdHJpbmcsIHVua25vd24+LCBUeXBlTmVzdGVkUGF0aDogc3RyaW5nKTogVHlwZUNsYXNzIHwgdW5kZWZpbmVkO1xufVxuXG4vLyBTcGVjaWZpY2F0aW9uIGZvciBjaGFpbmVkIHN1YnR5cGUgY3JlYXRpb24gd2l0aCAudGhlbigpXG5leHBvcnQgaW50ZXJmYWNlIFRoZW5TcGVjIHtcblx0c3VidHlwZTogb2JqZWN0O1xuXHRhcmdzOiB1bmtub3duW107XG5cdG5hbWU/OiBzdHJpbmc7XG59XG5cbi8vIENvbnRleHQgb2JqZWN0IHBhc3NlZCB0aHJvdWdoIHRoZSBJbnN0YW5jZUNyZWF0b3IgcGlwZWxpbmVcbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFuY2VDcmVhdG9yQ29udGV4dCB7XG5cdHR5cGU6IFR5cGVEZWY7XG5cdFR5cGVOYW1lOiBzdHJpbmc7XG5cdGV4aXN0ZW50SW5zdGFuY2U6IG9iamVjdDtcblx0YXJnczogdW5rbm93bltdO1xuXHRNb2RpZmljYXRpb25Db25zdHJ1Y3RvcjogTW9kaWZpY2F0aW9uQ29uc3RydWN0b3I7XG5cdE1vZGlmaWNhdG9yVHlwZTogTW5lbW9uaWNhQ29uc3RydWN0b3I7XG5cdEluc3RhbmNlTW9kaWZpY2F0b3I6IE1uZW1vbmljYUNvbnN0cnVjdG9yO1xuXHRpbmhlcml0ZWRJbnN0YW5jZTogb2JqZWN0IHwgUHJvbWlzZTxvYmplY3Q+O1xuXHRjb25maWc6IGNvbnN0cnVjdG9yT3B0aW9ucztcblx0cHJvdG86IG9iamVjdDtcblx0X19wcm90b19wcm90b19fPzogb2JqZWN0O1xuXHRzdGFjaz86IHN0cmluZ1tdO1xuXG5cdGdldEV4aXN0ZW50QXN5bmNTdGFjayhleGlzdGVudEluc3RhbmNlOiBvYmplY3QpOiB1bmtub3duO1xuXHRwb3N0UHJvY2Vzc2luZyhjb250aW51YXRpb25PZj86IFR5cGVEZWYpOiB2b2lkO1xuXHRtYWtlQXdhaXRlcih0eXBlOiBUeXBlRGVmLCB0aGVuPzogVGhlblNwZWMpOiBQcm9taXNlPG9iamVjdD47XG5cdGFkZFRoZW4odGhlbjogVGhlblNwZWMpOiB2b2lkO1xuXHRpbnZva2VQcmVIb29rcygpOiB2b2lkO1xuXHRpbnZva2VQb3N0SG9va3MoKTogeyB0eXBlOiBTZXQ8dW5rbm93bj47IGNvbGxlY3Rpb246IFNldDx1bmtub3duPiB9O1xuXHR0aHJvd01vZGlmaWNhdGlvbkVycm9yKGVycm9yOiBNbmVtb25pY2FFcnJvcik6IHZvaWQ7XG59XG5cbi8qKlxuICogUHJvdG8gbWVyZ2UgdHlwZSAtIGNvbWJpbmVzIHBhcmVudCBhbmQgY2hpbGQgdHlwZXMgd2l0aG91dCBwcm9wZXJ0eSBjb25mbGljdHMuXG4gKlxuICogV2hlbiBhIHN1YnR5cGUgaXMgZGVmaW5lZCBmcm9tIGEgcGFyZW50IGluc3RhbmNlLCB3ZSB3YW50IHRoZSBjaGlsZCBwcm9wZXJ0aWVzXG4gKiB0byB0YWtlIHByZWNlZGVuY2UuIGBFeGNsdWRlPGtleW9mIFAsIGtleW9mIFQ+YCByZW1vdmVzIG92ZXJsYXBwaW5nIGtleXMgZnJvbSBQLFxuICogc28gYFBpY2s8UCwgLi4uPmAgb25seSBicmluZ3MgaW4gcGFyZW50IHByb3BlcnRpZXMgdGhhdCBkb24ndCBjbGFzaCB3aXRoIGNoaWxkLlxuICpcbiAqIFJlc3VsdDogY2hpbGQgVCBnZXRzIGFsbCBpdHMgb3duIHByb3BzLCBwbHVzIHBhcmVudCdzIG5vbi1vdmVybGFwcGluZyBwcm9wcy5cbiAqL1xuZXhwb3J0IHR5cGUgUHJvdG88UCBleHRlbmRzIG9iamVjdCwgVCBleHRlbmRzIG9iamVjdD4gPSBUICYgUGljazxQLCBFeGNsdWRlPGtleW9mIFAsIGtleW9mIFQ+PjtcblxuXG4vLyBleHBvcnQgdHlwZSBQcm90b0ZsYXQ8XG4vLyBcdFAgZXh0ZW5kcyBvYmplY3QsXG4vLyBcdFQgZXh0ZW5kcyBvYmplY3QsXG4vLyBcdEYgZXh0ZW5kcyBQcm90bzxQLCBUPiA9IFByb3RvPFAsIFQ+XG4vLyA+ID0geyBba2V5IGluIGtleW9mIEZdOiBGW2tleV19IDtcblxuZXhwb3J0IHR5cGUgUHJvdG9GbGF0PFxuXHRQIGV4dGVuZHMgb2JqZWN0LFxuXHRUIGV4dGVuZHMgb2JqZWN0LFxuXHRMIGV4dGVuZHMgRXhjbHVkZTxrZXlvZiBQLCBrZXlvZiBUPiA9IEV4Y2x1ZGU8a2V5b2YgUCwga2V5b2YgVD4sXG4+ID0ge1xuICAgIFtrZXkgaW4ga2V5b2YgVF06IFRba2V5XTtcbn0gJiB7XG5cdFtrZXkgaW4gTF06IFBba2V5XTtcbn07XG5cbi8vIE1uZW1vbmljYSBpbnN0YW5jZSBtZXRob2Qga2V5cy4gVGhlc2UgYXJlIGZpbHRlcmVkIG91dCBvZiBleHRyYWN0ZWQvbWVyZ2VkXG4vLyBmaWVsZC1vbmx5IHZpZXdzIGJlY2F1c2UgdGhleSBiZWxvbmcgdG8gdGhlIHByb3RvdHlwZSwgbm90IHRvIHRoZSB1c2VyJ3Ncbi8vIGVudW1lcmFibGUgZGF0YSBwcm9wZXJ0aWVzLlxuZXhwb3J0IHR5cGUgTW5lbW9uaWNhSW5zdGFuY2VNZXRob2RLZXlzID1cblx0J2V4dHJhY3QnIHwgJ3BpY2snIHwgJ3BhcmVudCcgfCAnY2xvbmUnIHwgJ2ZvcmsnIHwgJ2V4Y2VwdGlvbicgfCAnc2libGluZyc7XG5cbmV4cG9ydCB0eXBlIEZsYXR0ZW48Rj4gPSB7IFtrZXkgaW4ga2V5b2YgRl06IEZba2V5XSB9XG5cbi8vIEV4dHJhY3RlZDxUPjogdGhlIHNoYXBlIHJldHVybmVkIGJ5IHV0aWxzLmV4dHJhY3QoaW5zdGFuY2UpLlxuLy8gSXQgY29udGFpbnMgdGhlIGVudW1lcmFibGUgc3RyaW5nLWtleWVkIHVzZXIgcHJvcGVydGllcyBvZiB0aGUgaW5zdGFuY2UsXG4vLyBvbWl0dGluZyBNbmVtb25pY2FJbnN0YW5jZSBtZXRob2RzIChleHRyYWN0LCBwaWNrLCBwYXJlbnQsIGNsb25lLCBmb3JrLFxuLy8gZXhjZXB0aW9uLCBzaWJsaW5nKS4gT3B0aW9uYWxpdHkgaXMgcHJlc2VydmVkIGZyb20gdGhlIHNvdXJjZSB0eXBlLlxuLy8gVGhlIGAmIHt9YCB0cmljayBmb3JjZXMgVHlwZVNjcmlwdCB0byBleHBhbmQgdGhlIGFsaWFzIGluIGhvdmVyIHRvb2x0aXBzXG4vLyBzbyBpdCByZW5kZXJzIGFzIGEgcGxhaW4gb2JqZWN0IGxpdGVyYWwgaW5zdGVhZCBvZiBcIkV4dHJhY3RlZDx7Li4ufT5cIi5cbmV4cG9ydCB0eXBlIEV4dHJhY3RlZDxUIGV4dGVuZHMgb2JqZWN0PiA9IHtcblx0W0sgaW4ga2V5b2YgVCBhcyBLIGV4dGVuZHMgc3RyaW5nID8gKEsgZXh0ZW5kcyBNbmVtb25pY2FJbnN0YW5jZU1ldGhvZEtleXMgPyBuZXZlciA6IEspIDogbmV2ZXJdOiBUW0tdO1xufSAmIHt9O1xuXG4vLyBQYXJzZWQ8VD46IHRoZSBzaGFwZSByZXR1cm5lZCBieSB1dGlscy5wYXJzZShpbnN0YW5jZSkuXG4vLyBJdCBpcyBhIG9uZS1sZXZlbCBzbmFwc2hvdCBvZiB0aGUgaW5zdGFuY2UncyBwcm90b3R5cGUgY2hhaW4uXG4vLyBgcHJvcHNgIGNvbnRhaW5zIHRoZSBpbnN0YW5jZSdzIGVudW1lcmFibGUgdXNlciBwcm9wZXJ0aWVzO1xuLy8gYGpvaW50YCBjb250YWlucyBlbnVtZXJhYmxlIHByb3BlcnRpZXMgY29waWVkIGZyb20gdGhlIGltbWVkaWF0ZSBwcm90b3R5cGU7XG4vLyBgcGFyZW50YCBpcyB0aGUgbmV4dCBsaW5rIHVwIHRoZSBjaGFpbiAoY3VycmVudGx5IG5vdCByZWN1cnNpdmVseSBwYXJzZWQpLlxuZXhwb3J0IHR5cGUgUGFyc2VkPFQgZXh0ZW5kcyBvYmplY3Q+ID0ge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHByb3BzOiBFeHRyYWN0ZWQ8VD47XG5cdHNlbGY6IFQ7XG5cdHByb3RvOiBvYmplY3Q7XG5cdGpvaW50OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblx0cGFyZW50OiBvYmplY3QgfCB1bmRlZmluZWQ7XG59O1xuXG4vLyBTaWJsaW5nIHR5cGUgYWNjZXNzb3JcbmV4cG9ydCBpbnRlcmZhY2UgU2libGluZ0FjY2Vzc29yIHtcblx0KFNpYmxpbmdUeXBlTmFtZTogc3RyaW5nKTogVHlwZUNsYXNzIHwgdW5kZWZpbmVkO1xuXHRba2V5OiBzdHJpbmddOiBUeXBlQ2xhc3MgfCB1bmRlZmluZWQ7XG59XG5cbi8vIE1uZW1vbmljYSBpbnN0YW5jZSBtZXRob2RzIGludGVyZmFjZSAob3B0LWluKS5cbi8vIFRoZXNlIG1ldGhvZHMgdXNlZCB0byBiZSBhdXRvLWluamVjdGVkIG9udG8gZXZlcnkgaW5zdGFuY2UuIFRoZXkgYXJlIG5vd1xuLy8gYXZhaWxhYmxlIG9ubHkgd2hlbiBhIHR5cGUgZXhwbGljaXRseSBhZGRzIHRoZW0gdG8gaXRzIHByb3RvdHlwZS5cbi8vIFVzZXJzIGNhbiBzdGlsbCB1c2UgdGhpcyBpbnRlcmZhY2UgdG8gdHlwZSB0aGVpciBvd24gcm9vdC1sZXZlbCBoZWxwZXJzLlxuZXhwb3J0IGludGVyZmFjZSBNbmVtb25pY2FJbnN0YW5jZTxUIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0PiB7XG5cdGV4dHJhY3QoKTogRXh0cmFjdGVkPFQ+O1xuXHRwaWNrPEsgZXh0ZW5kcyBrZXlvZiBUPiguLi5rZXlzOiAoSyB8IEtbXSlbXSk6IHsgW1AgaW4gS106IFRbUF0gfSAmIHt9O1xuXHRwaWNrKC4uLmtleXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cdHBhcmVudCgpOiBvYmplY3QgfCB1bmRlZmluZWQ7XG5cdHBhcmVudChjb25zdHJ1Y3Rvckxvb2t1cFBhdGg6IHN0cmluZyk6IG9iamVjdCB8IHVuZGVmaW5lZDtcblx0cmVhZG9ubHkgY2xvbmU6IHRoaXM7XG5cdGZvcmsoLi4uZm9ya0FyZ3M6IHVua25vd25bXSk6IHRoaXM7XG5cdGV4Y2VwdGlvbihlcnJvcjogRXJyb3IsIC4uLmFyZ3M6IHVua25vd25bXSk6IEVycm9yO1xuXHRyZWFkb25seSBzaWJsaW5nOiBTaWJsaW5nQWNjZXNzb3I7XG59XG5cbi8vIEluc3RhbmNlIHByb3BlcnRpZXMgZm9yIF9fc2VsZl9fIHJlZmVyZW5jZVxuLy8gVGhpcyBtZXJnZXMgaW50ZXJuYWwgcHJvcHMgd2l0aCB0aGUgaW5zdGFuY2UgbWV0aG9kc1xuLy8gSW50ZXJuYWwgaW5zdGFuY2UgcHJvcGVydGllcyAobm9uLWVudW1lcmFibGUpXG4vLyBUaGVzZSBhcmUgYWx3YXlzIHByZXNlbnQgb24gaW5zdGFuY2VzIGJ1dCBhY2Nlc3NlZCB2aWEgZ2V0UHJvcHMvc2V0UHJvcHNcbmV4cG9ydCB0eXBlIEluc3RhbmNlSW50ZXJuYWxQcm9wcyA9IHtcblx0X19wcm90b19wcm90b19fOiBvYmplY3Q7XG5cdF9fYXJnc19fOiB1bmtub3duW107XG5cdF9fY29sbGVjdGlvbl9fOiBDb2xsZWN0aW9uRGVmO1xuXHRfX3N1YnR5cGVzX186IE1hcDxzdHJpbmcsIG9iamVjdD47XG5cdF9fdHlwZV9fOiBUeXBlRGVmO1xuXHRfX3BhcmVudF9fOiBvYmplY3Q7XG5cdF9fc3RhY2tfXz86IHN0cmluZztcblx0X19jcmVhdG9yX186IEluc3RhbmNlQ3JlYXRvckNvbnRleHQ7XG5cdF9fdGltZXN0YW1wX186IG51bWJlcjtcbn07XG5cbi8vIENvbWJpbmVkIFByb3BzIHR5cGUgZm9yIGludGVybmFsIHVzZSBpbnNpZGUgLi9zcmNcbmV4cG9ydCB0eXBlIFByb3BzID0gSW5zdGFuY2VJbnRlcm5hbFByb3BzICYge1xuXHRfX3NlbGZfXzogSW5zdGFuY2VJbnRlcm5hbFByb3BzO1xuXHRba2V5OiBzdHJpbmddOiB1bmtub3duO1xufTtcblxuLy8gQ29tYmluZWQgaW5zdGFuY2UgdHlwZTogcGxhaW4gb2JqZWN0IHdpdGggdGhlIHVzZXIncyBmaWVsZHMgb25seS5cbi8vIEluc3RhbmNlIG1ldGhvZHMgKGV4dHJhY3QsIHBpY2ssIGZvcmssIGV0Yy4pIGFyZSBubyBsb25nZXIgYXV0by1pbmplY3RlZC5cbi8vIFRoZSBpbmxpbmUgbWFwcGVkIHR5cGUgaXMgdXNlZCBpbnN0ZWFkIG9mIHRoZSBGbGF0dGVuIGFsaWFzIHNvIHRoYXQgaG92ZXJcbi8vIHRvb2x0aXBzIHNob3cgdGhlIGFjdHVhbCBmaWVsZCBvYmplY3QgbGl0ZXJhbCBmaXJzdCwgbm90IFwiRmxhdHRlbjx7Li4ufT5cIi5cbmV4cG9ydCB0eXBlIEluc3RhbmNlUmVzdWx0PFxuICBOIGV4dGVuZHMgb2JqZWN0LFxuPiA9IHsgW0sgaW4ga2V5b2YgTl06IE5bS10gfTtcblxuLy8gRGVmaW5pdG9yIGluc3RhbmNlIC0gdGhlIGNvbnN0cnVjdG9yIGZ1bmN0aW9uIHJldHVybmVkIGJ5IGRlZmluZVxuLy8gTiA9IGluc3RhbmNlIHR5cGUgKHByb3BlcnRpZXMgYXZhaWxhYmxlIG9uIGluc3RhbmNlcylcbi8vIFMgPSBzdWJ0eXBlcyBtYXBcbmV4cG9ydCBpbnRlcmZhY2UgSURlZmluaXRvckluc3RhbmNlPFxuXHROIGV4dGVuZHMgb2JqZWN0LFxuXHRSIGV4dGVuZHMgSW5zdGFuY2VSZXN1bHQ8Tj4gPSBJbnN0YW5jZVJlc3VsdDxOPlxuPiB7XG5cblx0VHlwZU5hbWU6IHN0cmluZztcblx0cHJvdG90eXBlOiBOO1xuXG5cdFxuXHQvLyB0aGUgbGluZSBiZWxvdyBkZWNsYXJlcyBhIGBuZXcgLi4uYCBpbnZvY2F0aW9uLFxuXHQvLyBzbyBtYWtlcyBpbnRlcmZhY2UgY29uc3RydWN0aWJsZVxuXHQvLyBuZXcoLi4uYXJnczogdW5rbm93bltdKTogeyBba2V5IGluIGtleW9mIFJdOiBSW2tleV0gfTtcblx0bmV3KC4uLmFyZ3M6IHVua25vd25bXSk6IFI7XG5cblx0XG5cdC8vIFRPRE86IG5lZWQgY2hlY2sgaWYgbGluZSBiZWxvdyB3b3Jrc1xuXHQvLyBhbHNvIFRTIGhpbnRpbmcgY2hlY2sgYXMgd2VsbFxuXHQvLyB0aGUgbGluZSBiZWxvdyBzaG91bGQgbWFrZSBpcyBhIEBkZWNvcmF0ZSBkZWNvcmF0b3Igd29ya2luZ1xuXHQoLi4uYXJnczogdW5rbm93bltdKTogSURlZmluaXRvckluc3RhbmNlPFI+O1xuXG5cblx0Ly8gRGVmaW5lIG1ldGhvZCB0aGF0IGNvbWJpbmVzIHBhcmVudCBOIHdpdGggbmV3IHR5cGUgVCB1c2luZyBQcm90b1xuXHRkZWZpbmU8XG5cdFx0VCBleHRlbmRzIG9iamVjdCxcblxuXHRcdC8vIHRoaXMgd2lsbCBiZSBpbnN0YW5jZSB0eXBlIGZvciBzdWItdHlwZSAhISFcblx0XHQvLyBGIGV4dGVuZHMgRmxhdHRlbjxQcm90bzxOLCBUPj5cblx0XHRGIGV4dGVuZHMgUHJvdG88TiwgVD5cblx0Pihcblx0XHRUeXBlT3JUeXBlTmFtZTogc3RyaW5nIHwgQ2FsbGFibGVGdW5jdGlvbixcblx0XHRjb25zdHJ1Y3RIYW5kbGVyT3JDb25maWc/OiBJREVGPFQ+IHwgb2JqZWN0IHwgYm9vbGVhbiB8IENhbGxhYmxlRnVuY3Rpb24sXG5cdFx0Y29uZmlnT3JVbmRlZmluZWQ/OiBjb25zdHJ1Y3Rvck9wdGlvbnMgfCBDYWxsYWJsZUZ1bmN0aW9uIHwgYm9vbGVhblxuXHQpOiBJRGVmaW5pdG9ySW5zdGFuY2U8Rj47XG5cdFxuXHRsb29rdXA6IFR5cGVMb29rdXA7XG5cdFxuXHRyZWdpc3Rlckhvb2soaG9va1R5cGU6IGhvb2tzVHlwZXMsIGNiOiBob29rKTogdm9pZDtcblx0XG5cdFxuXHRzdWJ0eXBlczogU3VidHlwZXNNYXA7XG5cdFxuXHQvLyBJbnRlcm5hbCBwcm9wZXJ0aWVzIGFjY2Vzc2VkIGJ5IHRlc3RzXG5cdF9fdHlwZV9fPzogVHlwZURlZjtcblx0Y29sbGVjdGlvbj86IENvbGxlY3Rpb25EZWY7XG5cblx0Lypcblx0Ly8gQWxsb3cgZHluYW1pYyBwcm9wZXJ0eSBhY2Nlc3MgZm9yIHN1YnR5cGVzXG5cdFtrZXk6IHN0cmluZ106IHVua25vd247XG5cdCovXG59XG5cbi8vIFR5cGUgYWJzb3JiZXIgZnVuY3Rpb24gdHlwZSAtIHVzZWQgZm9yIGRlZmluaW5nIHN1YnR5cGVzXG4vLyBTdXBwb3J0cyBtdWx0aXBsZSBjYWxsaW5nIGNvbnZlbnRpb25zOlxuLy8gMS4gTW9kZXJuOiBkZWZpbmUoVHlwZU5hbWUsIGNvbnN0cnVjdEhhbmRsZXIsIGNvbmZpZz8pXG4vLyAyLiBMZWdhY3k6IGRlZmluZShjb25zdHJ1Y3RIYW5kbGVyLCBjb25maWc/KSAtIFR5cGVOYW1lIGZyb20gY29uc3RydWN0b3IgbmFtZVxuLy8gMy4gTmVzdGVkOiBwYXJlbnRUeXBlLmRlZmluZShUeXBlTmFtZSwgY29uc3RydWN0SGFuZGxlciwgY29uZmlnPylcbmV4cG9ydCBpbnRlcmZhY2UgVHlwZUFic29yYmVyIGV4dGVuZHMgQ2FsbGFibGVGdW5jdGlvbiB7XG5cdDxUIGV4dGVuZHMgb2JqZWN0Pihcblx0XHR0aGlzOiB1bmtub3duLFxuXHRcdFR5cGVPclR5cGVOYW1lOiBzdHJpbmcgfCBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRcdGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZz86IElERUY8VD4gfCBvYmplY3QgfCBib29sZWFuIHwgQ2FsbGFibGVGdW5jdGlvbixcblx0XHRjb25maWdPclVuZGVmaW5lZD86IGNvbnN0cnVjdG9yT3B0aW9ucyB8IENhbGxhYmxlRnVuY3Rpb24gfCBib29sZWFuXG5cdCk6IElEZWZpbml0b3JJbnN0YW5jZTxUPjtcbn1cblxuLy8gVHlwZXNDb2xsZWN0aW9uIGludGVyZmFjZSBmb3IgY3JlYXRlVHlwZXNDb2xsZWN0aW9uXG4vLyBUaGlzIHJlcHJlc2VudHMgdGhlIGFjdHVhbCByZXR1cm4gdHlwZSBvZiBjcmVhdGVUeXBlc0NvbGxlY3Rpb25cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZXNDb2xsZWN0aW9uIGV4dGVuZHMgSG9va2FibGUge1xuXHRkZWZpbmU6IFR5cGVBYnNvcmJlcjtcblx0bG9va3VwOiBUeXBlTG9va3VwO1xuXHRzdWJ0eXBlczogU3VidHlwZXNNYXA7XG5cdFtrZXk6IHN0cmluZ106IHVua25vd247XG59XG5cbi8vIFNoYXJlZCBpbnRlcmZhY2UgZm9yIG9iamVjdHMgdGhhdCBzdXBwb3J0IGhvb2tzIChUeXBlRGVmIGFuZCBDb2xsZWN0aW9uRGVmKVxuZXhwb3J0IGludGVyZmFjZSBIb29rYWJsZSB7XG5cdGhvb2tzOiBSZWNvcmQ8c3RyaW5nLCBTZXQ8aG9vaz4+O1xuXHRpbnZva2VIb29rKGhvb2tUeXBlOiBob29rc1R5cGVzLCBvcHRzOiBob29rc09wdHMpOiBTZXQ8dW5rbm93bj47XG5cdHJlZ2lzdGVySG9vayhob29rVHlwZTogaG9va3NUeXBlcywgY2I6IGhvb2spOiB2b2lkO1xuXHRyZWdpc3RlckZsb3dDaGVja2VyKGNiOiAob3B0czogb2JqZWN0KSA9PiB1bmtub3duKTogdm9pZDtcbn1cblxuLy8gY3JlYXRlVHlwZXNDb2xsZWN0aW9uIGZ1bmN0aW9uIHR5cGVcbmV4cG9ydCB0eXBlIENyZWF0ZVR5cGVzQ29sbGVjdGlvbkZ1bmN0aW9uID0gKGNvbmZpZz86IGNvbnN0cnVjdG9yT3B0aW9ucykgPT4gVHlwZXNDb2xsZWN0aW9uO1xuXG4vLyBUeXBlIGNsYXNzIC0gYmFzZSB0eXBlIGNvbnN0cnVjdG9yXG5leHBvcnQgdHlwZSBUeXBlQ2xhc3MgPSBJRGVmaW5pdG9ySW5zdGFuY2U8b2JqZWN0PjtcblxuLy8gTW5lbW9uaWNhIGNvbnN0cnVjdG9yIOKAlCB0aGUgY29uc3RydWN0b3IgZnVuY3Rpb24gcmV0dXJuZWQgYnkgY29uc3RydWN0SGFuZGxlcigpXG4vLyBIYXMgU3ltYm9sQ29uc3RydWN0b3JOYW1lIGF0dGFjaGVkIGFuZCBpcyBib3RoIG5ld2FibGUgYW5kIGNhbGxhYmxlXG5leHBvcnQgaW50ZXJmYWNlIE1uZW1vbmljYUNvbnN0cnVjdG9yIGV4dGVuZHMgTmV3YWJsZUZ1bmN0aW9uIHtcblx0bmV3ICguLi5hcmdzOiB1bmtub3duW10pOiBvYmplY3Q7XG5cdCh0aGlzOiBvYmplY3QsIC4uLmFyZ3M6IHVua25vd25bXSk6IHVua25vd247XG5cdFtrZXk6IHN5bWJvbF06IHVua25vd247XG59XG5cbi8vIFR5cGUgZGVzY3JpcHRvciBpbnN0YW5jZSDigJQgaW50ZXJuYWwgc2hhcGUgb2YgVHlwZURlc2NyaXB0b3Igb2JqZWN0c1xuZXhwb3J0IGludGVyZmFjZSBUeXBlRGVzY3JpcHRvckRlZmluZSBleHRlbmRzIENhbGxhYmxlRnVuY3Rpb24ge1xuXHQoXG5cdFx0VHlwZU9yVHlwZU5hbWU6IHN0cmluZyB8IENhbGxhYmxlRnVuY3Rpb24sXG5cdFx0Y29uc3RydWN0SGFuZGxlck9yQ29uZmlnPzogQ2FsbGFibGVGdW5jdGlvbiB8IG9iamVjdCxcblx0XHRjb25maWc/OiBvYmplY3Rcblx0KTogVHlwZUNsYXNzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVEZXNjcmlwdG9yTG9va3VwIGV4dGVuZHMgQ2FsbGFibGVGdW5jdGlvbiB7XG5cdChUeXBlTmVzdGVkUGF0aDogc3RyaW5nKTogVHlwZUNsYXNzIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgdHlwZSBUeXBlRGVzY3JpcHRvckluc3RhbmNlID0ge1xuXHRkZWZpbmU6IFR5cGVEZXNjcmlwdG9yRGVmaW5lO1xuXHRsb29rdXA6IFR5cGVEZXNjcmlwdG9yTG9va3VwO1xuXHRzdWJ0eXBlczogTWFwPHN0cmluZywgb2JqZWN0Pjtcblx0VHlwZU5hbWU6IHN0cmluZztcbn07XG5cbi8vIENvbnN0cnVjdG9yIHR5cGUgZm9yIGRlY29yYXRlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBDb25zdHJ1Y3RvcjxUID0gb2JqZWN0PiA9IG5ldyAoLi4uYXJnczogdW5rbm93bltdKSA9PiBUO1xuXG4vLyBEZWNvcmF0ZWQgY2xhc3MgdHlwZSAtIGluY2x1ZGVzIGNhbGwgc2lnbmF0dXJlIGZvciBkZWNvcmF0b3IgcGF0dGVyblxuZXhwb3J0IHR5cGUgRGVjb3JhdGVkQ2xhc3M8VCBleHRlbmRzIENvbnN0cnVjdG9yPG9iamVjdD4+ID1cblx0VCAmXG5cdCg8VSBleHRlbmRzIENvbnN0cnVjdG9yPG9iamVjdD4+KHRhcmdldDogVSkgPT4gRGVjb3JhdGVkQ2xhc3M8VT4pICYge1xuXHRcdGRlZmluZTogVHlwZUFic29yYmVyO1xuXHRcdHJlZ2lzdGVySG9vayhob29rVHlwZTogaG9va3NUeXBlcywgY2I6IGhvb2spOiB2b2lkO1xuXHRcdGxvb2t1cDogVHlwZUxvb2t1cDtcblx0XHRUeXBlTmFtZTogc3RyaW5nO1xuXHR9O1xuXG4vLyBIZWxwZXI6IG1lcmdlIHBhcmVudCBlbnRpdHkgKEUpIGFuZCBjaGlsZCBjb25zdHJ1Y3RvciBpbnN0YW5jZSAoVCkgaW50byBhXG4vLyBzaW5nbGUgZmxhdCBvYmplY3QgdHlwZSwgZmlsdGVyaW5nIG91dCBNbmVtb25pY2FJbnN0YW5jZSBtZXRob2QgbmFtZXMuXG4vLyBVc2VkIGJ5IGFwcGx5L2NhbGwvYmluZC5cbmV4cG9ydCB0eXBlIE1lcmdlPEUgZXh0ZW5kcyBvYmplY3QsIFQgZXh0ZW5kcyBvYmplY3Q+ID0ge1xuXHRbSyBpbiBrZXlvZiBUIHwga2V5b2YgRSBhcyBLIGV4dGVuZHMgTW5lbW9uaWNhSW5zdGFuY2VNZXRob2RLZXlzID8gbmV2ZXIgOiBLXTpcblx0XHRLIGV4dGVuZHMga2V5b2YgVCA/IFRbS10gOiBFW0sgJiBrZXlvZiBFXTtcbn07XG5cbi8vIEFwcGx5L0NhbGwvQmluZCBmdW5jdGlvbiB0eXBlc1xuLy8gVGhlIHJldHVybiB0eXBlIG1lcmdlcyB0aGUgcGFyZW50IGVudGl0eSBmaWVsZHMgd2l0aCB0aGUgY2hpbGQgY29uc3RydWN0b3Jcbi8vIGZpZWxkcyAoZmlsdGVyaW5nIG91dCBNbmVtb25pY2FJbnN0YW5jZSBtZXRob2QgbmFtZXMpLCBwcm9kdWNpbmcgdGhlIHNhbWVcbi8vIGB7IGZpZWxkcyB9YCBob3ZlciBzdHlsZSBhcyBgbmV3IFR5cGUoKWAuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGx5RnVuY3Rpb24gZXh0ZW5kcyBDYWxsYWJsZUZ1bmN0aW9uIHtcblx0PEUgZXh0ZW5kcyBvYmplY3QsIFQgZXh0ZW5kcyBvYmplY3Q+KFxuXHRcdGVudGl0eTogRSxcblx0XHRDb25zdHJ1Y3RvcjogSURFRjxUPixcblx0XHRhcmdzPzogdW5rbm93bltdXG5cdCk6IEluc3RhbmNlUmVzdWx0PE1lcmdlPEUsIFQ+Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYWxsRnVuY3Rpb24gZXh0ZW5kcyBDYWxsYWJsZUZ1bmN0aW9uIHtcblx0PEUgZXh0ZW5kcyBvYmplY3QsIFQgZXh0ZW5kcyBvYmplY3Q+KFxuXHRcdGVudGl0eTogRSxcblx0XHRDb25zdHJ1Y3RvcjogSURFRjxUPixcblx0XHQuLi5hcmdzOiB1bmtub3duW11cblx0KTogSW5zdGFuY2VSZXN1bHQ8TWVyZ2U8RSwgVD4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJpbmRGdW5jdGlvbiBleHRlbmRzIENhbGxhYmxlRnVuY3Rpb24ge1xuXHQ8RSBleHRlbmRzIG9iamVjdCwgVCBleHRlbmRzIG9iamVjdD4oXG5cdFx0ZW50aXR5OiBFLFxuXHRcdENvbnN0cnVjdG9yOiBJREVGPFQ+XG5cdCk6ICguLi5hcmdzOiB1bmtub3duW10pID0+IEluc3RhbmNlUmVzdWx0PE1lcmdlPEUsIFQ+Pjtcbn1cblxuLy8gVXRpbHMgb2JqZWN0IHR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgVXRpbHNDb2xsZWN0aW9uIHtcblx0ZXh0cmFjdDxUIGV4dGVuZHMgb2JqZWN0PihpbnN0YW5jZTogVCk6IEV4dHJhY3RlZDxUPjtcblx0cGljazxUIGV4dGVuZHMgb2JqZWN0LCBLIGV4dGVuZHMga2V5b2YgVD4oaW5zdGFuY2U6IFQsIC4uLmFyZ3M6IChLIHwgS1tdKVtdKTogeyBbUCBpbiBLXTogVFtQXSB9ICYge307XG5cdHBpY2s8VCBleHRlbmRzIG9iamVjdD4oaW5zdGFuY2U6IFQsIC4uLmFyZ3M6IChzdHJpbmcgfCBzdHJpbmdbXSlbXSk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXHRjbG9uZTxUIGV4dGVuZHMgb2JqZWN0PihpbnN0YW5jZTogVCk6IFQ7XG5cdGZvcms8VCBleHRlbmRzIG9iamVjdD4oaW5zdGFuY2U6IFQpOiAodGhpczogb2JqZWN0LCAuLi5mb3JrQXJnczogdW5rbm93bltdKSA9PiBUO1xuXHRzaWJsaW5nKGluc3RhbmNlOiBvYmplY3QpOiBTaWJsaW5nQWNjZXNzb3I7XG5cdGNvbGxlY3RDb25zdHJ1Y3RvcnM6IChpbnN0YW5jZTogb2JqZWN0LCBmbGF0PzogYm9vbGVhbikgPT4gKENhbGxhYmxlRnVuY3Rpb24gfCBzdHJpbmcpW107XG5cdG1lcmdlPEEgZXh0ZW5kcyBvYmplY3QsIEIgZXh0ZW5kcyBvYmplY3Q+KFxuXHRcdGE6IEEsXG5cdFx0YjogQixcblx0XHQuLi5hcmdzOiB1bmtub3duW11cblx0KTogSW5zdGFuY2VSZXN1bHQ8TWVyZ2U8QiwgQT4+O1xuXHRwYXJzZTxUIGV4dGVuZHMgb2JqZWN0PihzZWxmOiBUKTogUGFyc2VkPFQ+O1xuXHRwYXJlbnQ8VCBleHRlbmRzIG9iamVjdD4oaW5zdGFuY2U6IFQsIHBhdGg/OiBzdHJpbmcpOiBvYmplY3QgfCB1bmRlZmluZWQ7XG5cdHRvSlNPTjxUIGV4dGVuZHMgb2JqZWN0PihpbnN0YW5jZTogVCk6IHN0cmluZztcblx0W2tleTogc3RyaW5nXTogQ2FsbGFibGVGdW5jdGlvbjtcbn1cblxuLy8gTWFpbiBtbmVtb25pY2EgbW9kdWxlIGludGVyZmFjZSAtIHJlcHJlc2VudHMgdGhlIGV4cG9ydGVkIG1vZHVsZSBvYmplY3RcbmV4cG9ydCBpbnRlcmZhY2UgTW5lbW9uaWNhTW9kdWxlIHtcblx0Ly8gQ29yZSBmdW5jdGlvbnNcblx0ZGVmaW5lOiBUeXBlQWJzb3JiZXI7XG5cdGxvb2t1cDogKFR5cGVOZXN0ZWRQYXRoOiBzdHJpbmcpID0+IFR5cGVDbGFzcyB8IHVuZGVmaW5lZDtcblx0YXBwbHk6IEFwcGx5RnVuY3Rpb247XG5cdGNhbGw6IENhbGxGdW5jdGlvbjtcblx0YmluZDogQmluZEZ1bmN0aW9uO1xuXHRkZWNvcmF0ZTogPFQgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxvYmplY3Q+IHwgY29uc3RydWN0b3JPcHRpb25zIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkPihcblx0XHR0YXJnZXQ/OiBULFxuXHRcdGNvbmZpZz86IGNvbnN0cnVjdG9yT3B0aW9uc1xuXHQpID0+IDxVIGV4dGVuZHMgQ29uc3RydWN0b3I8b2JqZWN0Pj4oY3N0cjogVSkgPT4gRGVjb3JhdGVkQ2xhc3M8VT47XG5cdHJlZ2lzdGVySG9vazogPFQgZXh0ZW5kcyBvYmplY3Q+KENvbnN0cnVjdG9yOiBJREVGPFQ+LCBob29rVHlwZTogaG9va3NUeXBlcywgY2I6IGhvb2spID0+IHZvaWQ7XG5cblx0Ly8gRGVzY3JpcHRvcnNcblx0ZGVmYXVsdFR5cGVzOiBUeXBlc0NvbGxlY3Rpb247XG5cblx0Ly8gRXJyb3JzXG5cdEJBU0VfTU5FTU9OSUNBX0VSUk9SOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRXUk9OR19UWVBFX0RFRklOSVRJT046IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdFdST05HX0lOU1RBTkNFX0lOVk9DQVRJT046IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdFdST05HX01PRElGSUNBVElPTl9QQVRURVJOOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRBTFJFQURZX0RFQ0xBUkVEOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRXUk9OR19BUkdVTUVOVFNfVVNFRDogTW5lbW9uaWNhRXJyb3JDb25zdHJ1Y3Rvcjtcblx0V1JPTkdfSE9PS19UWVBFOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRNSVNTSU5HX0NBTExCQUNLX0FSR1VNRU5UOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHQvLyBGTE9XX0NIRUNLRVJfUkVERUZJTklUSU9OOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRNSVNTSU5HX0hPT0tfQ0FMTEJBQ0s6IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdFRZUEVOQU1FX01VU1RfQkVfQV9TVFJJTkc6IE1uZW1vbmljYUVycm9yQ29uc3RydWN0b3I7XG5cdEhBTkRMRVJfTVVTVF9CRV9BX0ZVTkNUSU9OOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRPUFRJT05TX0VSUk9SOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXHRXUk9OR19TVEFDS19DTEVBTkVSOiBNbmVtb25pY2FFcnJvckNvbnN0cnVjdG9yO1xuXG5cdC8vIENvbnN0YW50c1xuXHRNTkVNT05JQ0E6IHN0cmluZztcblx0TU5FTU9TWU5FOiBzdHJpbmc7XG5cdFN5bWJvbFBhcmVudFR5cGU6IHN5bWJvbDtcblx0U3ltYm9sQ29uc3RydWN0b3JOYW1lOiBzeW1ib2w7XG5cdFN5bWJvbERlZmF1bHRUeXBlc0NvbGxlY3Rpb246IHN5bWJvbDtcblx0U3ltYm9sQ29uZmlnOiBzeW1ib2w7XG5cdFRZUEVfVElUTEVfUFJFRklYOiBzdHJpbmc7XG5cdEVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZXM7XG5cblx0Ly8gVXRpbHNcblx0dXRpbHM6IFV0aWxzQ29sbGVjdGlvbjtcblx0Z2V0UHJvcHM6IChpbnN0YW5jZTogb2JqZWN0KSA9PiBQcm9wc1R5cGUgfCB1bmRlZmluZWQ7XG5cdHNldFByb3BzOiAoaW5zdGFuY2U6IG9iamVjdCwgdmFsdWVzOiBvYmplY3QpID0+IHN0cmluZ1tdIHwgZmFsc2U7XG5cdGZpbmRTdWJUeXBlRnJvbVBhcmVudDogKGluc3RhbmNlOiBvYmplY3QgfCB1bmRlZmluZWQsIHN1YlR5cGU6IHN0cmluZykgPT4gb2JqZWN0IHwgbnVsbDtcblx0aXNDbGFzczogKGZuOiBDYWxsYWJsZUZ1bmN0aW9uKSA9PiBib29sZWFuO1xuXG5cdC8vIGNyZWF0ZVR5cGVzQ29sbGVjdGlvblxuXHRjcmVhdGVUeXBlc0NvbGxlY3Rpb246IENyZWF0ZVR5cGVzQ29sbGVjdGlvbkZ1bmN0aW9uO1xuXG5cdC8vIEFsbG93IGFkZGl0aW9uYWwgcHJvcGVydGllc1xuXHRba2V5OiBzdHJpbmddOiB1bmtub3duO1xufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const clone: <T extends object>(instance: T) => T;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.clone = void 0;
|
|
4
|
+
const fork_1 = require("./fork");
|
|
5
|
+
const clone = (instance) => {
|
|
6
|
+
const forkFn = (0, fork_1.fork)(instance);
|
|
7
|
+
const result = forkFn.call(instance);
|
|
8
|
+
return result;
|
|
9
|
+
};
|
|
10
|
+
exports.clone = clone;
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY2xvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7QUFFYixpQ0FBOEI7QUFFdkIsTUFBTSxLQUFLLEdBQUcsQ0FBbUIsUUFBVyxFQUFLLEVBQUU7SUFFekQsTUFBTSxNQUFNLEdBQUcsSUFBQSxXQUFJLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQU0sQ0FBQztJQUMxQyxPQUFPLE1BQU0sQ0FBQztBQUVmLENBQUMsQ0FBQztBQU5XLFFBQUEsS0FBSyxTQU1oQiIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHsgZm9yayB9IGZyb20gJy4vZm9yayc7XG5cbmV4cG9ydCBjb25zdCBjbG9uZSA9IDxUIGV4dGVuZHMgb2JqZWN0PihpbnN0YW5jZTogVCk6IFQgPT4ge1xuXG5cdGNvbnN0IGZvcmtGbiA9IGZvcmsoaW5zdGFuY2UpO1xuXHRjb25zdCByZXN1bHQgPSBmb3JrRm4uY2FsbChpbnN0YW5jZSkgYXMgVDtcblx0cmV0dXJuIHJlc3VsdDtcblxufTtcbiJdfQ==
|
|
@@ -4,15 +4,17 @@ exports.collectConstructors = void 0;
|
|
|
4
4
|
const constants_1 = require("../constants");
|
|
5
5
|
const { MNEMOSYNE, MNEMONICA, } = constants_1.constants;
|
|
6
6
|
const getAdditor = (constructors) => {
|
|
7
|
-
|
|
7
|
+
const result = Array.isArray(constructors) ?
|
|
8
8
|
(name) => {
|
|
9
9
|
constructors.push(name);
|
|
10
10
|
} : (name) => {
|
|
11
11
|
constructors[name] = true;
|
|
12
12
|
};
|
|
13
|
+
return result;
|
|
13
14
|
};
|
|
14
15
|
const getAccumulator = (asSequence) => {
|
|
15
|
-
|
|
16
|
+
const result = asSequence ? [] : {};
|
|
17
|
+
return result;
|
|
16
18
|
};
|
|
17
19
|
const collectConstructors = (self, asSequence = false) => {
|
|
18
20
|
const constructors = getAccumulator(asSequence);
|
|
@@ -58,4 +60,4 @@ const collectConstructors = (self, asSequence = false) => {
|
|
|
58
60
|
return constructors;
|
|
59
61
|
};
|
|
60
62
|
exports.collectConstructors = collectConstructors;
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdENvbnN0cnVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jb2xsZWN0Q29uc3RydWN0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsNENBQXlDO0FBRXpDLE1BQU0sRUFDTCxTQUFTLEVBQ1QsU0FBUyxHQUVULEdBQUcscUJBQVMsQ0FBQztBQUVkLE1BQU0sVUFBVSxHQUFHLENBQUMsWUFBcUQsRUFBRSxFQUFFO0lBQzVFLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUMzQyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ2hCLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFO1FBQ3BCLFlBQVksQ0FBRSxJQUFJLENBQUUsR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxNQUFNLENBQUM7QUFFZixDQUFDLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBRyxDQUFDLFVBQW1CLEVBQUUsRUFBRTtJQUM5QyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3BDLE9BQU8sTUFBTSxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUssTUFBTSxtQkFBbUIsR0FBRyxDQUFDLElBQVksRUFBRSxVQUFVLEdBQUcsS0FBSyxFQUFFLEVBQUU7SUFFdkUsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUUvQyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ25CLE9BQU8sWUFBWSxDQUFDO1FBQ3JCLENBQUM7SUFDRixDQUFDO1NBQU0sQ0FBQztRQUNQLE9BQU8sWUFBWSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLEtBQUssR0FBWSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWxELElBQUksZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQzdCLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QixNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUMvQyxJQUFJLGVBQWUsS0FBSyxTQUFTLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN4RCxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUM3QixLQUFLLEVBQ0wsYUFBYSxDQUNiLEVBQUUsQ0FBQztvQkFDSCxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7b0JBQy9CLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDekIsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixDQUFDO1lBQ0YsQ0FBQztpQkFBTSxJQUFJLGVBQWUsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDekMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUMvQixNQUFNO1lBQ1AsQ0FBQztpQkFBTSxDQUFDO2dCQUNQLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0YsQ0FBQztRQUVELElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUN0QixNQUFNO1FBQ1AsQ0FBQztRQUVELElBQUksR0FBRyxLQUFLLENBQUM7UUFDYixLQUFLLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNwQixhQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUN4QyxNQUFNO1FBQ1AsQ0FBQztJQVdGLENBQUM7SUFDRCxPQUFPLFlBQVksQ0FBQztBQUNyQixDQUFDLENBQUM7QUExRFcsUUFBQSxtQkFBbUIsdUJBMEQ5QiIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuY29uc3Qge1xuXHRNTkVNT1NZTkUsXG5cdE1ORU1PTklDQSxcblx0Ly8gU3ltYm9sQ29uc3RydWN0b3JOYW1lXG59ID0gY29uc3RhbnRzO1xuXG5jb25zdCBnZXRBZGRpdG9yID0gKGNvbnN0cnVjdG9yczogc3RyaW5nW10gfCB7IFtpbmRleDogc3RyaW5nXTogYm9vbGVhbiB9KSA9PiB7XG5cdGNvbnN0IHJlc3VsdCA9IEFycmF5LmlzQXJyYXkoY29uc3RydWN0b3JzKSA/XG5cdFx0KG5hbWU6IHN0cmluZykgPT4ge1xuXHRcdFx0Y29uc3RydWN0b3JzLnB1c2gobmFtZSk7XG5cdFx0fSA6IChuYW1lOiBzdHJpbmcpID0+IHtcblx0XHRcdGNvbnN0cnVjdG9yc1sgbmFtZSBdID0gdHJ1ZTtcblx0XHR9O1xuXHRyZXR1cm4gcmVzdWx0O1xuXG59O1xuXG5jb25zdCBnZXRBY2N1bXVsYXRvciA9IChhc1NlcXVlbmNlOiBib29sZWFuKSA9PiB7XG5cdGNvbnN0IHJlc3VsdCA9IGFzU2VxdWVuY2UgPyBbXSA6IHt9O1xuXHRyZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbGxlY3RDb25zdHJ1Y3RvcnMgPSAoc2VsZjogb2JqZWN0LCBhc1NlcXVlbmNlID0gZmFsc2UpID0+IHtcblxuXHRjb25zdCBjb25zdHJ1Y3RvcnMgPSBnZXRBY2N1bXVsYXRvcihhc1NlcXVlbmNlKTtcblx0Y29uc3QgYWRkVG9TZXF1ZW5jZSA9IGdldEFkZGl0b3IoY29uc3RydWN0b3JzKTtcblxuXHRpZiAodHlwZW9mIHNlbGYgPT09ICdvYmplY3QnKSB7XG5cdFx0aWYgKHNlbGYgPT09IG51bGwpIHtcblx0XHRcdHJldHVybiBjb25zdHJ1Y3RvcnM7XG5cdFx0fVxuXHR9IGVsc2Uge1xuXHRcdHJldHVybiBjb25zdHJ1Y3RvcnM7XG5cdH1cblxuXHRsZXQgcHJvdG86IHVua25vd24gPSBSZWZsZWN0LmdldFByb3RvdHlwZU9mKHNlbGYpO1xuXG5cdGxldCBtbmVtb25pY2FSZWFjaGVkID0gZmFsc2U7XG5cdHdoaWxlIChwcm90bykge1xuXHRcdGlmIChwcm90by5jb25zdHJ1Y3Rvcikge1xuXHRcdFx0Y29uc3QgY29uc3RydWN0b3JOYW1lID0gcHJvdG8uY29uc3RydWN0b3IubmFtZTtcblx0XHRcdGlmIChjb25zdHJ1Y3Rvck5hbWUgPT09IE1ORU1PTklDQSAmJiAhbW5lbW9uaWNhUmVhY2hlZCkge1xuXHRcdFx0XHRpZiAoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoXG5cdFx0XHRcdFx0cHJvdG8sXG5cdFx0XHRcdFx0J2NvbnN0cnVjdG9yJ1xuXHRcdFx0XHQpKSB7XG5cdFx0XHRcdFx0YWRkVG9TZXF1ZW5jZShjb25zdHJ1Y3Rvck5hbWUpO1xuXHRcdFx0XHRcdGFkZFRvU2VxdWVuY2UoTU5FTU9TWU5FKTtcblx0XHRcdFx0XHRtbmVtb25pY2FSZWFjaGVkID0gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIGlmIChjb25zdHJ1Y3Rvck5hbWUgPT09ICdPYmplY3QnKSB7XG5cdFx0XHRcdGFkZFRvU2VxdWVuY2UoY29uc3RydWN0b3JOYW1lKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRhZGRUb1NlcXVlbmNlKGNvbnN0cnVjdG9yTmFtZSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKG1uZW1vbmljYVJlYWNoZWQpIHtcblx0XHRcdGJyZWFrO1xuXHRcdH1cblx0XHRcblx0XHRzZWxmID0gcHJvdG87XG5cdFx0cHJvdG8gPSBSZWZsZWN0LmdldFByb3RvdHlwZU9mKHNlbGYpO1xuXHRcdGlmIChwcm90byA9PT0gbnVsbCkge1xuXHRcdFx0YWRkVG9TZXF1ZW5jZSgnT2JqZWN0OiBudWxsIHByb3RvdHlwZScpO1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHRcdC8qXG5cdFx0VE9ETzogc2hvdyBmdWxsIGNoYWluIGFuZCB0ZXN0IGl0ICEhIVxuXHRcdGVsc2Uge1xuXHRcdFx0Ly8gcHJvdG8gbWF5IGJlIGVpdGhlciBlbXB0eSBvYmplY3Qgb3IgbnVsbFxuXHRcdFx0Ly8gc28gdHlwZW9mIHdpbGwgYWx3YXlzIGJlICdvYmplY3QnXG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbG9uZWx5LWlmXG5cdFx0XHRhZGRUb1NlcXVlbmNlKCcuLi4gcGxhaW4gb2JqZWN0IC4uLicpO1xuXHRcdH1cblx0XHQqL1xuXHRcdC8vIHNvIGhlcmUgd2UgZ28gZGVlcGVyIHRvIHRoZSBjaGFpblxuXHR9XG5cdHJldHVybiBjb25zdHJ1Y3RvcnM7XG59O1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const exception: (instance: object, error: Error, ...args: unknown[]) => any;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.exception = void 0;
|
|
7
|
+
const exceptionConstructor_1 = __importDefault(require("../api/errors/exceptionConstructor"));
|
|
8
|
+
const exception = function (instance, error, ...args) {
|
|
9
|
+
const target = new.target;
|
|
10
|
+
const exceptionResult = exceptionConstructor_1.default.call(instance, target, error, ...args);
|
|
11
|
+
return exceptionResult;
|
|
12
|
+
};
|
|
13
|
+
exports.exception = exception;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2V4Y2VwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7Ozs7OztBQUViLDhGQUFzRTtBQUUvRCxNQUFNLFNBQVMsR0FBRyxVQUFVLFFBQWdCLEVBQUUsS0FBWSxFQUFFLEdBQUcsSUFBZTtJQUVwRixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzFCLE1BQU0sZUFBZSxHQUFHLDhCQUFvQixDQUFDLElBQUksQ0FDaEQsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsR0FBRyxJQUFJLENBQ1AsQ0FBQztJQUNGLE9BQU8sZUFBZSxDQUFDO0FBRXhCLENBQUMsQ0FBQztBQVhXLFFBQUEsU0FBUyxhQVdwQiIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IGV4Y2VwdGlvbkNvbnN0cnVjdG9yIGZyb20gJy4uL2FwaS9lcnJvcnMvZXhjZXB0aW9uQ29uc3RydWN0b3InO1xuXG5leHBvcnQgY29uc3QgZXhjZXB0aW9uID0gZnVuY3Rpb24gKGluc3RhbmNlOiBvYmplY3QsIGVycm9yOiBFcnJvciwgLi4uYXJnczogdW5rbm93bltdKSB7XG5cblx0Y29uc3QgdGFyZ2V0ID0gbmV3LnRhcmdldDtcblx0Y29uc3QgZXhjZXB0aW9uUmVzdWx0ID0gZXhjZXB0aW9uQ29uc3RydWN0b3IuY2FsbChcblx0XHRpbnN0YW5jZSxcblx0XHR0YXJnZXQsXG5cdFx0ZXJyb3IsXG5cdFx0Li4uYXJnc1xuXHQpO1xuXHRyZXR1cm4gZXhjZXB0aW9uUmVzdWx0O1xuXG59O1xuIl19
|
package/build/utils/extract.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
};
|
|
1
|
+
import type { Extracted } from '../types';
|
|
2
|
+
export declare const extract: <T extends object>(instance: T) => Extracted<T>;
|
package/build/utils/extract.js
CHANGED
|
@@ -11,7 +11,8 @@ const extract = (instance) => {
|
|
|
11
11
|
for (const name in instance) {
|
|
12
12
|
extracted[name] = instance[name];
|
|
13
13
|
}
|
|
14
|
-
|
|
14
|
+
const result = extracted;
|
|
15
|
+
return result;
|
|
15
16
|
};
|
|
16
17
|
exports.extract = extract;
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9leHRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsa0RBQW9EO0FBQ3BELE1BQU0sRUFBRSx5QkFBeUIsRUFBRSxHQUFHLG9CQUFXLENBQUM7QUFNM0MsTUFBTSxPQUFPLEdBQUcsQ0FBb0IsUUFBVyxFQUFpQixFQUFFO0lBR3hFLElBQUssUUFBUSxLQUFLLE1BQU0sQ0FBRSxRQUFRLENBQUUsRUFBRyxDQUFDO1FBQ3ZDLE1BQU0sSUFBSSx5QkFBeUIsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQW1DLEVBQUUsQ0FBQztJQUVyRCxLQUFNLE1BQU0sSUFBSSxJQUFJLFFBQVEsRUFBRyxDQUFDO1FBUS9CLFNBQVMsQ0FBRSxJQUFJLENBQUUsR0FBSyxRQUFxQyxDQUFFLElBQUksQ0FBRSxDQUFDO0lBQ3JFLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxTQUF5QixDQUFDO0lBQ3pDLE9BQU8sTUFBTSxDQUFDO0FBRWYsQ0FBQyxDQUFDO0FBdkJXLFFBQUEsT0FBTyxXQXVCbEIiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbmNvbnN0IHsgV1JPTkdfSU5TVEFOQ0VfSU5WT0NBVElPTiB9ID0gRXJyb3JzVHlwZXM7XG5cbmltcG9ydCB0eXBlIHsgRXh0cmFjdGVkIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vLyBpbXBvcnQgeyBob3AgfSBmcm9tICcuL2hvcCc7XG5cbmV4cG9ydCBjb25zdCBleHRyYWN0ID0gPFQgZXh0ZW5kcyBvYmplY3Q+KCBpbnN0YW5jZTogVCApOiBFeHRyYWN0ZWQ8VD4gPT4ge1xuXG5cdC8vIGF0IHRoaXMgc2l0dWF0aW9uIHRoaXMgY2hlY2sgaXMgZW5vdWdoXG5cdGlmICggaW5zdGFuY2UgIT09IE9iamVjdCggaW5zdGFuY2UgKSApIHtcblx0XHR0aHJvdyBuZXcgV1JPTkdfSU5TVEFOQ0VfSU5WT0NBVElPTjtcblx0fVxuXG5cdGNvbnN0IGV4dHJhY3RlZDogeyBbIGluZGV4OiBzdHJpbmcgXTogdW5rbm93biB9ID0ge307XG5cblx0Zm9yICggY29uc3QgbmFtZSBpbiBpbnN0YW5jZSApIHtcblx0XHQvLyBpZiAoIG5hbWUgPT09ICdjb25zdHJ1Y3RvcicgJiYgIWhvcCggaW5zdGFuY2UsIG5hbWUgKSApIHtcblx0XHQvLyBcdGNvbnRpbnVlO1xuXHRcdC8vIH1cblx0XHQvLyBpZiAobmFtZSA9PT0gJ3RpbWVzdGFtcCcpIHtcblx0XHQvLyBcdGNvbnRpbnVlO1xuXHRcdC8vIH1cblxuXHRcdGV4dHJhY3RlZFsgbmFtZSBdID0gKCBpbnN0YW5jZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiApWyBuYW1lIF07XG5cdH1cblxuXHRjb25zdCByZXN1bHQgPSBleHRyYWN0ZWQgYXMgRXh0cmFjdGVkPFQ+O1xuXHRyZXR1cm4gcmVzdWx0O1xuXG59O1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const fork: <T extends object>(instance: T) => (this: object, ...forkArgs: unknown[]) => T;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.fork = void 0;
|
|
7
|
+
const Props_1 = require("../api/types/Props");
|
|
8
|
+
const InstanceCreator_1 = require("../api/types/InstanceCreator");
|
|
9
|
+
const index_1 = __importDefault(require("../api/utils/index"));
|
|
10
|
+
const { reflectPrimitiveWrappers } = index_1.default;
|
|
11
|
+
const fork = (instance) => {
|
|
12
|
+
const props = (0, Props_1.getProps)(instance);
|
|
13
|
+
const { __type__: type, __collection__: collection, __parent__: existentInstance, __args__, __self__, } = props;
|
|
14
|
+
const { isSubType, TypeName } = type;
|
|
15
|
+
const result = function (...forkArgs) {
|
|
16
|
+
let forked;
|
|
17
|
+
const Constructor = isSubType ?
|
|
18
|
+
existentInstance :
|
|
19
|
+
collection;
|
|
20
|
+
const args = forkArgs.length ? forkArgs : __args__;
|
|
21
|
+
if (this === __self__) {
|
|
22
|
+
forked = new (Constructor[TypeName])(...args);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
forked = new InstanceCreator_1.InstanceCreator(type, reflectPrimitiveWrappers(this), args);
|
|
26
|
+
}
|
|
27
|
+
const forkResult = forked;
|
|
28
|
+
return forkResult;
|
|
29
|
+
};
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
32
|
+
exports.fork = fork;
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9mb3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7Ozs7O0FBRWIsOENBRTRCO0FBQzVCLGtFQUErRDtBQUMvRCwrREFBNEM7QUFFNUMsTUFBTSxFQUFFLHdCQUF3QixFQUFFLEdBQUcsZUFBVSxDQUFDO0FBRXpDLE1BQU0sSUFBSSxHQUFHLENBQW1CLFFBQVcsRUFBK0MsRUFBRTtJQUVsRyxNQUFNLEtBQUssR0FBRyxJQUFBLGdCQUFRLEVBQUMsUUFBUSxDQUFVLENBQUM7SUFFMUMsTUFBTSxFQUNMLFFBQVEsRUFBRSxJQUFJLEVBQ2QsY0FBYyxFQUFFLFVBQVUsRUFDMUIsVUFBVSxFQUFFLGdCQUFnQixFQUM1QixRQUFRLEVBQ1IsUUFBUSxHQUNSLEdBQUcsS0FBSyxDQUFDO0lBRVYsTUFBTSxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1IsR0FBRyxJQUFJLENBQUM7SUFFVCxNQUFNLE1BQU0sR0FBRyxVQUF3QixHQUFHLFFBQW1CO1FBRTVELElBQUksTUFBTSxDQUFDO1FBQ1gsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLENBQUM7WUFDOUIsZ0JBQWdCLENBQUMsQ0FBQztZQUNsQixVQUFVLENBQUM7UUFFWixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUduRCxJQUFJLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUd2QixNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBRSxRQUFRLENBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDakQsQ0FBQzthQUFNLENBQUM7WUFFUCxNQUFNLEdBQUcsSUFBSSxpQ0FBZSxDQUMzQixJQUFJLEVBQ0osd0JBQXdCLENBQUMsSUFBSSxDQUFDLEVBQzlCLElBQUksQ0FDSixDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLE1BQVcsQ0FBQztRQUMvQixPQUFPLFVBQVUsQ0FBQztJQUVuQixDQUFDLENBQUM7SUFDRixPQUFPLE1BQU0sQ0FBQztBQUVmLENBQUMsQ0FBQztBQTlDVyxRQUFBLElBQUksUUE4Q2YiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7XG5cdGdldFByb3BzLCBQcm9wcyBcbn0gZnJvbSAnLi4vYXBpL3R5cGVzL1Byb3BzJztcbmltcG9ydCB7IEluc3RhbmNlQ3JlYXRvciB9IGZyb20gJy4uL2FwaS90eXBlcy9JbnN0YW5jZUNyZWF0b3InO1xuaW1wb3J0IFR5cGVzVXRpbHMgZnJvbSAnLi4vYXBpL3V0aWxzL2luZGV4JztcblxuY29uc3QgeyByZWZsZWN0UHJpbWl0aXZlV3JhcHBlcnMgfSA9IFR5cGVzVXRpbHM7XG5cbmV4cG9ydCBjb25zdCBmb3JrID0gPFQgZXh0ZW5kcyBvYmplY3Q+KGluc3RhbmNlOiBUKTogKHRoaXM6IG9iamVjdCwgLi4uZm9ya0FyZ3M6IHVua25vd25bXSkgPT4gVCA9PiB7XG5cblx0Y29uc3QgcHJvcHMgPSBnZXRQcm9wcyhpbnN0YW5jZSkgYXMgUHJvcHM7XG5cblx0Y29uc3Qge1xuXHRcdF9fdHlwZV9fOiB0eXBlLFxuXHRcdF9fY29sbGVjdGlvbl9fOiBjb2xsZWN0aW9uLFxuXHRcdF9fcGFyZW50X186IGV4aXN0ZW50SW5zdGFuY2UsXG5cdFx0X19hcmdzX18sXG5cdFx0X19zZWxmX18sXG5cdH0gPSBwcm9wcztcblxuXHRjb25zdCB7XG5cdFx0aXNTdWJUeXBlLFxuXHRcdFR5cGVOYW1lXG5cdH0gPSB0eXBlO1xuXG5cdGNvbnN0IHJlc3VsdCA9IGZ1bmN0aW9uICh0aGlzOiBvYmplY3QsIC4uLmZvcmtBcmdzOiB1bmtub3duW10pIHtcblxuXHRcdGxldCBmb3JrZWQ7XG5cdFx0Y29uc3QgQ29uc3RydWN0b3IgPSBpc1N1YlR5cGUgP1xuXHRcdFx0ZXhpc3RlbnRJbnN0YW5jZSA6XG5cdFx0XHRjb2xsZWN0aW9uO1xuXG5cdFx0Y29uc3QgYXJncyA9IGZvcmtBcmdzLmxlbmd0aCA/IGZvcmtBcmdzIDogX19hcmdzX187XG5cblxuXHRcdGlmICh0aGlzID09PSBfX3NlbGZfXykge1xuXG5cdFx0XHQvLyBAdHMtZXhwZWN0LWVycm9yICB0aGlzIGlzIGRlZmluaXRlbHkgYSBjb25zdHJ1Y3RvclxuXHRcdFx0Zm9ya2VkID0gbmV3IChDb25zdHJ1Y3RvclsgVHlwZU5hbWUgXSkoLi4uYXJncyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIGZvcmsuY2FsbCA/IGxldCdzIGRvIGl0ICFcblx0XHRcdGZvcmtlZCA9IG5ldyBJbnN0YW5jZUNyZWF0b3IoXG5cdFx0XHRcdHR5cGUsXG5cdFx0XHRcdHJlZmxlY3RQcmltaXRpdmVXcmFwcGVycyh0aGlzKSxcblx0XHRcdFx0YXJnc1xuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRjb25zdCBmb3JrUmVzdWx0ID0gZm9ya2VkIGFzIFQ7XG5cdFx0cmV0dXJuIGZvcmtSZXN1bHQ7XG5cblx0fTtcblx0cmV0dXJuIHJlc3VsdDtcblxufTtcbiJdfQ==
|
package/build/utils/index.d.ts
CHANGED
package/build/utils/index.js
CHANGED
|
@@ -5,6 +5,10 @@ const collectConstructors_1 = require("./collectConstructors");
|
|
|
5
5
|
const extract_1 = require("./extract");
|
|
6
6
|
const parent_1 = require("./parent");
|
|
7
7
|
const pick_1 = require("./pick");
|
|
8
|
+
const sibling_1 = require("./sibling");
|
|
9
|
+
const exception_1 = require("./exception");
|
|
10
|
+
const fork_1 = require("./fork");
|
|
11
|
+
const clone_1 = require("./clone");
|
|
8
12
|
const toJSON_1 = require("./toJSON");
|
|
9
13
|
const parse_1 = require("./parse");
|
|
10
14
|
const merge_1 = require("./merge");
|
|
@@ -12,18 +16,28 @@ const utilsUnWrapped = {
|
|
|
12
16
|
extract: extract_1.extract,
|
|
13
17
|
pick: pick_1.pick,
|
|
14
18
|
parent: parent_1.parent,
|
|
19
|
+
sibling: sibling_1.sibling,
|
|
20
|
+
exception: exception_1.exception,
|
|
21
|
+
fork: fork_1.fork,
|
|
22
|
+
clone: clone_1.clone,
|
|
15
23
|
toJSON: toJSON_1.toJSON,
|
|
16
24
|
parse: parse_1.parse,
|
|
17
25
|
merge: merge_1.merge,
|
|
18
|
-
|
|
19
|
-
return collectConstructors_1.collectConstructors;
|
|
20
|
-
},
|
|
26
|
+
collectConstructors: collectConstructors_1.collectConstructors,
|
|
21
27
|
};
|
|
22
28
|
const wrapThis = (method) => {
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
|
|
29
|
+
const result = function (instance, ...args) {
|
|
30
|
+
const instanceContext = instance !== undefined ? instance : this;
|
|
31
|
+
let wrapResult;
|
|
32
|
+
if (new.target) {
|
|
33
|
+
wrapResult = new method(instanceContext, ...args);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
wrapResult = method(instanceContext, ...args);
|
|
37
|
+
}
|
|
38
|
+
return wrapResult;
|
|
26
39
|
};
|
|
40
|
+
return result;
|
|
27
41
|
};
|
|
28
42
|
exports.utils = Object.assign({}, Object.entries(utilsUnWrapped)
|
|
29
43
|
.reduce((methods, util) => {
|
|
@@ -33,4 +47,4 @@ exports.utils = Object.assign({}, Object.entries(utilsUnWrapped)
|
|
|
33
47
|
}, {}));
|
|
34
48
|
var defineStackCleaner_1 = require("./defineStackCleaner");
|
|
35
49
|
Object.defineProperty(exports, "defineStackCleaner", { enumerable: true, get: function () { return defineStackCleaner_1.defineStackCleaner; } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7QUFPYiwrREFBNEQ7QUFDNUQsdUNBQW9DO0FBQ3BDLHFDQUFrQztBQUNsQyxpQ0FBOEI7QUFDOUIsdUNBQW9DO0FBQ3BDLDJDQUF3QztBQUN4QyxpQ0FBOEI7QUFDOUIsbUNBQWdDO0FBQ2hDLHFDQUFrQztBQUNsQyxtQ0FBZ0M7QUFDaEMsbUNBQWdDO0FBRWhDLE1BQU0sY0FBYyxHQUFHO0lBRXRCLE9BQU8sRUFBUCxpQkFBTztJQUNQLElBQUksRUFBSixXQUFJO0lBRUosTUFBTSxFQUFOLGVBQU07SUFDTixPQUFPLEVBQVAsaUJBQU87SUFDUCxTQUFTLEVBQVQscUJBQVM7SUFDVCxJQUFJLEVBQUosV0FBSTtJQUNKLEtBQUssRUFBTCxhQUFLO0lBRUwsTUFBTSxFQUFOLGVBQU07SUFFTixLQUFLLEVBQUwsYUFBSztJQUNMLEtBQUssRUFBTCxhQUFLO0lBRUwsbUJBQW1CLEVBQW5CLHlDQUFtQjtDQUVuQixDQUFDO0FBRUYsTUFBTSxRQUFRLEdBQUcsQ0FBRSxNQUF1QixFQUFHLEVBQUU7SUFDOUMsTUFBTSxNQUFNLEdBQUcsVUFBeUIsUUFBNEIsRUFBRSxHQUFHLElBQWU7UUFDdkYsTUFBTSxlQUFlLEdBQUcsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDakUsSUFBSSxVQUFtQixDQUFDO1FBQ3hCLElBQUssR0FBRyxDQUFDLE1BQU0sRUFBRyxDQUFDO1lBQ2xCLFVBQVUsR0FBRyxJQUFLLE1BQXNELENBQ3ZFLGVBQWUsRUFDZixHQUFHLElBQUksQ0FDUCxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDUCxVQUFVLEdBQUcsTUFBTSxDQUNsQixlQUFlLEVBQ2YsR0FBRyxJQUFJLENBQ1AsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNuQixDQUFDLENBQUM7SUFDRixPQUFPLE1BQU0sQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVXLFFBQUEsS0FBSyxHQUFHLGtCQUVqQixNQUFNLENBQUMsT0FBTyxDQUFFLGNBQWMsQ0FBRTtLQUNqQyxNQUFNLENBQ04sQ0FBRSxPQUFnRCxFQUFFLElBQUksRUFBRyxFQUFFO0lBQzVELE1BQU0sQ0FBRSxJQUFJLEVBQUUsRUFBRSxDQUFFLEdBQUcsSUFBSSxDQUFDO0lBQzFCLE9BQU8sQ0FBRSxJQUFJLENBQUUsR0FBRyxRQUFRLENBQUUsRUFBRSxDQUFFLENBQUM7SUFDakMsT0FBTyxPQUFPLENBQUM7QUFDaEIsQ0FBQyxFQUNELEVBQUUsQ0FDRixDQUVpQixDQUFDO0FBRXJCLDJEQUEwRDtBQUFqRCx3SEFBQSxrQkFBa0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHR5cGUge1xuXHRXcmFwcGFibGVNZXRob2QsXG5cdFV0aWxzQ29sbGVjdGlvblxufSBmcm9tICcuLi90eXBlcyc7XG5cbmltcG9ydCB7IGNvbGxlY3RDb25zdHJ1Y3RvcnMgfSBmcm9tICcuL2NvbGxlY3RDb25zdHJ1Y3RvcnMnO1xuaW1wb3J0IHsgZXh0cmFjdCB9IGZyb20gJy4vZXh0cmFjdCc7XG5pbXBvcnQgeyBwYXJlbnQgfSBmcm9tICcuL3BhcmVudCc7XG5pbXBvcnQgeyBwaWNrIH0gZnJvbSAnLi9waWNrJztcbmltcG9ydCB7IHNpYmxpbmcgfSBmcm9tICcuL3NpYmxpbmcnO1xuaW1wb3J0IHsgZXhjZXB0aW9uIH0gZnJvbSAnLi9leGNlcHRpb24nO1xuaW1wb3J0IHsgZm9yayB9IGZyb20gJy4vZm9yayc7XG5pbXBvcnQgeyBjbG9uZSB9IGZyb20gJy4vY2xvbmUnO1xuaW1wb3J0IHsgdG9KU09OIH0gZnJvbSAnLi90b0pTT04nO1xuaW1wb3J0IHsgcGFyc2UgfSBmcm9tICcuL3BhcnNlJztcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAnLi9tZXJnZSc7XG5cbmNvbnN0IHV0aWxzVW5XcmFwcGVkID0ge1xuXG5cdGV4dHJhY3QsXG5cdHBpY2ssXG5cblx0cGFyZW50LFxuXHRzaWJsaW5nLFxuXHRleGNlcHRpb24sXG5cdGZvcmssXG5cdGNsb25lLFxuXG5cdHRvSlNPTixcblxuXHRwYXJzZSxcblx0bWVyZ2UsXG5cblx0Y29sbGVjdENvbnN0cnVjdG9ycyxcblxufTtcblxuY29uc3Qgd3JhcFRoaXMgPSAoIG1ldGhvZDogV3JhcHBhYmxlTWV0aG9kICkgPT4ge1xuXHRjb25zdCByZXN1bHQgPSBmdW5jdGlvbiAoIHRoaXM6IG9iamVjdCwgaW5zdGFuY2U6IG9iamVjdCB8IHVuZGVmaW5lZCwgLi4uYXJnczogdW5rbm93bltdICkge1xuXHRcdGNvbnN0IGluc3RhbmNlQ29udGV4dCA9IGluc3RhbmNlICE9PSB1bmRlZmluZWQgPyBpbnN0YW5jZSA6IHRoaXM7XG5cdFx0bGV0IHdyYXBSZXN1bHQ6IHVua25vd247XG5cdFx0aWYgKCBuZXcudGFyZ2V0ICkge1xuXHRcdFx0d3JhcFJlc3VsdCA9IG5ldyAobWV0aG9kIGFzIHVua25vd24gYXMgbmV3ICguLi5hOiB1bmtub3duW10pID0+IHVua25vd24pKFxuXHRcdFx0XHRpbnN0YW5jZUNvbnRleHQsXG5cdFx0XHRcdC4uLmFyZ3Ncblx0XHRcdCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHdyYXBSZXN1bHQgPSBtZXRob2QoXG5cdFx0XHRcdGluc3RhbmNlQ29udGV4dCxcblx0XHRcdFx0Li4uYXJncyBcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiB3cmFwUmVzdWx0O1xuXHR9O1xuXHRyZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IHV0aWxzID0ge1xuXG5cdC4uLk9iamVjdC5lbnRyaWVzKCB1dGlsc1VuV3JhcHBlZCApXG5cdFx0LnJlZHVjZShcblx0XHRcdCggbWV0aG9kczogeyBbIGluZGV4OiBzdHJpbmcgXTogQ2FsbGFibGVGdW5jdGlvbiB9LCB1dGlsICkgPT4ge1xuXHRcdFx0XHRjb25zdCBbIG5hbWUsIGZuIF0gPSB1dGlsO1xuXHRcdFx0XHRtZXRob2RzWyBuYW1lIF0gPSB3cmFwVGhpcyggZm4gKTtcblx0XHRcdFx0cmV0dXJuIG1ldGhvZHM7XG5cdFx0XHR9LFxuXHRcdFx0e31cblx0XHQpLFxuXG59IGFzIFV0aWxzQ29sbGVjdGlvbjtcblxuZXhwb3J0IHsgZGVmaW5lU3RhY2tDbGVhbmVyIH0gZnJvbSAnLi9kZWZpbmVTdGFja0NsZWFuZXInO1xuIl19
|
package/build/utils/merge.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Merge, InstanceResult } from '../types';
|
|
2
|
+
export declare const merge: <A extends object, B extends object>(a: A, b: B, ...args: unknown[]) => InstanceResult<Merge<B, A>>;
|
package/build/utils/merge.js
CHANGED
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.merge = void 0;
|
|
4
4
|
const errors_1 = require("../descriptors/errors");
|
|
5
5
|
const { WRONG_ARGUMENTS_USED } = errors_1.ErrorsTypes;
|
|
6
|
+
const fork_1 = require("./fork");
|
|
7
|
+
const Props_1 = require("../api/types/Props");
|
|
6
8
|
const merge = (a, b, ...args) => {
|
|
7
9
|
if (a !== Object(a)) {
|
|
8
10
|
throw new WRONG_ARGUMENTS_USED('A should be an object');
|
|
@@ -10,12 +12,14 @@ const merge = (a, b, ...args) => {
|
|
|
10
12
|
if (b !== Object(b)) {
|
|
11
13
|
throw new WRONG_ARGUMENTS_USED('B should be an object');
|
|
12
14
|
}
|
|
13
|
-
const
|
|
14
|
-
if (
|
|
15
|
-
throw new WRONG_ARGUMENTS_USED('A should
|
|
15
|
+
const props = (0, Props_1.getProps)(a);
|
|
16
|
+
if (props === undefined) {
|
|
17
|
+
throw new WRONG_ARGUMENTS_USED('A should be a mnemonica instance');
|
|
16
18
|
}
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
+
const forked = (0, fork_1.fork)(a);
|
|
20
|
+
const aa = forked.call(b, ...args);
|
|
21
|
+
const result = aa;
|
|
22
|
+
return result;
|
|
19
23
|
};
|
|
20
24
|
exports.merge = merge;
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvbWVyZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7QUFFYixrREFBb0Q7QUFDcEQsTUFBTSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsb0JBQVcsQ0FBQztBQUM3QyxpQ0FBOEI7QUFDOUIsOENBQThDO0FBTXZDLE1BQU0sS0FBSyxHQUFHLENBQ3BCLENBQUksRUFDSixDQUFJLEVBQ0osR0FBRyxJQUFlLEVBQ1ksRUFBRTtJQUdoQyxJQUFLLENBQUMsS0FBSyxNQUFNLENBQUUsQ0FBQyxDQUFFLEVBQUcsQ0FBQztRQUN6QixNQUFNLElBQUksb0JBQW9CLENBQUUsdUJBQXVCLENBQUUsQ0FBQztJQUMzRCxDQUFDO0lBR0QsSUFBSyxDQUFDLEtBQUssTUFBTSxDQUFFLENBQUMsQ0FBRSxFQUFHLENBQUM7UUFDekIsTUFBTSxJQUFJLG9CQUFvQixDQUFFLHVCQUF1QixDQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLElBQUEsZ0JBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUMxQixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksb0JBQW9CLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsSUFBQSxXQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDckIsQ0FBQyxFQUNELEdBQUcsSUFBSSxDQUNQLENBQUM7SUFDRixNQUFNLE1BQU0sR0FBRyxFQUFpQyxDQUFDO0lBQ2pELE9BQU8sTUFBTSxDQUFDO0FBRWYsQ0FBQyxDQUFDO0FBN0JXLFFBQUEsS0FBSyxTQTZCaEIiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbmNvbnN0IHsgV1JPTkdfQVJHVU1FTlRTX1VTRUQgfSA9IEVycm9yc1R5cGVzO1xuaW1wb3J0IHsgZm9yayB9IGZyb20gJy4vZm9yayc7XG5pbXBvcnQgeyBnZXRQcm9wcyB9IGZyb20gJy4uL2FwaS90eXBlcy9Qcm9wcyc7XG5pbXBvcnQgdHlwZSB7XG5cdE1lcmdlLFxuXHRJbnN0YW5jZVJlc3VsdCxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgbWVyZ2UgPSA8QSBleHRlbmRzIG9iamVjdCwgQiBleHRlbmRzIG9iamVjdD4oXG5cdGE6IEEsXG5cdGI6IEIsXG5cdC4uLmFyZ3M6IHVua25vd25bXVxuKTogSW5zdGFuY2VSZXN1bHQ8TWVyZ2U8QiwgQT4+ID0+IHtcblxuXHQvLyBhdCB0aGlzIHNpdHVhdGlvbiB0aGlzIGNoZWNrIGlzIGVub3VnaFxuXHRpZiAoIGEgIT09IE9iamVjdCggYSApICkge1xuXHRcdHRocm93IG5ldyBXUk9OR19BUkdVTUVOVFNfVVNFRCggJ0Egc2hvdWxkIGJlIGFuIG9iamVjdCcgKTtcblx0fVxuXG5cdC8vIGF0IHRoaXMgc2l0dWF0aW9uIHRoaXMgY2hlY2sgaXMgZW5vdWdoXG5cdGlmICggYiAhPT0gT2JqZWN0KCBiICkgKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX0FSR1VNRU5UU19VU0VEKCAnQiBzaG91bGQgYmUgYW4gb2JqZWN0JyApO1xuXHR9XG5cblx0Y29uc3QgcHJvcHMgPSBnZXRQcm9wcyhhKTtcblx0aWYgKHByb3BzID09PSB1bmRlZmluZWQpIHtcblx0XHR0aHJvdyBuZXcgV1JPTkdfQVJHVU1FTlRTX1VTRUQoJ0Egc2hvdWxkIGJlIGEgbW5lbW9uaWNhIGluc3RhbmNlJyk7XG5cdH1cblxuXHRjb25zdCBmb3JrZWQgPSBmb3JrKGEpO1xuXHRjb25zdCBhYSA9IGZvcmtlZC5jYWxsKFxuXHRcdGIsXG5cdFx0Li4uYXJncyBcblx0KTtcblx0Y29uc3QgcmVzdWx0ID0gYWEgYXMgSW5zdGFuY2VSZXN1bHQ8TWVyZ2U8QiwgQT4+O1xuXHRyZXR1cm4gcmVzdWx0O1xuXG59O1xuIl19
|
package/build/utils/parent.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const parent: (instance:
|
|
1
|
+
export declare const parent: <T extends object>(instance: T, path?: string) => object | undefined;
|
package/build/utils/parent.js
CHANGED
|
@@ -17,8 +17,9 @@ const parent = (instance, path) => {
|
|
|
17
17
|
return p;
|
|
18
18
|
}
|
|
19
19
|
const { constructor: { name } } = p;
|
|
20
|
-
|
|
20
|
+
const result = name === path ?
|
|
21
21
|
p : (0, exports.parent)(p, path);
|
|
22
|
+
return result;
|
|
22
23
|
};
|
|
23
24
|
exports.parent = parent;
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3BhcmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7OztBQUViLGtEQUFvRDtBQUNwRCxNQUFNLEVBQUUseUJBQXlCLEVBQUUsR0FBRyxvQkFBVyxDQUFDO0FBRWxELDhDQUU0QjtBQUtyQixNQUFNLE1BQU0sR0FBRyxDQUFvQixRQUFXLEVBQUUsSUFBYSxFQUF1QixFQUFFO0lBRzVGLElBQUssUUFBUSxLQUFLLE1BQU0sQ0FBRSxRQUFRLENBQUUsRUFBRyxDQUFDO1FBQ3ZDLE1BQU0sSUFBSSx5QkFBeUIsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsSUFBQSxpQkFBUyxFQUFDLFFBQVEsQ0FBVSxDQUFDO0lBRTNDLElBQUssQ0FBQyxLQUFLLEVBQUcsQ0FBQztRQUNkLE9BQU87SUFDUixDQUFDO0lBRUQsTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFaEMsSUFBSyxDQUFDLElBQUksRUFBRyxDQUFDO1FBQ2IsT0FBTyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBSXBDLE1BQU0sTUFBTSxHQUFHLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEsY0FBTSxFQUFFLENBQVcsRUFBRSxJQUFJLENBQUUsQ0FBQztJQUNqQyxPQUFPLE1BQU0sQ0FBQztBQUVmLENBQUMsQ0FBQztBQTNCVyxRQUFBLE1BQU0sVUEyQmpCIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBFcnJvcnNUeXBlcyB9IGZyb20gJy4uL2Rlc2NyaXB0b3JzL2Vycm9ycyc7XG5jb25zdCB7IFdST05HX0lOU1RBTkNFX0lOVk9DQVRJT04gfSA9IEVycm9yc1R5cGVzO1xuXG5pbXBvcnQge1xuXHRfZ2V0UHJvcHMsIFByb3BzIFxufSBmcm9tICcuLi9hcGkvdHlwZXMvUHJvcHMnO1xuXG4vLyBzZWVrIGZvciBmaXJ0cyBwYXJlbnQgaW5zdGFuY2Vcbi8vIG9mIGluc3RhbmNlIHByb3RvdHlwZSBjaGFpblxuLy8gd2l0aCBjb25zdHJ1Y3RvcnMgb2YgcGF0aFxuZXhwb3J0IGNvbnN0IHBhcmVudCA9IDxUIGV4dGVuZHMgb2JqZWN0PiggaW5zdGFuY2U6IFQsIHBhdGg/OiBzdHJpbmcgKTogb2JqZWN0IHwgdW5kZWZpbmVkID0+IHtcblxuXHQvLyBhdCB0aGlzIHNpdHVhdGlvbiB0aGlzIGNoZWNrIGlzIGVub3VnaFxuXHRpZiAoIGluc3RhbmNlICE9PSBPYmplY3QoIGluc3RhbmNlICkgKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX0lOU1RBTkNFX0lOVk9DQVRJT047XG5cdH1cblxuXHRjb25zdCBwcm9wcyA9IF9nZXRQcm9wcyhpbnN0YW5jZSkgYXMgUHJvcHM7XG5cblx0aWYgKCAhcHJvcHMgKSB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0Y29uc3QgeyBfX3BhcmVudF9fOiBwIH0gPSBwcm9wcztcblxuXHRpZiAoICFwYXRoICkge1xuXHRcdHJldHVybiBwO1xuXHR9XG5cblx0Y29uc3QgeyBjb25zdHJ1Y3RvcjogeyBuYW1lIH0gfSA9IHA7XG5cblx0Ly8gc2VlayB0aHJvdWggcGFyZW50IGluc3RhbmNlc1xuXHQvLyBhYm91dCB0aGUgZmlzdCBjb25zdHJ1Y3RvciB3aXRoIHRoaXMgbmFtZVxuXHRjb25zdCByZXN1bHQgPSBuYW1lID09PSBwYXRoID9cblx0XHRwIDogcGFyZW50KCBwIGFzIG9iamVjdCwgcGF0aCApO1xuXHRyZXR1cm4gcmVzdWx0O1xuXG59O1xuIl19
|
package/build/utils/parse.d.ts
CHANGED
|
@@ -1,12 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
props: {
|
|
4
|
-
[index: string]: unknown;
|
|
5
|
-
};
|
|
6
|
-
self: object;
|
|
7
|
-
proto: object;
|
|
8
|
-
joint: {
|
|
9
|
-
[index: string]: unknown;
|
|
10
|
-
};
|
|
11
|
-
parent: unknown;
|
|
12
|
-
};
|
|
1
|
+
import type { Parsed } from '../types';
|
|
2
|
+
export declare const parse: <T extends object>(self: T) => Parsed<T>;
|