@angular/core 14.1.3 → 14.2.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/src/application_ref.mjs +26 -21
- package/esm2020/src/core_private_export.mjs +3 -3
- package/esm2020/src/core_render3_private_export.mjs +4 -4
- package/esm2020/src/di/interface/defs.mjs +4 -1
- package/esm2020/src/render3/component_ref.mjs +4 -31
- package/esm2020/src/render3/definition.mjs +5 -1
- package/esm2020/src/render3/index.mjs +4 -4
- package/esm2020/src/render3/instructions/change_detection.mjs +3 -19
- package/esm2020/src/render3/instructions/shared.mjs +1 -43
- package/esm2020/src/render3/interfaces/view.mjs +1 -1
- package/esm2020/src/render3/jit/module.mjs +2 -6
- package/esm2020/src/render3/util/change_detection_utils.mjs +7 -3
- package/esm2020/src/render3/util/misc_utils.mjs +1 -7
- package/esm2020/src/version.mjs +1 -1
- package/esm2020/testing/src/logger.mjs +3 -3
- package/esm2020/testing/src/ng_zone_mock.mjs +3 -3
- package/esm2020/testing/src/resolvers.mjs +1 -1
- package/esm2020/testing/src/test_bed.mjs +442 -15
- package/esm2020/testing/src/test_bed_common.mjs +1 -1
- package/esm2020/testing/src/test_bed_compiler.mjs +823 -0
- package/esm2020/testing/src/test_hooks.mjs +5 -5
- package/esm2020/testing/src/testing.mjs +1 -1
- package/fesm2015/core.mjs +38 -116
- package/fesm2015/core.mjs.map +1 -1
- package/fesm2015/testing.mjs +114 -202
- package/fesm2015/testing.mjs.map +1 -1
- package/fesm2020/core.mjs +38 -116
- package/fesm2020/core.mjs.map +1 -1
- package/fesm2020/testing.mjs +114 -203
- package/fesm2020/testing.mjs.map +1 -1
- package/index.d.ts +13 -100
- package/package.json +1 -1
- package/testing/index.d.ts +18 -94
- package/esm2020/src/render3/interfaces/player.mjs +0 -9
- package/esm2020/testing/src/r3_test_bed.mjs +0 -433
- package/esm2020/testing/src/r3_test_bed_compiler.mjs +0 -823
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v14.
|
|
2
|
+
* @license Angular v14.2.0-rc.0
|
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -1316,8 +1316,6 @@ declare class ComponentFactoryResolver_2 extends ComponentFactoryResolver {
|
|
|
1316
1316
|
resolveComponentFactory<T>(component: Type<T>): ComponentFactory<T>;
|
|
1317
1317
|
}
|
|
1318
1318
|
|
|
1319
|
-
declare type ComponentInstance = {};
|
|
1320
|
-
|
|
1321
1319
|
/**
|
|
1322
1320
|
* An interface that describes the subset of component metadata
|
|
1323
1321
|
* that can be retrieved using the `reflectComponentType` function.
|
|
@@ -2512,8 +2510,6 @@ declare type DirectiveDefList = (ɵDirectiveDef<any> | ɵComponentDef<any>)[];
|
|
|
2512
2510
|
*/
|
|
2513
2511
|
declare type DirectiveDefListOrFactory = (() => DirectiveDefList) | DirectiveDefList;
|
|
2514
2512
|
|
|
2515
|
-
declare type DirectiveInstance = {};
|
|
2516
|
-
|
|
2517
2513
|
/**
|
|
2518
2514
|
* @description
|
|
2519
2515
|
* Hook for manual bootstrapping of the application instead of using `bootstrap` array in @NgModule
|
|
@@ -10197,6 +10193,12 @@ export declare function ɵfindLocaleData(locale: string): any;
|
|
|
10197
10193
|
*/
|
|
10198
10194
|
export declare function ɵflushModuleScopingQueueAsMuchAsPossible(): void;
|
|
10199
10195
|
|
|
10196
|
+
/**
|
|
10197
|
+
* Called to format a runtime error.
|
|
10198
|
+
* See additional info on the `message` argument type in the `RuntimeError` class description.
|
|
10199
|
+
*/
|
|
10200
|
+
export declare function ɵformatRuntimeError<T extends number = RuntimeErrorCode>(code: T, message: null | false | string): string;
|
|
10201
|
+
|
|
10200
10202
|
export declare function ɵgetDebugNodeR2(_nativeNode: any): DebugNode | null;
|
|
10201
10203
|
|
|
10202
10204
|
/**
|
|
@@ -10316,7 +10318,8 @@ export declare function ɵinjectChangeDetectorRef(flags: InjectFlags): ChangeDet
|
|
|
10316
10318
|
export declare const ɵINJECTOR_SCOPE: InjectionToken<InjectorScope | null>;
|
|
10317
10319
|
|
|
10318
10320
|
/**
|
|
10319
|
-
* Internal
|
|
10321
|
+
* Internal create application API that implements the core application creation logic and optional
|
|
10322
|
+
* bootstrap logic.
|
|
10320
10323
|
*
|
|
10321
10324
|
* Platforms (such as `platform-browser`) may require different set of application and platform
|
|
10322
10325
|
* providers for an application to function correctly. As a result, platforms may use this function
|
|
@@ -10325,8 +10328,8 @@ export declare const ɵINJECTOR_SCOPE: InjectionToken<InjectorScope | null>;
|
|
|
10325
10328
|
*
|
|
10326
10329
|
* @returns A promise that returns an `ApplicationRef` instance once resolved.
|
|
10327
10330
|
*/
|
|
10328
|
-
export declare function
|
|
10329
|
-
rootComponent
|
|
10331
|
+
export declare function ɵinternalCreateApplication(config: {
|
|
10332
|
+
rootComponent?: Type<unknown>;
|
|
10330
10333
|
appProviders?: Array<Provider | ImportedNgModuleProviders>;
|
|
10331
10334
|
platformProviders?: Provider[];
|
|
10332
10335
|
}): Promise<ApplicationRef>;
|
|
@@ -10342,6 +10345,8 @@ export declare function ɵisBoundToModule<C>(cf: ComponentFactory<C>): boolean;
|
|
|
10342
10345
|
*/
|
|
10343
10346
|
export declare function ɵisDefaultChangeDetectionStrategy(changeDetectionStrategy: ChangeDetectionStrategy): boolean;
|
|
10344
10347
|
|
|
10348
|
+
export declare function ɵisInjectable(type: any): boolean;
|
|
10349
|
+
|
|
10345
10350
|
export declare function ɵisListLikeIterable(obj: any): boolean;
|
|
10346
10351
|
|
|
10347
10352
|
/**
|
|
@@ -10476,17 +10481,6 @@ export declare function ɵmakeDecorator<T>(name: string, props?: (...args: any[]
|
|
|
10476
10481
|
(...args: any[]): (cls: any) => any;
|
|
10477
10482
|
};
|
|
10478
10483
|
|
|
10479
|
-
/**
|
|
10480
|
-
* Marks the component as dirty (needing change detection). Marking a component dirty will
|
|
10481
|
-
* schedule a change detection on it at some point in the future.
|
|
10482
|
-
*
|
|
10483
|
-
* Marking an already dirty component as dirty won't do anything. Only one outstanding change
|
|
10484
|
-
* detection can be scheduled per component tree.
|
|
10485
|
-
*
|
|
10486
|
-
* @param component Component to mark as dirty.
|
|
10487
|
-
*/
|
|
10488
|
-
export declare function ɵmarkDirty(component: {}): void;
|
|
10489
|
-
|
|
10490
10484
|
|
|
10491
10485
|
export declare const ɵNG_COMP_DEF: string;
|
|
10492
10486
|
|
|
@@ -10661,69 +10655,6 @@ export declare interface ɵPipeDef<T> {
|
|
|
10661
10655
|
onDestroy: (() => void) | null;
|
|
10662
10656
|
}
|
|
10663
10657
|
|
|
10664
|
-
|
|
10665
|
-
/**
|
|
10666
|
-
* A shared interface which contains an animation player
|
|
10667
|
-
*/
|
|
10668
|
-
export declare interface ɵPlayer {
|
|
10669
|
-
parent?: ɵPlayer | null;
|
|
10670
|
-
state: ɵPlayState;
|
|
10671
|
-
play(): void;
|
|
10672
|
-
pause(): void;
|
|
10673
|
-
finish(): void;
|
|
10674
|
-
destroy(): void;
|
|
10675
|
-
addEventListener(state: ɵPlayState | string, cb: (data?: any) => any): void;
|
|
10676
|
-
}
|
|
10677
|
-
|
|
10678
|
-
/**
|
|
10679
|
-
* Used as a reference to build a player from a styling template binding
|
|
10680
|
-
* (`[style]` and `[class]`).
|
|
10681
|
-
*
|
|
10682
|
-
* The `fn` function will be called once any styling-related changes are
|
|
10683
|
-
* evaluated on an element and is expected to return a player that will
|
|
10684
|
-
* be then run on the element.
|
|
10685
|
-
*
|
|
10686
|
-
* `[style]`, `[style.prop]`, `[class]` and `[class.name]` template bindings
|
|
10687
|
-
* all accept a `PlayerFactory` as input and this player factories.
|
|
10688
|
-
*/
|
|
10689
|
-
export declare interface ɵPlayerFactory {
|
|
10690
|
-
'__brand__': 'Brand for PlayerFactory that nothing will match';
|
|
10691
|
-
}
|
|
10692
|
-
|
|
10693
|
-
/**
|
|
10694
|
-
* Designed to be used as an injection service to capture all animation players.
|
|
10695
|
-
*
|
|
10696
|
-
* When present all animation players will be passed into the flush method below.
|
|
10697
|
-
* This feature is designed to service application-wide animation testing, live
|
|
10698
|
-
* debugging as well as custom animation choreographing tools.
|
|
10699
|
-
*/
|
|
10700
|
-
export declare interface ɵPlayerHandler {
|
|
10701
|
-
/**
|
|
10702
|
-
* Designed to kick off the player at the end of change detection
|
|
10703
|
-
*/
|
|
10704
|
-
flushPlayers(): void;
|
|
10705
|
-
/**
|
|
10706
|
-
* @param player The player that has been scheduled to run within the application.
|
|
10707
|
-
* @param context The context as to where the player was bound to
|
|
10708
|
-
*/
|
|
10709
|
-
queuePlayer(player: ɵPlayer, context: ComponentInstance | DirectiveInstance | HTMLElement): void;
|
|
10710
|
-
}
|
|
10711
|
-
|
|
10712
|
-
/**
|
|
10713
|
-
* The state of a given player
|
|
10714
|
-
*
|
|
10715
|
-
* Do not change the increasing nature of the numbers since the player
|
|
10716
|
-
* code may compare state by checking if a number is higher or lower than
|
|
10717
|
-
* a certain numeric value.
|
|
10718
|
-
*/
|
|
10719
|
-
export declare const enum ɵPlayState {
|
|
10720
|
-
Pending = 0,
|
|
10721
|
-
Running = 1,
|
|
10722
|
-
Paused = 2,
|
|
10723
|
-
Finished = 100,
|
|
10724
|
-
Destroyed = 200
|
|
10725
|
-
}
|
|
10726
|
-
|
|
10727
10658
|
/**
|
|
10728
10659
|
* Profiler function which the runtime will invoke before and after user code.
|
|
10729
10660
|
*/
|
|
@@ -11311,24 +11242,6 @@ export declare class ɵViewRef<T> implements EmbeddedViewRef<T>, InternalViewRef
|
|
|
11311
11242
|
attachToAppRef(appRef: ViewRefTracker): void;
|
|
11312
11243
|
}
|
|
11313
11244
|
|
|
11314
|
-
/**
|
|
11315
|
-
* Wait on component until it is rendered.
|
|
11316
|
-
*
|
|
11317
|
-
* This function returns a `Promise` which is resolved when the component's
|
|
11318
|
-
* change detection is executed. This is determined by finding the scheduler
|
|
11319
|
-
* associated with the `component`'s render tree and waiting until the scheduler
|
|
11320
|
-
* flushes. If nothing is scheduled, the function returns a resolved promise.
|
|
11321
|
-
*
|
|
11322
|
-
* Example:
|
|
11323
|
-
* ```
|
|
11324
|
-
* await whenRendered(myComponent);
|
|
11325
|
-
* ```
|
|
11326
|
-
*
|
|
11327
|
-
* @param component Component to wait upon
|
|
11328
|
-
* @returns Promise which resolves when the component is rendered.
|
|
11329
|
-
*/
|
|
11330
|
-
export declare function ɵwhenRendered(component: any): Promise<null>;
|
|
11331
|
-
|
|
11332
11245
|
/**
|
|
11333
11246
|
* Advances to an element for later binding instructions.
|
|
11334
11247
|
*
|
package/package.json
CHANGED
package/testing/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v14.
|
|
2
|
+
* @license Angular v14.2.0-rc.0
|
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -178,13 +178,11 @@ export declare function flush(maxTurns?: number): number;
|
|
|
178
178
|
export declare function flushMicrotasks(): void;
|
|
179
179
|
|
|
180
180
|
/**
|
|
181
|
-
* Returns a singleton of the
|
|
182
|
-
*
|
|
183
|
-
* It will be either an instance of `TestBedViewEngine` or `TestBedRender3`.
|
|
181
|
+
* Returns a singleton of the `TestBed` class.
|
|
184
182
|
*
|
|
185
183
|
* @publicApi
|
|
186
184
|
*/
|
|
187
|
-
export declare
|
|
185
|
+
export declare function getTestBed(): TestBed;
|
|
188
186
|
|
|
189
187
|
/**
|
|
190
188
|
* Allows injecting dependencies in `beforeEach()` and `it()`. Note: this function
|
|
@@ -255,8 +253,8 @@ export declare function resetFakeAsyncZone(): void;
|
|
|
255
253
|
* @publicApi
|
|
256
254
|
*/
|
|
257
255
|
export declare interface TestBed {
|
|
258
|
-
platform: PlatformRef;
|
|
259
|
-
ngModule: Type<any> | Type<any>[];
|
|
256
|
+
get platform(): PlatformRef;
|
|
257
|
+
get ngModule(): Type<any> | Type<any>[];
|
|
260
258
|
/**
|
|
261
259
|
* Initialize the environment for testing with a compiler factory, a PlatformRef, and an
|
|
262
260
|
* angular module. These are common to every test in the suite.
|
|
@@ -273,12 +271,12 @@ export declare interface TestBed {
|
|
|
273
271
|
* Reset the providers for the test injector.
|
|
274
272
|
*/
|
|
275
273
|
resetTestEnvironment(): void;
|
|
276
|
-
resetTestingModule():
|
|
274
|
+
resetTestingModule(): TestBed;
|
|
277
275
|
configureCompiler(config: {
|
|
278
276
|
providers?: any[];
|
|
279
277
|
useJit?: boolean;
|
|
280
278
|
}): void;
|
|
281
|
-
configureTestingModule(moduleDef: TestModuleMetadata):
|
|
279
|
+
configureTestingModule(moduleDef: TestModuleMetadata): TestBed;
|
|
282
280
|
compileComponents(): Promise<any>;
|
|
283
281
|
inject<T>(token: ProviderToken<T>, notFoundValue?: T, flags?: InjectFlags): T;
|
|
284
282
|
inject<T>(token: ProviderToken<T>, notFoundValue: null, flags?: InjectFlags): T | null;
|
|
@@ -287,26 +285,27 @@ export declare interface TestBed {
|
|
|
287
285
|
/** @deprecated from v9.0.0 use TestBed.inject */
|
|
288
286
|
get(token: any, notFoundValue?: any): any;
|
|
289
287
|
execute(tokens: any[], fn: Function, context?: any): any;
|
|
290
|
-
overrideModule(ngModule: Type<any>, override: MetadataOverride<NgModule>):
|
|
291
|
-
overrideComponent(component: Type<any>, override: MetadataOverride<Component>):
|
|
292
|
-
overrideDirective(directive: Type<any>, override: MetadataOverride<Directive>):
|
|
293
|
-
overridePipe(pipe: Type<any>, override: MetadataOverride<Pipe>):
|
|
288
|
+
overrideModule(ngModule: Type<any>, override: MetadataOverride<NgModule>): TestBed;
|
|
289
|
+
overrideComponent(component: Type<any>, override: MetadataOverride<Component>): TestBed;
|
|
290
|
+
overrideDirective(directive: Type<any>, override: MetadataOverride<Directive>): TestBed;
|
|
291
|
+
overridePipe(pipe: Type<any>, override: MetadataOverride<Pipe>): TestBed;
|
|
292
|
+
overrideTemplate(component: Type<any>, template: string): TestBed;
|
|
294
293
|
/**
|
|
295
294
|
* Overwrites all providers for the given token with the given provider definition.
|
|
296
295
|
*/
|
|
297
296
|
overrideProvider(token: any, provider: {
|
|
298
297
|
useFactory: Function;
|
|
299
298
|
deps: any[];
|
|
300
|
-
}):
|
|
299
|
+
}): TestBed;
|
|
301
300
|
overrideProvider(token: any, provider: {
|
|
302
301
|
useValue: any;
|
|
303
|
-
}):
|
|
302
|
+
}): TestBed;
|
|
304
303
|
overrideProvider(token: any, provider: {
|
|
305
304
|
useFactory?: Function;
|
|
306
305
|
useValue?: any;
|
|
307
306
|
deps?: any[];
|
|
308
|
-
}):
|
|
309
|
-
overrideTemplateUsingTestingModule(component: Type<any>, template: string):
|
|
307
|
+
}): TestBed;
|
|
308
|
+
overrideTemplateUsingTestingModule(component: Type<any>, template: string): TestBed;
|
|
310
309
|
createComponent<T>(component: Type<T>): ComponentFixture<T>;
|
|
311
310
|
}
|
|
312
311
|
|
|
@@ -317,92 +316,17 @@ export declare interface TestBed {
|
|
|
317
316
|
*
|
|
318
317
|
* `TestBed` is the primary api for writing unit tests for Angular applications and libraries.
|
|
319
318
|
*
|
|
320
|
-
* Note: Use `TestBed` in tests. It will be set to either `TestBedViewEngine` or `TestBedRender3`
|
|
321
|
-
* according to the compiler used.
|
|
322
|
-
*
|
|
323
319
|
* @publicApi
|
|
324
320
|
*/
|
|
325
321
|
export declare const TestBed: TestBedStatic;
|
|
326
322
|
|
|
327
323
|
/**
|
|
328
|
-
* Static methods implemented by the `
|
|
324
|
+
* Static methods implemented by the `TestBed`.
|
|
329
325
|
*
|
|
330
326
|
* @publicApi
|
|
331
327
|
*/
|
|
332
|
-
export declare interface TestBedStatic {
|
|
328
|
+
export declare interface TestBedStatic extends TestBed {
|
|
333
329
|
new (...args: any[]): TestBed;
|
|
334
|
-
/**
|
|
335
|
-
* Initialize the environment for testing with a compiler factory, a PlatformRef, and an
|
|
336
|
-
* angular module. These are common to every test in the suite.
|
|
337
|
-
*
|
|
338
|
-
* This may only be called once, to set up the common providers for the current test
|
|
339
|
-
* suite on the current platform. If you absolutely need to change the providers,
|
|
340
|
-
* first use `resetTestEnvironment`.
|
|
341
|
-
*
|
|
342
|
-
* Test modules and platforms for individual platforms are available from
|
|
343
|
-
* '@angular/<platform_name>/testing'.
|
|
344
|
-
*/
|
|
345
|
-
initTestEnvironment(ngModule: Type<any> | Type<any>[], platform: PlatformRef, options?: TestEnvironmentOptions): TestBed;
|
|
346
|
-
/**
|
|
347
|
-
* Reset the providers for the test injector.
|
|
348
|
-
*/
|
|
349
|
-
resetTestEnvironment(): void;
|
|
350
|
-
resetTestingModule(): TestBedStatic;
|
|
351
|
-
/**
|
|
352
|
-
* Allows overriding default compiler providers and settings
|
|
353
|
-
* which are defined in test_injector.js
|
|
354
|
-
*/
|
|
355
|
-
configureCompiler(config: {
|
|
356
|
-
providers?: any[];
|
|
357
|
-
useJit?: boolean;
|
|
358
|
-
}): TestBedStatic;
|
|
359
|
-
/**
|
|
360
|
-
* Allows overriding default providers, directives, pipes, modules of the test injector,
|
|
361
|
-
* which are defined in test_injector.js
|
|
362
|
-
*/
|
|
363
|
-
configureTestingModule(moduleDef: TestModuleMetadata): TestBedStatic;
|
|
364
|
-
/**
|
|
365
|
-
* Compile components with a `templateUrl` for the test's NgModule.
|
|
366
|
-
* It is necessary to call this function
|
|
367
|
-
* as fetching urls is asynchronous.
|
|
368
|
-
*/
|
|
369
|
-
compileComponents(): Promise<any>;
|
|
370
|
-
overrideModule(ngModule: Type<any>, override: MetadataOverride<NgModule>): TestBedStatic;
|
|
371
|
-
overrideComponent(component: Type<any>, override: MetadataOverride<Component>): TestBedStatic;
|
|
372
|
-
overrideDirective(directive: Type<any>, override: MetadataOverride<Directive>): TestBedStatic;
|
|
373
|
-
overridePipe(pipe: Type<any>, override: MetadataOverride<Pipe>): TestBedStatic;
|
|
374
|
-
overrideTemplate(component: Type<any>, template: string): TestBedStatic;
|
|
375
|
-
/**
|
|
376
|
-
* Overrides the template of the given component, compiling the template
|
|
377
|
-
* in the context of the TestingModule.
|
|
378
|
-
*
|
|
379
|
-
* Note: This works for JIT and AOTed components as well.
|
|
380
|
-
*/
|
|
381
|
-
overrideTemplateUsingTestingModule(component: Type<any>, template: string): TestBedStatic;
|
|
382
|
-
/**
|
|
383
|
-
* Overwrites all providers for the given token with the given provider definition.
|
|
384
|
-
*
|
|
385
|
-
* Note: This works for JIT and AOTed components as well.
|
|
386
|
-
*/
|
|
387
|
-
overrideProvider(token: any, provider: {
|
|
388
|
-
useFactory: Function;
|
|
389
|
-
deps: any[];
|
|
390
|
-
}): TestBedStatic;
|
|
391
|
-
overrideProvider(token: any, provider: {
|
|
392
|
-
useValue: any;
|
|
393
|
-
}): TestBedStatic;
|
|
394
|
-
overrideProvider(token: any, provider: {
|
|
395
|
-
useFactory?: Function;
|
|
396
|
-
useValue?: any;
|
|
397
|
-
deps?: any[];
|
|
398
|
-
}): TestBedStatic;
|
|
399
|
-
inject<T>(token: ProviderToken<T>, notFoundValue?: T, flags?: InjectFlags): T;
|
|
400
|
-
inject<T>(token: ProviderToken<T>, notFoundValue: null, flags?: InjectFlags): T | null;
|
|
401
|
-
/** @deprecated from v9.0.0 use TestBed.inject */
|
|
402
|
-
get<T>(token: ProviderToken<T>, notFoundValue?: T, flags?: InjectFlags): any;
|
|
403
|
-
/** @deprecated from v9.0.0 use TestBed.inject */
|
|
404
|
-
get(token: any, notFoundValue?: any): any;
|
|
405
|
-
createComponent<T>(component: Type<T>): ComponentFixture<T>;
|
|
406
330
|
}
|
|
407
331
|
|
|
408
332
|
/**
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcmVuZGVyMy9pbnRlcmZhY2VzL3BsYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIHNoYXJlZCBpbnRlcmZhY2Ugd2hpY2ggY29udGFpbnMgYW4gYW5pbWF0aW9uIHBsYXllclxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsYXllciB7XG4gIHBhcmVudD86IFBsYXllcnxudWxsO1xuICBzdGF0ZTogUGxheVN0YXRlO1xuICBwbGF5KCk6IHZvaWQ7XG4gIHBhdXNlKCk6IHZvaWQ7XG4gIGZpbmlzaCgpOiB2b2lkO1xuICBkZXN0cm95KCk6IHZvaWQ7XG4gIGFkZEV2ZW50TGlzdGVuZXIoc3RhdGU6IFBsYXlTdGF0ZXxzdHJpbmcsIGNiOiAoZGF0YT86IGFueSkgPT4gYW55KTogdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gQmluZGluZ1R5cGUge1xuICBVbnNldCA9IDAsXG4gIENsYXNzID0gMSxcbiAgU3R5bGUgPSAyLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJpbmRpbmdTdG9yZSB7XG4gIHNldFZhbHVlKHByb3A6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XG59XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgc2hhcGUgd2hpY2ggcHJvZHVjZXMgdGhlIFBsYXllci5cbiAqXG4gKiBVc2VkIHRvIHByb2R1Y2UgYSBwbGF5ZXIgdGhhdCB3aWxsIGJlIHBsYWNlZCBvbiBhbiBlbGVtZW50IHRoYXQgY29udGFpbnNcbiAqIHN0eWxpbmcgYmluZGluZ3MgdGhhdCBtYWtlIHVzZSBvZiB0aGUgcGxheWVyLiBUaGlzIGZ1bmN0aW9uIGlzIGRlc2lnbmVkXG4gKiB0byBiZSB1c2VkIHdpdGggYFBsYXllckZhY3RvcnlgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsYXllckZhY3RvcnlCdWlsZEZuIHtcbiAgKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCB0eXBlOiBCaW5kaW5nVHlwZSwgdmFsdWVzOiB7W2tleTogc3RyaW5nXTogYW55fSwgaXNGaXJzdFJlbmRlcjogYm9vbGVhbixcbiAgIGN1cnJlbnRQbGF5ZXI6IFBsYXllcnxudWxsKTogUGxheWVyfG51bGw7XG59XG5cbi8qKlxuICogVXNlZCBhcyBhIHJlZmVyZW5jZSB0byBidWlsZCBhIHBsYXllciBmcm9tIGEgc3R5bGluZyB0ZW1wbGF0ZSBiaW5kaW5nXG4gKiAoYFtzdHlsZV1gIGFuZCBgW2NsYXNzXWApLlxuICpcbiAqIFRoZSBgZm5gIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIG9uY2UgYW55IHN0eWxpbmctcmVsYXRlZCBjaGFuZ2VzIGFyZVxuICogZXZhbHVhdGVkIG9uIGFuIGVsZW1lbnQgYW5kIGlzIGV4cGVjdGVkIHRvIHJldHVybiBhIHBsYXllciB0aGF0IHdpbGxcbiAqIGJlIHRoZW4gcnVuIG9uIHRoZSBlbGVtZW50LlxuICpcbiAqIGBbc3R5bGVdYCwgYFtzdHlsZS5wcm9wXWAsIGBbY2xhc3NdYCBhbmQgYFtjbGFzcy5uYW1lXWAgdGVtcGxhdGUgYmluZGluZ3NcbiAqIGFsbCBhY2NlcHQgYSBgUGxheWVyRmFjdG9yeWAgYXMgaW5wdXQgYW5kIHRoaXMgcGxheWVyIGZhY3Rvcmllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbGF5ZXJGYWN0b3J5IHtcbiAgJ19fYnJhbmRfXyc6ICdCcmFuZCBmb3IgUGxheWVyRmFjdG9yeSB0aGF0IG5vdGhpbmcgd2lsbCBtYXRjaCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxheWVyQnVpbGRlciBleHRlbmRzIEJpbmRpbmdTdG9yZSB7XG4gIGJ1aWxkUGxheWVyKGN1cnJlbnRQbGF5ZXI6IFBsYXllcnxudWxsLCBpc0ZpcnN0UmVuZGVyOiBib29sZWFuKTogUGxheWVyfHVuZGVmaW5lZHxudWxsO1xufVxuXG4vKipcbiAqIFRoZSBzdGF0ZSBvZiBhIGdpdmVuIHBsYXllclxuICpcbiAqIERvIG5vdCBjaGFuZ2UgdGhlIGluY3JlYXNpbmcgbmF0dXJlIG9mIHRoZSBudW1iZXJzIHNpbmNlIHRoZSBwbGF5ZXJcbiAqIGNvZGUgbWF5IGNvbXBhcmUgc3RhdGUgYnkgY2hlY2tpbmcgaWYgYSBudW1iZXIgaXMgaGlnaGVyIG9yIGxvd2VyIHRoYW5cbiAqIGEgY2VydGFpbiBudW1lcmljIHZhbHVlLlxuICovXG5leHBvcnQgY29uc3QgZW51bSBQbGF5U3RhdGUge1xuICBQZW5kaW5nID0gMCxcbiAgUnVubmluZyA9IDEsXG4gIFBhdXNlZCA9IDIsXG4gIEZpbmlzaGVkID0gMTAwLFxuICBEZXN0cm95ZWQgPSAyMDBcbn1cblxuLyoqXG4gKiBUaGUgY29udGV4dCB0aGF0IHN0b3JlcyBhbGwgdGhlIGFjdGl2ZSBwbGF5ZXJzIGFuZCBxdWV1ZWQgcGxheWVyIGZhY3RvcmllcyBwcmVzZW50IG9uIGFuIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGxheWVyQ29udGV4dCBleHRlbmRzIEFycmF5PG51bGx8bnVtYmVyfFBsYXllcnxQbGF5ZXJCdWlsZGVyPiB7XG4gIFtQbGF5ZXJJbmRleC5Ob25CdWlsZGVyUGxheWVyc1N0YXJ0XTogbnVtYmVyO1xuICBbUGxheWVySW5kZXguQ2xhc3NNYXBQbGF5ZXJCdWlsZGVyUG9zaXRpb25dOiBQbGF5ZXJCdWlsZGVyfG51bGw7XG4gIFtQbGF5ZXJJbmRleC5DbGFzc01hcFBsYXllclBvc2l0aW9uXTogUGxheWVyfG51bGw7XG4gIFtQbGF5ZXJJbmRleC5TdHlsZU1hcFBsYXllckJ1aWxkZXJQb3NpdGlvbl06IFBsYXllckJ1aWxkZXJ8bnVsbDtcbiAgW1BsYXllckluZGV4LlN0eWxlTWFwUGxheWVyUG9zaXRpb25dOiBQbGF5ZXJ8bnVsbDtcbn1cblxuLyoqXG4gKiBEZXNpZ25lZCB0byBiZSB1c2VkIGFzIGFuIGluamVjdGlvbiBzZXJ2aWNlIHRvIGNhcHR1cmUgYWxsIGFuaW1hdGlvbiBwbGF5ZXJzLlxuICpcbiAqIFdoZW4gcHJlc2VudCBhbGwgYW5pbWF0aW9uIHBsYXllcnMgd2lsbCBiZSBwYXNzZWQgaW50byB0aGUgZmx1c2ggbWV0aG9kIGJlbG93LlxuICogVGhpcyBmZWF0dXJlIGlzIGRlc2lnbmVkIHRvIHNlcnZpY2UgYXBwbGljYXRpb24td2lkZSBhbmltYXRpb24gdGVzdGluZywgbGl2ZVxuICogZGVidWdnaW5nIGFzIHdlbGwgYXMgY3VzdG9tIGFuaW1hdGlvbiBjaG9yZW9ncmFwaGluZyB0b29scy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbGF5ZXJIYW5kbGVyIHtcbiAgLyoqXG4gICAqIERlc2lnbmVkIHRvIGtpY2sgb2ZmIHRoZSBwbGF5ZXIgYXQgdGhlIGVuZCBvZiBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAqL1xuICBmbHVzaFBsYXllcnMoKTogdm9pZDtcblxuICAvKipcbiAgICogQHBhcmFtIHBsYXllciBUaGUgcGxheWVyIHRoYXQgaGFzIGJlZW4gc2NoZWR1bGVkIHRvIHJ1biB3aXRoaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKiBAcGFyYW0gY29udGV4dCBUaGUgY29udGV4dCBhcyB0byB3aGVyZSB0aGUgcGxheWVyIHdhcyBib3VuZCB0b1xuICAgKi9cbiAgcXVldWVQbGF5ZXIocGxheWVyOiBQbGF5ZXIsIGNvbnRleHQ6IENvbXBvbmVudEluc3RhbmNlfERpcmVjdGl2ZUluc3RhbmNlfEhUTUxFbGVtZW50KTogdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gUGxheWVySW5kZXgge1xuICAvLyBUaGUgcG9zaXRpb24gd2hlcmUgdGhlIGluZGV4IHRoYXQgcmV2ZWFscyB3aGVyZSBwbGF5ZXJzIHN0YXJ0IGluIHRoZSBQbGF5ZXJDb250ZXh0XG4gIE5vbkJ1aWxkZXJQbGF5ZXJzU3RhcnQgPSAwLFxuICAvLyBUaGUgcG9zaXRpb24gd2hlcmUgdGhlIHBsYXllciBidWlsZGVyIGxpdmVzICh3aGljaCBoYW5kbGVzIHtrZXk6dmFsdWV9IG1hcCBleHByZXNzaW9uKSBmb3JcbiAgLy8gY2xhc3Nlc1xuICBDbGFzc01hcFBsYXllckJ1aWxkZXJQb3NpdGlvbiA9IDEsXG4gIC8vIFRoZSBwb3NpdGlvbiB3aGVyZSB0aGUgbGFzdCBwbGF5ZXIgYXNzaWduZWQgdG8gdGhlIGNsYXNzIHBsYXllciBidWlsZGVyIGlzIHN0b3JlZFxuICBDbGFzc01hcFBsYXllclBvc2l0aW9uID0gMixcbiAgLy8gVGhlIHBvc2l0aW9uIHdoZXJlIHRoZSBwbGF5ZXIgYnVpbGRlciBsaXZlcyAod2hpY2ggaGFuZGxlcyB7a2V5OnZhbHVlfSBtYXAgZXhwcmVzc2lvbikgZm9yXG4gIC8vIHN0eWxlc1xuICBTdHlsZU1hcFBsYXllckJ1aWxkZXJQb3NpdGlvbiA9IDMsXG4gIC8vIFRoZSBwb3NpdGlvbiB3aGVyZSB0aGUgbGFzdCBwbGF5ZXIgYXNzaWduZWQgdG8gdGhlIHN0eWxlIHBsYXllciBidWlsZGVyIGlzIHN0b3JlZFxuICBTdHlsZU1hcFBsYXllclBvc2l0aW9uID0gNCxcbiAgLy8gVGhlIHBvc2l0aW9uIHdoZXJlIGFueSBwbGF5ZXIgYnVpbGRlcnMgc3RhcnQgaW4gdGhlIFBsYXllckNvbnRleHRcbiAgUGxheWVyQnVpbGRlcnNTdGFydFBvc2l0aW9uID0gMSxcbiAgLy8gVGhlIHBvc2l0aW9uIHdoZXJlIG5vbiBtYXAtYmFzZWQgcGxheWVyIGJ1aWxkZXJzIHN0YXJ0IGluIHRoZSBQbGF5ZXJDb250ZXh0XG4gIFNpbmdsZVBsYXllckJ1aWxkZXJzU3RhcnRQb3NpdGlvbiA9IDUsXG4gIC8vIEZvciBlYWNoIHBsYXllciBidWlsZGVyIHRoZXJlIGlzIGEgcGxheWVyIGluIHRoZSBwbGF5ZXIgY29udGV4dCAodGhlcmVmb3JlIHNpemUgPSAyKVxuICBQbGF5ZXJBbmRQbGF5ZXJCdWlsZGVyc1R1cGxlU2l6ZSA9IDIsXG4gIC8vIFRoZSBwbGF5ZXIgZXhpc3RzIG5leHQgdG8gdGhlIHBsYXllciBidWlsZGVyIGluIHRoZSBsaXN0XG4gIFBsYXllck9mZnNldFBvc2l0aW9uID0gMSxcbn1cblxuZXhwb3J0IGRlY2xhcmUgdHlwZSBDb21wb25lbnRJbnN0YW5jZSA9IHt9O1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBEaXJlY3RpdmVJbnN0YW5jZSA9IHt9O1xuIl19
|