@plumile/backoffice-core 0.1.185 → 0.1.188
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/lib/esm/builders.d.ts +3 -1
- package/lib/esm/builders.d.ts.map +1 -1
- package/lib/esm/builders.js +17 -1
- package/lib/esm/type-tests/operation-bound-config.test-d.d.ts.map +1 -1
- package/lib/esm/type-tests/operation-bound-config.test-d.js +77 -2
- package/lib/esm/types.d.ts +15 -13
- package/lib/esm/types.d.ts.map +1 -1
- package/lib/esm/types.js +1 -1
- package/lib/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/types/builders.d.ts +3 -1
- package/lib/types/builders.d.ts.map +1 -1
- package/lib/types/type-tests/operation-bound-config.test-d.d.ts.map +1 -1
- package/lib/types/types.d.ts +15 -13
- package/lib/types/types.d.ts.map +1 -1
- package/package.json +3 -3
package/lib/esm/builders.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { GraphQLTaggedNode, OperationType } from 'relay-runtime';
|
|
2
|
-
import type { BackofficeConnectionListConfig, BackofficeAuditBlockSpec, BackofficeCountQueryInput, BackofficeContextStackBlockSpec, BackofficeDashboardConfig, BackofficeDashboardContext, BackofficeDashboardEntityListTarget, BackofficeDashboardHrefTarget, BackofficeDashboardWidgetVariables, BackofficeDashboardWidget, BackofficeDetailLayoutFacetConfig, BackofficeDetailPageFacetConfig, BackofficeMetricGroupBlockSpec, BackofficePayloadBlockSpec, BackofficeReferenceGroupBlockSpec, BackofficeRelationSummaryGroupBlockSpec, BackofficeSemanticDetailBlockSpec, BackofficeStateGroupBlockSpec, BackofficeSummaryBlockSpec, BackofficeTechnicalFactsBlockSpec, BackofficeTimelineBlockSpec, BackofficeEntityListConfig, BackofficeEntityCountConfig, BackofficeEntityManifestItem, BackofficeEntityPickerConfig, BackofficeFilterPlacement, BackofficeFilterSpec, BackofficeFragmentSpec, BackofficeListDetailFacetLoaderMap, BackofficeListFacetConfig, BackofficeListQueryInput, BackofficeOperationSort, BackofficeOperationWhere, BackofficePickerFacetConfig, BackofficePickerQueryInput, BackofficePaginationFragmentSpec, BackofficeQuerySpec, BackofficeRelationFilterSpec, BackofficeSortSpec, BackofficeToolEntityConfig, BackofficeToolFacetConfig, BackofficeToolFacetLoaderMap, I18nLabel } from './types.js';
|
|
2
|
+
import type { BackofficeConnectionListConfig, BackofficeAuditBlockSpec, BackofficeCountQueryInput, BackofficeContextStackBlockSpec, BackofficeDashboardConfig, BackofficeDashboardContext, BackofficeDashboardEntityListTarget, BackofficeDashboardHrefTarget, BackofficeDashboardWidgetVariables, BackofficeDashboardWidget, BackofficeDetailLayoutFacetConfig, BackofficeDetailPageFacetConfig, BackofficeMetricGroupBlockSpec, BackofficePayloadBlockSpec, BackofficeReferenceGroupBlockSpec, BackofficeRelationSummaryGroupBlockSpec, BackofficeSemanticDetailBlockSpec, BackofficeStateGroupBlockSpec, BackofficeSummaryBlockSpec, BackofficeTechnicalFactsBlockSpec, BackofficeTimelineBlockSpec, BackofficeEntityListConfig, BackofficeEntityFormMutationActionSpec, BackofficeEntityMutationActionSpec, BackofficeEntityCountConfig, BackofficeEntityManifestItem, BackofficeEntityPickerConfig, BackofficeFilterPlacement, BackofficeFilterSpec, BackofficeFragmentSpec, BackofficeListDetailFacetLoaderMap, BackofficeListFacetConfig, BackofficeListQueryInput, BackofficeOperationSort, BackofficeOperationWhere, BackofficePickerFacetConfig, BackofficePickerQueryInput, BackofficePaginationFragmentSpec, BackofficeQuerySpec, BackofficeRelationFilterSpec, BackofficeSortSpec, BackofficeToolEntityConfig, BackofficeToolFacetConfig, BackofficeToolFacetLoaderMap, I18nLabel } from './types.js';
|
|
3
3
|
type FieldKeyOfType<Where, Value> = Extract<{
|
|
4
4
|
[Key in keyof Where]: NonNullable<Where[Key]> extends Value ? Key : never;
|
|
5
5
|
}[keyof Where], string>;
|
|
@@ -58,6 +58,8 @@ export declare const defineBackofficeDashboardConfig: <const Config extends Back
|
|
|
58
58
|
export declare const defineBackofficeQuery: <TOperation extends OperationType>(node: GraphQLTaggedNode) => BackofficeQuerySpec<TOperation>;
|
|
59
59
|
export declare const defineBackofficeFragment: <TKey, TData>(node: GraphQLTaggedNode) => BackofficeFragmentSpec<TKey, TData>;
|
|
60
60
|
export declare const defineBackofficePaginationFragment: <TQuery extends OperationType, TKey, TData>(node: GraphQLTaggedNode) => BackofficePaginationFragmentSpec<TQuery, TKey, TData>;
|
|
61
|
+
export declare const defineBackofficeMutationAction: <TOperation extends OperationType, Node>() => <const Action extends BackofficeEntityMutationActionSpec<Node, TOperation>>(action: Omit<Action, "relayOperationBound">) => Action;
|
|
62
|
+
export declare const defineBackofficeFormMutationAction: <TOperation extends OperationType, Node, FormValues extends object, InitialValues extends object = Partial<FormValues>>() => <const Action extends BackofficeEntityFormMutationActionSpec<Node, TOperation, FormValues, InitialValues>>(action: Omit<Action, "relayOperationBound">) => Action;
|
|
61
63
|
export declare const defineBackofficeDashboardQueryWidget: <TOperation extends OperationType>() => <const Widget extends AnyDefineBackofficeDashboardQueryWidgetInput<TOperation>>(widget: Widget) => BackofficeDashboardQueryWidget<Widget["kind"]>;
|
|
62
64
|
export declare const defineBackofficeDashboardStaticWidget: (widget: AnyDefineBackofficeDashboardStaticWidgetInput) => Extract<BackofficeDashboardWidget, {
|
|
63
65
|
dataSource: "static";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/builders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EACV,8BAA8B,EAC9B,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,EAC1B,mCAAmC,EACnC,6BAA6B,EAC7B,kCAAkC,EAClC,yBAAyB,EACzB,iCAAiC,EACjC,+BAA+B,EAC/B,8BAA8B,EAC9B,0BAA0B,EAC1B,iCAAiC,EACjC,uCAAuC,EACvC,iCAAiC,EACjC,6BAA6B,EAC7B,0BAA0B,EAC1B,iCAAiC,EACjC,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,kCAAkC,EAClC,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,EAChC,mBAAmB,EACnB,4BAA4B,EAC5B,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,KAAK,cAAc,CAAC,KAAK,EAAE,KAAK,IAAI,OAAO,CACzC;KACG,GAAG,IAAI,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,GAAG,GAAG,GAAG,KAAK;CAC1E,CAAC,MAAM,KAAK,CAAC,EACd,MAAM,CACP,CAAC;AAEF,KAAK,cAAc,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC3D,KAAK,eAAe,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC7D,KAAK,cAAc,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAE3D,KAAK,qBAAqB,CACxB,UAAU,SAAS,aAAa,EAChC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,wBAAwB,CAAC,UAAU,CAAC,EAC7E,KAAK,SAAS,MAAM,GAAG,uBAAuB,CAAC,UAAU,CAAC,IACxD;IACF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACpC,CAAC;AAEF,KAAK,uBAAuB,CAC1B,UAAU,SAAS,aAAa,EAChC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,wBAAwB,CAAC,UAAU,CAAC,IAC3E;IACF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACpC,CAAC;AAEF,KAAK,2BAA2B,CAAC,UAAU,SAAS,aAAa,IAC/D,UAAU,CAAC,WAAW,CAAC,SAAS,qBAAqB,CAAC,UAAU,CAAC,GAC7D,UAAU,GACV,KAAK,CAAC;AAEZ,KAAK,6BAA6B,CAAC,UAAU,SAAS,aAAa,IACjE,UAAU,CAAC,WAAW,CAAC,SAAS,uBAAuB,CAAC,UAAU,CAAC,GAC/D,UAAU,GACV,KAAK,CAAC;AAEZ,KAAK,kCAAkC,GAAG,OAAO,CAC/C,yBAAyB,EACzB;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,CACxB,CAAC,MAAM,CAAC,CAAC;AAEV,KAAK,mCAAmC,GAAG,OAAO,CAChD,yBAAyB,EACzB;IAAE,UAAU,EAAE,QAAQ,CAAA;CAAE,CACzB,CAAC,MAAM,CAAC,CAAC;AAEV,KAAK,8BAA8B,CACjC,IAAI,SAAS,kCAAkC,IAC7C,OAAO,CAAC,yBAAyB,EAAE;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC;AAE5E,KAAK,+BAA+B,CAClC,IAAI,SAAS,mCAAmC,IAC9C,OAAO,CAAC,yBAAyB,EAAE;IAAE,UAAU,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC;AAE7E,KAAK,oCAAoC,CACvC,IAAI,SAAS,kCAAkC,IAC7C,UAAU,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAEhE,MAAM,MAAM,yCAAyC,CACnD,UAAU,SAAS,aAAa,EAChC,IAAI,SAAS,kCAAkC,IAC7C,IAAI,CACN,8BAA8B,CAAC,IAAI,CAAC,EACpC,YAAY,GAAG,WAAW,GAAG,SAAS,CACvC,GAAG;IACF,SAAS,EAAE,kCAAkC,CAAC,UAAU,CAAC,CAAC;IAC1D,OAAO,EAAE,CACP,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,EAC5B,OAAO,EAAE,0BAA0B,KAChC,oCAAoC,CAAC,IAAI,CAAC,CAAC;CACjD,CAAC;AAEF,KAAK,4CAA4C,CAC/C,UAAU,SAAS,aAAa,IAC9B;KACD,IAAI,IAAI,kCAAkC,GAAG,yCAAyC,CACrF,UAAU,EACV,IAAI,CACL;CACF,CAAC,kCAAkC,CAAC,CAAC;AAEtC,MAAM,MAAM,0CAA0C,CACpD,IAAI,SAAS,mCAAmC,IAC9C,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;AAE9D,KAAK,6CAA6C,GAAG;KAClD,IAAI,IAAI,mCAAmC,GAAG,0CAA0C,CAAC,IAAI,CAAC;CAChG,CAAC,mCAAmC,CAAC,CAAC;AAEvC,MAAM,MAAM,mCAAmC,CAC7C,UAAU,SAAS,aAAa,EAChC,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,wBAAwB,CAAC,UAAU,CAAC,EAC7E,KAAK,SAAS,MAAM,GAAG,uBAAuB,CAAC,UAAU,CAAC,EAC1D,eAAe,SAAS,aAAa,GAAG,GAAG,IACzC,IAAI,CACN,8BAA8B,CAC5B,UAAU,EACV,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,eAAe,CAChB,EACD,MAAM,GAAG,qBAAqB,CAC/B,GAAG;IACF,mBAAmB,CAAC,EAAE,CACpB,KAAK,EAAE,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,KACvD,UAAU,CAAC,WAAW,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,8BAA8B,CACxC,UAAU,SAAS,aAAa,EAChC,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,wBAAwB,CAAC,UAAU,CAAC,EAC7E,KAAK,SAAS,MAAM,GAAG,uBAAuB,CAAC,UAAU,CAAC,EAC1D,eAAe,SAAS,aAAa,GAAG,GAAG,IACzC,IAAI,CACN,yBAAyB,CACvB,UAAU,EACV,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,eAAe,CAChB,EACD,MAAM,CACP,GAAG;IACF,IAAI,EAAE,0BAA0B,CAC9B,UAAU,EACV,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,eAAe,CAChB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,2BAA2B,CACrC,UAAU,SAAS,aAAa,EAChC,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,wBAAwB,CAAC,UAAU,CAAC,IAC3E,IAAI,CACN,4BAA4B,CAC1B,UAAU,EACV,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,MAAM,CACP,EACD,qBAAqB,CACtB,GAAG;IACF,mBAAmB,CAAC,EAAE,CACpB,KAAK,EAAE,0BAA0B,CAAC,UAAU,EAAE,MAAM,CAAC,KAClD,UAAU,CAAC,WAAW,CAAC,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,KAAK,CAAC,MAAM,SAAS,yBAAyB,EAE9C,QAAQ,MAAM,KACb,MAEF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,UAAU,SAAS,aAAa,EACpE,MAAM,iBAAiB,KACtB,mBAAmB,CAAC,UAAU,CAEhC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,IAAI,EAAE,KAAK,EAClD,MAAM,iBAAiB,KACtB,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAEpC,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAC7C,MAAM,SAAS,aAAa,EAC5B,IAAI,EACJ,KAAK,EAEL,MAAM,iBAAiB,KACtB,gCAAgC,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAEtD,CAAC;AAEF,eAAO,MAAM,oCAAoC,GAC/C,UAAU,SAAS,aAAa,QAG9B,KAAK,CAAC,MAAM,SACV,4CAA4C,CAAC,UAAU,CAAC,EAE1D,QAAQ,MAAM,KACb,8BAA8B,CAAC,MAAM,CAAC,MAAM,CAAC,CAMjD,CAAC;AAEF,eAAO,MAAM,qCAAqC,GAChD,QAAQ,6CAA6C,KACpD,OAAO,CAAC,yBAAyB,EAAE;IAAE,UAAU,EAAE,QAAQ,CAAA;CAAE,CAK7D,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAC9C,MAAM,MAAM,KACX,6BAKF,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAC9C,UAAU,SAAS,aAAa,QAG9B,KAAK,CAAC,MAAM,SAAS,IAAI,CACvB,mCAAmC,CACjC,wBAAwB,CAAC,UAAU,CAAC,EACpC,uBAAuB,CAAC,UAAU,CAAC,CACpC,EACD,MAAM,CACP,EAED,QAAQ,MAAM,KACb,mCAAmC,CACpC,wBAAwB,CAAC,UAAU,CAAC,EACpC,uBAAuB,CAAC,UAAU,CAAC,CAOtC,CAAC;AA6CF,eAAO,MAAM,8BAA8B,GACzC,UAAU,SAAS,aAAa,EAChC,eAAe,SAAS,aAAa,QAE7B,MAAM,EAAE,OAAO,EAAE,gBAAgB,EACvC,QAAQ,mCAAmC,CACzC,2BAA2B,CAAC,UAAU,CAAC,EACvC,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,wBAAwB,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,EACjE,uBAAuB,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,EAChE,eAAe,CAChB,KACA,8BAA8B,CAC/B,2BAA2B,CAAC,UAAU,CAAC,EACvC,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,wBAAwB,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,EACjE,uBAAuB,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,EAChE,eAAe,CASlB,CAAC;AAEF,eAAO,MAAM,oCAAoC,GAC/C,UAAU,SAAS,aAAa,EAChC,eAAe,SAAS,aAAa,EACrC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,KAAK,SAAS,MAAM,GAAG,uBAAuB,CAAC,UAAU,CAAC,QAElD,MAAM,EAAE,OAAO,EAAE,gBAAgB,EACvC,QAAQ,mCAAmC,CACzC,UAAU,EACV,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,eAAe,CAChB,GAAG;IACF,mBAAmB,EAAE,CACnB,KAAK,EAAE,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,KACvD,UAAU,CAAC,WAAW,CAAC,CAAC;CAC9B,KACA,8BAA8B,CAC/B,UAAU,EACV,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,eAAe,CAOlB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,UAAU,SAAS,aAAa,EAChC,eAAe,SAAS,aAAa,QAE7B,MAAM,EAAE,OAAO,EAAE,gBAAgB,EACvC,QAAQ,8BAA8B,CACpC,2BAA2B,CAAC,UAAU,CAAC,EACvC,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,wBAAwB,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,EACjE,uBAAuB,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,EAChE,eAAe,CAChB,KACA,yBAAyB,CAC1B,2BAA2B,CAAC,UAAU,CAAC,EACvC,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,wBAAwB,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,EACjE,uBAAuB,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,EAChE,eAAe,CAIlB,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,UAAU,SAAS,aAAa,EAChC,eAAe,SAAS,aAAa,EACrC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,KAAK,SAAS,MAAM,GAAG,uBAAuB,CAAC,UAAU,CAAC,QAElD,MAAM,EAAE,OAAO,EAAE,gBAAgB,EACvC,QAAQ,8BAA8B,CACpC,UAAU,EACV,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,eAAe,CAChB,KACA,yBAAyB,CAC1B,UAAU,EACV,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,eAAe,CAIlB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,UAAU,SAAS,aAAa,QAC7D,MAAM,EAAE,OAAO,EAAE,kBAAkB,EACzC,QAAQ,2BAA2B,CACjC,6BAA6B,CAAC,UAAU,CAAC,EACzC,MAAM,EACN,OAAO,EACP,kBAAkB,CACnB,KACA,4BAA4B,CAC7B,6BAA6B,CAAC,UAAU,CAAC,EACzC,MAAM,EACN,OAAO,EACP,kBAAkB,CAQrB,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,UAAU,SAAS,aAAa,EAChC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAE9B,MAAM,EAAE,OAAO,EAAE,kBAAkB,EACzC,QAAQ,2BAA2B,CACjC,UAAU,EACV,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,MAAM,CACP,GAAG;IACF,mBAAmB,EAAE,CACnB,KAAK,EAAE,0BAA0B,CAAC,UAAU,EAAE,MAAM,CAAC,KAClD,UAAU,CAAC,WAAW,CAAC,CAAC;CAC9B,KACA,4BAA4B,CAC7B,UAAU,EACV,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,MAAM,CAIT,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,UAAU,SAAS,aAAa,QAExB,MAAM,EAAE,OAAO,EAAE,kBAAkB,EACzC,QAAQ,2BAA2B,CACjC,6BAA6B,CAAC,UAAU,CAAC,EACzC,MAAM,EACN,OAAO,EACP,kBAAkB,CACnB,KACA,2BAA2B,CAC5B,6BAA6B,CAAC,UAAU,CAAC,EACzC,MAAM,EACN,OAAO,EACP,kBAAkB,CAIrB,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,UAAU,SAAS,aAAa,EAChC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAE9B,MAAM,EAAE,OAAO,EAAE,kBAAkB,EACzC,QAAQ,2BAA2B,CACjC,UAAU,EACV,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,MAAM,CACP,KACA,2BAA2B,CAC5B,UAAU,EACV,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,MAAM,CAIT,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACzC,UAAU,SAAS,aAAa,EAChC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,wBAAwB,CAAC,UAAU,CAAC,QAG3E,UAAU,4BAA4B,CAAC,UAAU,EAAE,MAAM,CAAC,KACzD,4BAA4B,CAAC,UAAU,EAAE,MAAM,CAGnD,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,UAAU,SAAS,aAAa,EAChC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAGpC,OAAO,IAAI,CACT,2BAA2B,CAAC,UAAU,EAAE,MAAM,CAAC,EAC/C,gBAAgB,GAAG,UAAU,CAC9B,GAAG;IACF,cAAc,EAAE,CACd,KAAK,EAAE,yBAAyB,CAAC,MAAM,CAAC,KACrC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,MAAM,GAAG,IAAI,CAAC;CAC3D,KACA,2BAA2B,CAAC,UAAU,EAAE,MAAM,CAGlD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,UAAU,SAAS,aAAa,EAChC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,wBAAwB,CAAC,UAAU,CAAC,QAErE,KAAK,CAAC,OAAO,SAAS,SAAS,oBAAoB,CAAC,MAAM,CAAC,EAAE,EACnE,SAAS,OAAO,KACf,OAGJ,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,UAAU,SAAS,aAAa,EAChC,KAAK,SAAS,MAAM,GAAG,uBAAuB,CAAC,UAAU,CAAC,QAElD,KAAK,CAAC,KAAK,SAAS,SAAS,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAC9D,OAAO,KAAK,KACX,KAGJ,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,EAAE,GAAG,SAAS,cAAc,CAAC,KAAK,CAAC,EACrE,KAAK,GAAG,EACR,QAAQ,YAAY,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,KACxC,oBAAoB,CAAC,KAAK,CAa5B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,KAAK,EAAE,GAAG,SAAS,cAAc,CAAC,KAAK,CAAC,EACjE,KAAK,GAAG,EACR,QAAQ,YAAY,GAAG;IACrB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,KACA,oBAAoB,CAAC,KAAK,CAc5B,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,EAAE,GAAG,SAAS,cAAc,CAAC,KAAK,CAAC,EACrE,KAAK,GAAG,EACR,QAAQ,YAAY,GAAG;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;IAC/B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,KACA,oBAAoB,CAAC,KAAK,CAe5B,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,KAAK,EAAE,GAAG,SAAS,cAAc,CAAC,KAAK,CAAC,EACnE,KAAK,GAAG,EACR,QAAQ,YAAY,GAAG;IACrB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACnC,KACA,oBAAoB,CAAC,KAAK,CAe5B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,KAAK,EAAE,GAAG,SAAS,cAAc,CAAC,KAAK,CAAC,EACjE,KAAK,GAAG,EACR,QAAQ,YAAY,GAAG;IACrB,OAAO,EAAE,SAAS,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;CAC9D,KACA,oBAAoB,CAAC,KAAK,CAoB5B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,EAAE,GAAG,SAAS,eAAe,CAAC,KAAK,CAAC,EACrE,KAAK,GAAG,EACR,QAAQ,YAAY,GAAG;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB,KACA,oBAAoB,CAAC,KAAK,CAc5B,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,KAAK,EAAE,KAAK,EACvC,QAAQ,oBAAoB,CAAC,KAAK,CAAC,GAAG;IACpC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;CAC7C,KACA,oBAAoB,CAAC,KAAK,CAE5B,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,CAAC,SAAS,0BAA0B,EAEpC,QAAQ,CAAC,KACR,CAEF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,CAAC,SAAS,iCAAiC,EAE3C,QAAQ,CAAC,KACR,CAEF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,CAAC,SAAS,+BAA+B,EAEzC,QAAQ,CAAC,KACR,CAEF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,IAAI,QAEnC,KAAK,CAAC,MAAM,SAAS,SAAS,iCAAiC,CAAC,IAAI,CAAC,EAAE,EAEvE,QAAQ,MAAM,KACb,MAGJ,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,IAAI,EACrC,OAAO,0BAA0B,CAAC,IAAI,CAAC,KACtC,0BAA0B,CAAC,IAAI,CAEjC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,IAAI,EACpC,OAAO,8BAA8B,CAAC,IAAI,CAAC,KAC1C,8BAA8B,CAAC,IAAI,CAErC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,IAAI,EACnC,OAAO,6BAA6B,CAAC,IAAI,CAAC,KACzC,6BAA6B,CAAC,IAAI,CAEpC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,IAAI,EACrC,OAAO,+BAA+B,CAAC,IAAI,CAAC,KAC3C,+BAA+B,CAAC,IAAI,CAEtC,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,IAAI,EAC7C,OAAO,uCAAuC,CAAC,IAAI,CAAC,KACnD,uCAAuC,CAAC,IAAI,CAE9C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,IAAI,EACjC,OAAO,2BAA2B,CAAC,IAAI,CAAC,KACvC,2BAA2B,CAAC,IAAI,CAElC,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,IAAI,EAC9B,OAAO,wBAAwB,CAAC,IAAI,CAAC,KACpC,wBAAwB,CAAC,IAAI,CAE/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,IAAI,EACvC,OAAO,iCAAiC,CAAC,IAAI,CAAC,KAC7C,iCAAiC,CAAC,IAAI,CAExC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,IAAI,EAChC,OAAO,0BAA0B,CAAC,IAAI,CAAC,KACtC,0BAA0B,CAAC,IAAI,CAEjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,IAAI,EACvC,OAAO,iCAAiC,CAAC,IAAI,CAAC,KAC7C,iCAAiC,CAAC,IAAI,CAExC,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,yBAAyB,EACjE,QAAQ,CAAC,KACR,CAEF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,OAAO,SAAS,kCAAkC,EAClD,OAAO,SAAS,IAAI,CAAC,4BAA4B,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG;IACtE,MAAM,EAAE,OAAO,CAAC;CACjB,EAED,QAAQ,OAAO,KACd,OAAO,GAAG;IAAE,IAAI,EAAE,aAAa,CAAA;CAKjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,OAAO,SAAS,4BAA4B,EAC5C,OAAO,SAAS,IAAI,CAClB,4BAA4B,EAC5B,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,qBAAqB,GAAG,QAAQ,CACtE,GAAG;IACF,MAAM,EAAE,OAAO,CAAC;CACjB,EAED,QAAQ,OAAO,KACd,OAAO,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,KAAK,CAAC;IACf,WAAW,EAAE,SAAS,CAAC;IACvB,mBAAmB,EAAE,SAAS,CAAC;CAShC,CAAC"}
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/builders.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/builders.js
CHANGED
|
@@ -10,6 +10,22 @@ export const defineBackofficeFragment = (node) => {
|
|
|
10
10
|
export const defineBackofficePaginationFragment = (node) => {
|
|
11
11
|
return { node };
|
|
12
12
|
};
|
|
13
|
+
export const defineBackofficeMutationAction = () => {
|
|
14
|
+
return (action) => {
|
|
15
|
+
return {
|
|
16
|
+
...action,
|
|
17
|
+
relayOperationBound: true,
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export const defineBackofficeFormMutationAction = () => {
|
|
22
|
+
return (action) => {
|
|
23
|
+
return {
|
|
24
|
+
...action,
|
|
25
|
+
relayOperationBound: true,
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
13
29
|
export const defineBackofficeDashboardQueryWidget = () => {
|
|
14
30
|
return (widget) => {
|
|
15
31
|
return {
|
|
@@ -298,4 +314,4 @@ export const createToolManifest = (config) => {
|
|
|
298
314
|
defaultDetailPageId: undefined,
|
|
299
315
|
};
|
|
300
316
|
};
|
|
301
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBME5BLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLENBRzdDLE1BQWMsRUFDTixFQUFFO0lBQ1YsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FDbkMsSUFBdUIsRUFDVSxFQUFFO0lBQ25DLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxJQUF1QixFQUNjLEVBQUU7SUFDdkMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLENBS2hELElBQXVCLEVBQ2dDLEVBQUU7SUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLEdBRWhELEVBQUU7SUFDSixPQUFPLENBSUwsTUFBYyxFQUNrQyxFQUFFO1FBQ2xELE9BQU87WUFDTCxHQUFHLE1BQU07WUFDVCxVQUFVLEVBQUUsT0FBTztTQUN5QyxDQUFDO0lBQ2pFLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLENBQ25ELE1BQXFELEVBQ1MsRUFBRTtJQUNoRSxPQUFPO1FBQ0wsR0FBRyxNQUFNO1FBQ1QsVUFBVSxFQUFFLFFBQVE7S0FDckIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLENBQ2pELElBQVksRUFDbUIsRUFBRTtJQUNqQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU07UUFDWixJQUFJO0tBQ0wsQ0FBQztBQUNK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QUU7SUFDckMsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FDekIsS0FBcUMsRUFDTCxFQUFFO0lBQ2xDLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FDbEMsS0FBOEMsRUFDTCxFQUFFO0lBQzNDLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQzNCLEtBQXVDLEVBQ0wsRUFBRTtJQUNwQyxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQ2xDLEtBQThDLEVBQ0wsRUFBRTtJQUMzQyxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUM3QixNQUFTLEVBQ04sRUFBRTtJQUNMLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBTXRDLE1BQWUsRUFDb0IsRUFBRTtJQUNyQyxPQUFPO1FBQ0wsR0FBRyxNQUFNO1FBQ1QsSUFBSSxFQUFFLGFBQWE7S0FDcEIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBU2hDLE1BQWUsRUFNZixFQUFFO0lBQ0YsT0FBTztRQUNMLEdBQUcsTUFBTTtRQUNULElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFLEtBQUs7UUFDZCxXQUFXLEVBQUUsU0FBUztRQUN0QixtQkFBbUIsRUFBRSxTQUFTO0tBQy9CLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEdyYXBoUUxUYWdnZWROb2RlLCBPcGVyYXRpb25UeXBlIH0gZnJvbSAncmVsYXktcnVudGltZSc7XG5pbXBvcnQgdHlwZSB7XG4gIEJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdENvbmZpZyxcbiAgQmFja29mZmljZUF1ZGl0QmxvY2tTcGVjLFxuICBCYWNrb2ZmaWNlQ291bnRRdWVyeUlucHV0LFxuICBCYWNrb2ZmaWNlQ29udGV4dFN0YWNrQmxvY2tTcGVjLFxuICBCYWNrb2ZmaWNlRGFzaGJvYXJkQ29uZmlnLFxuICBCYWNrb2ZmaWNlRGFzaGJvYXJkQ29udGV4dCxcbiAgQmFja29mZmljZURhc2hib2FyZEVudGl0eUxpc3RUYXJnZXQsXG4gIEJhY2tvZmZpY2VEYXNoYm9hcmRIcmVmVGFyZ2V0LFxuICBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0VmFyaWFibGVzLFxuICBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0LFxuICBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWcsXG4gIEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRDb25maWcsXG4gIEJhY2tvZmZpY2VNZXRyaWNHcm91cEJsb2NrU3BlYyxcbiAgQmFja29mZmljZVBheWxvYWRCbG9ja1NwZWMsXG4gIEJhY2tvZmZpY2VSZWZlcmVuY2VHcm91cEJsb2NrU3BlYyxcbiAgQmFja29mZmljZVJlbGF0aW9uU3VtbWFyeUdyb3VwQmxvY2tTcGVjLFxuICBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxCbG9ja1NwZWMsXG4gIEJhY2tvZmZpY2VTdGF0ZUdyb3VwQmxvY2tTcGVjLFxuICBCYWNrb2ZmaWNlU3VtbWFyeUJsb2NrU3BlYyxcbiAgQmFja29mZmljZVRlY2huaWNhbEZhY3RzQmxvY2tTcGVjLFxuICBCYWNrb2ZmaWNlVGltZWxpbmVCbG9ja1NwZWMsXG4gIEJhY2tvZmZpY2VFbnRpdHlMaXN0Q29uZmlnLFxuICBCYWNrb2ZmaWNlRW50aXR5Q291bnRDb25maWcsXG4gIEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW0sXG4gIEJhY2tvZmZpY2VFbnRpdHlQaWNrZXJDb25maWcsXG4gIEJhY2tvZmZpY2VGaWx0ZXJQbGFjZW1lbnQsXG4gIEJhY2tvZmZpY2VGaWx0ZXJTcGVjLFxuICBCYWNrb2ZmaWNlRnJhZ21lbnRTcGVjLFxuICBCYWNrb2ZmaWNlTGlzdERldGFpbEZhY2V0TG9hZGVyTWFwLFxuICBCYWNrb2ZmaWNlTGlzdEZhY2V0Q29uZmlnLFxuICBCYWNrb2ZmaWNlTGlzdFF1ZXJ5SW5wdXQsXG4gIEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0LFxuICBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmUsXG4gIEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZyxcbiAgQmFja29mZmljZVBpY2tlclF1ZXJ5SW5wdXQsXG4gIEJhY2tvZmZpY2VQYWdpbmF0aW9uRnJhZ21lbnRTcGVjLFxuICBCYWNrb2ZmaWNlUXVlcnlTcGVjLFxuICBCYWNrb2ZmaWNlUmVsYXRpb25GaWx0ZXJTcGVjLFxuICBCYWNrb2ZmaWNlU29ydFNwZWMsXG4gIEJhY2tvZmZpY2VUb29sRW50aXR5Q29uZmlnLFxuICBCYWNrb2ZmaWNlVG9vbEZhY2V0Q29uZmlnLFxuICBCYWNrb2ZmaWNlVG9vbEZhY2V0TG9hZGVyTWFwLFxuICBJMThuTGFiZWwsXG59IGZyb20gJy4vdHlwZXMuanMnO1xuXG50eXBlIEZpZWxkS2V5T2ZUeXBlPFdoZXJlLCBWYWx1ZT4gPSBFeHRyYWN0PFxuICB7XG4gICAgW0tleSBpbiBrZXlvZiBXaGVyZV06IE5vbk51bGxhYmxlPFdoZXJlW0tleV0+IGV4dGVuZHMgVmFsdWUgPyBLZXkgOiBuZXZlcjtcbiAgfVtrZXlvZiBXaGVyZV0sXG4gIHN0cmluZ1xuPjtcblxudHlwZSBTdHJpbmdGaWVsZEtleTxXaGVyZT4gPSBGaWVsZEtleU9mVHlwZTxXaGVyZSwgc3RyaW5nPjtcbnR5cGUgQm9vbGVhbkZpZWxkS2V5PFdoZXJlPiA9IEZpZWxkS2V5T2ZUeXBlPFdoZXJlLCBib29sZWFuPjtcbnR5cGUgTnVtYmVyRmllbGRLZXk8V2hlcmU+ID0gRmllbGRLZXlPZlR5cGU8V2hlcmUsIG51bWJlcj47XG5cbnR5cGUgU3RhbmRhcmRMaXN0VmFyaWFibGVzPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+ID0ge1xuICB3aGVyZT86IFRXaGVyZSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHNvcnQ/OiBUU29ydCB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIGNvdW50OiBudW1iZXI7XG4gIGN1cnNvcj86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG59O1xuXG50eXBlIFN0YW5kYXJkUGlja2VyVmFyaWFibGVzPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4+ID0ge1xuICB3aGVyZT86IFRXaGVyZSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIGNvdW50OiBudW1iZXI7XG4gIGN1cnNvcj86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG59O1xuXG50eXBlIFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZT4gPVxuICBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXSBleHRlbmRzIFN0YW5kYXJkTGlzdFZhcmlhYmxlczxUT3BlcmF0aW9uPlxuICAgID8gVE9wZXJhdGlvblxuICAgIDogbmV2ZXI7XG5cbnR5cGUgU3RyaWN0U3RhbmRhcmRQaWNrZXJPcGVyYXRpb248VE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGU+ID1cbiAgVE9wZXJhdGlvblsndmFyaWFibGVzJ10gZXh0ZW5kcyBTdGFuZGFyZFBpY2tlclZhcmlhYmxlczxUT3BlcmF0aW9uPlxuICAgID8gVE9wZXJhdGlvblxuICAgIDogbmV2ZXI7XG5cbnR5cGUgQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0S2luZCA9IEV4dHJhY3Q8XG4gIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXQsXG4gIHsgZGF0YVNvdXJjZTogJ3F1ZXJ5JyB9XG4+WydraW5kJ107XG5cbnR5cGUgQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldEtpbmQgPSBFeHRyYWN0PFxuICBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0LFxuICB7IGRhdGFTb3VyY2U6ICdzdGF0aWMnIH1cbj5bJ2tpbmQnXTtcblxudHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXQ8XG4gIEtpbmQgZXh0ZW5kcyBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRLaW5kLFxuPiA9IEV4dHJhY3Q8QmFja29mZmljZURhc2hib2FyZFdpZGdldCwgeyBkYXRhU291cmNlOiAncXVlcnknOyBraW5kOiBLaW5kIH0+O1xuXG50eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRTdGF0aWNXaWRnZXQ8XG4gIEtpbmQgZXh0ZW5kcyBCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0S2luZCxcbj4gPSBFeHRyYWN0PEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXQsIHsgZGF0YVNvdXJjZTogJ3N0YXRpYyc7IGtpbmQ6IEtpbmQgfT47XG5cbnR5cGUgQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0UmVzdWx0PFxuICBLaW5kIGV4dGVuZHMgQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0S2luZCxcbj4gPSBSZXR1cm5UeXBlPEJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxLaW5kPlsncmVzb2x2ZSddPjtcblxuZXhwb3J0IHR5cGUgRGVmaW5lQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0SW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBLaW5kIGV4dGVuZHMgQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0S2luZCxcbj4gPSBPbWl0PFxuICBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXQ8S2luZD4sXG4gICdkYXRhU291cmNlJyB8ICd2YXJpYWJsZXMnIHwgJ3Jlc29sdmUnXG4+ICYge1xuICB2YXJpYWJsZXM6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRWYXJpYWJsZXM8VE9wZXJhdGlvbj47XG4gIHJlc29sdmU6IChcbiAgICBkYXRhOiBUT3BlcmF0aW9uWydyZXNwb25zZSddLFxuICAgIGNvbnRleHQ6IEJhY2tvZmZpY2VEYXNoYm9hcmRDb250ZXh0LFxuICApID0+IEJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldFJlc3VsdDxLaW5kPjtcbn07XG5cbnR5cGUgQW55RGVmaW5lQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0SW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuPiA9IHtcbiAgW0tpbmQgaW4gQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0S2luZF06IERlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldElucHV0PFxuICAgIFRPcGVyYXRpb24sXG4gICAgS2luZFxuICA+O1xufVtCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRLaW5kXTtcblxuZXhwb3J0IHR5cGUgRGVmaW5lQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldElucHV0PFxuICBLaW5kIGV4dGVuZHMgQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldEtpbmQsXG4+ID0gT21pdDxCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0PEtpbmQ+LCAnZGF0YVNvdXJjZSc+O1xuXG50eXBlIEFueURlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRTdGF0aWNXaWRnZXRJbnB1dCA9IHtcbiAgW0tpbmQgaW4gQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldEtpbmRdOiBEZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0SW5wdXQ8S2luZD47XG59W0JhY2tvZmZpY2VEYXNoYm9hcmRTdGF0aWNXaWRnZXRLaW5kXTtcblxuZXhwb3J0IHR5cGUgRGVmaW5lQmFja29mZmljZUNvbm5lY3Rpb25MaXN0SW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIExpc3RGcmFnbWVudERhdGEsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuICBUQ291bnRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlID0gYW55LFxuPiA9IE9taXQ8XG4gIEJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdENvbmZpZzxcbiAgICBUT3BlcmF0aW9uLFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgVFdoZXJlLFxuICAgIFRTb3J0LFxuICAgIFRDb3VudE9wZXJhdGlvblxuICA+LFxuICAna2luZCcgfCAnYnVpbGRRdWVyeVZhcmlhYmxlcydcbj4gJiB7XG4gIGJ1aWxkUXVlcnlWYXJpYWJsZXM/OiAoXG4gICAgaW5wdXQ6IEJhY2tvZmZpY2VMaXN0UXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmUsIFRTb3J0PixcbiAgKSA9PiBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXTtcbn07XG5cbmV4cG9ydCB0eXBlIERlZmluZUJhY2tvZmZpY2VMaXN0RmFjZXRJbnB1dDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgTGlzdEZyYWdtZW50RGF0YSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4gIFRDb3VudE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUgPSBhbnksXG4+ID0gT21pdDxcbiAgQmFja29mZmljZUxpc3RGYWNldENvbmZpZzxcbiAgICBUT3BlcmF0aW9uLFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgVFdoZXJlLFxuICAgIFRTb3J0LFxuICAgIFRDb3VudE9wZXJhdGlvblxuICA+LFxuICAnbGlzdCdcbj4gJiB7XG4gIGxpc3Q6IEJhY2tvZmZpY2VFbnRpdHlMaXN0Q29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmUsXG4gICAgVFNvcnQsXG4gICAgVENvdW50T3BlcmF0aW9uXG4gID47XG59O1xuXG5leHBvcnQgdHlwZSBEZWZpbmVCYWNrb2ZmaWNlUGlja2VySW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIFBpY2tlckZyYWdtZW50RGF0YSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4+ID0gT21pdDxcbiAgQmFja29mZmljZUVudGl0eVBpY2tlckNvbmZpZzxcbiAgICBUT3BlcmF0aW9uLFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIFBpY2tlckZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmVcbiAgPixcbiAgJ2J1aWxkUXVlcnlWYXJpYWJsZXMnXG4+ICYge1xuICBidWlsZFF1ZXJ5VmFyaWFibGVzPzogKFxuICAgIGlucHV0OiBCYWNrb2ZmaWNlUGlja2VyUXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmU+LFxuICApID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRDb25maWcgPSA8XG4gIGNvbnN0IENvbmZpZyBleHRlbmRzIEJhY2tvZmZpY2VEYXNoYm9hcmRDb25maWcsXG4+KFxuICBjb25maWc6IENvbmZpZyxcbik6IENvbmZpZyA9PiB7XG4gIHJldHVybiBjb25maWc7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZVF1ZXJ5ID0gPFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPihcbiAgbm9kZTogR3JhcGhRTFRhZ2dlZE5vZGUsXG4pOiBCYWNrb2ZmaWNlUXVlcnlTcGVjPFRPcGVyYXRpb24+ID0+IHtcbiAgcmV0dXJuIHsgbm9kZSB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VGcmFnbWVudCA9IDxUS2V5LCBURGF0YT4oXG4gIG5vZGU6IEdyYXBoUUxUYWdnZWROb2RlLFxuKTogQmFja29mZmljZUZyYWdtZW50U3BlYzxUS2V5LCBURGF0YT4gPT4ge1xuICByZXR1cm4geyBub2RlIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZVBhZ2luYXRpb25GcmFnbWVudCA9IDxcbiAgVFF1ZXJ5IGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVEtleSxcbiAgVERhdGEsXG4+KFxuICBub2RlOiBHcmFwaFFMVGFnZ2VkTm9kZSxcbik6IEJhY2tvZmZpY2VQYWdpbmF0aW9uRnJhZ21lbnRTcGVjPFRRdWVyeSwgVEtleSwgVERhdGE+ID0+IHtcbiAgcmV0dXJuIHsgbm9kZSB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldCA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4+KCkgPT4ge1xuICByZXR1cm4gPFxuICAgIGNvbnN0IFdpZGdldCBleHRlbmRzXG4gICAgICBBbnlEZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRJbnB1dDxUT3BlcmF0aW9uPixcbiAgPihcbiAgICB3aWRnZXQ6IFdpZGdldCxcbiAgKTogQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0PFdpZGdldFsna2luZCddPiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLndpZGdldCxcbiAgICAgIGRhdGFTb3VyY2U6ICdxdWVyeScsXG4gICAgfSBhcyB1bmtub3duIGFzIEJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxXaWRnZXRbJ2tpbmQnXT47XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldCA9IChcbiAgd2lkZ2V0OiBBbnlEZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0SW5wdXQsXG4pOiBFeHRyYWN0PEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXQsIHsgZGF0YVNvdXJjZTogJ3N0YXRpYycgfT4gPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLndpZGdldCxcbiAgICBkYXRhU291cmNlOiAnc3RhdGljJyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkSHJlZlRhcmdldCA9IChcbiAgaHJlZjogc3RyaW5nLFxuKTogQmFja29mZmljZURhc2hib2FyZEhyZWZUYXJnZXQgPT4ge1xuICByZXR1cm4ge1xuICAgIGtpbmQ6ICdocmVmJyxcbiAgICBocmVmLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRMaXN0VGFyZ2V0ID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbj4oKSA9PiB7XG4gIHJldHVybiA8XG4gICAgY29uc3QgVGFyZ2V0IGV4dGVuZHMgT21pdDxcbiAgICAgIEJhY2tvZmZpY2VEYXNoYm9hcmRFbnRpdHlMaXN0VGFyZ2V0PFxuICAgICAgICBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gICAgICAgIEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+XG4gICAgICA+LFxuICAgICAgJ2tpbmQnXG4gICAgPixcbiAgPihcbiAgICB0YXJnZXQ6IFRhcmdldCxcbiAgKTogQmFja29mZmljZURhc2hib2FyZEVudGl0eUxpc3RUYXJnZXQ8XG4gICAgQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICAgIEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+XG4gID4gPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi50YXJnZXQsXG4gICAgICBraW5kOiAnZW50aXR5LWxpc3QnLFxuICAgIH07XG4gIH07XG59O1xuXG5jb25zdCBidWlsZFN0YW5kYXJkTGlzdFZhcmlhYmxlcyA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuPihcbiAgaW5wdXQ6IEJhY2tvZmZpY2VMaXN0UXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmUsIFRTb3J0Pixcbik6IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddID0+IHtcbiAgcmV0dXJuIHtcbiAgICB3aGVyZTogaW5wdXQud2hlcmUsXG4gICAgc29ydDogaW5wdXQuc29ydCxcbiAgICBjb3VudDogaW5wdXQuY291bnQsXG4gICAgY3Vyc29yOiBpbnB1dC5jdXJzb3IsXG4gIH07XG59O1xuXG5jb25zdCBidWlsZFN0YW5kYXJkUGlja2VyVmFyaWFibGVzID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4+KFxuICBpbnB1dDogQmFja29mZmljZVBpY2tlclF1ZXJ5SW5wdXQ8VE9wZXJhdGlvbiwgVFdoZXJlPixcbik6IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddID0+IHtcbiAgY29uc3Qgc2VhcmNoID0gaW5wdXQuc2VhcmNoLnRyaW0oKTtcbiAgbGV0IHdoZXJlOiBUV2hlcmUgfCBudWxsID0gbnVsbDtcbiAgaWYgKGlucHV0LnNjb3BlICE9IG51bGwpIHtcbiAgICBjb25zdCBzY29wZWRXaGVyZSA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKGlucHV0LnNjb3BlKS5maWx0ZXIoKFssIHZhbHVlXSkgPT4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS50cmltKCkgIT09ICcnO1xuICAgICAgfSksXG4gICAgKTtcbiAgICB3aGVyZSA9IHNjb3BlZFdoZXJlIGFzIFRXaGVyZTtcbiAgfVxuICBsZXQgc2VhcmNoVmFyaWFibGU6IHN0cmluZyB8IG51bGwgPSBzZWFyY2g7XG4gIGlmIChzZWFyY2ggPT09ICcnKSB7XG4gICAgc2VhcmNoVmFyaWFibGUgPSBudWxsO1xuICB9XG4gIHJldHVybiB7XG4gICAgd2hlcmUsXG4gICAgc2VhcmNoOiBzZWFyY2hWYXJpYWJsZSxcbiAgICBjb3VudDogMjAsXG4gICAgY3Vyc29yOiBudWxsLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdCA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRDb3VudE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4+KCkgPT4ge1xuICByZXR1cm4gPFJvd1JlZiwgUm93VmlldywgTGlzdEZyYWdtZW50RGF0YT4oXG4gICAgY29uZmlnOiBEZWZpbmVCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3RJbnB1dDxcbiAgICAgIFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uPixcbiAgICAgIFJvd1JlZixcbiAgICAgIFJvd1ZpZXcsXG4gICAgICBMaXN0RnJhZ21lbnREYXRhLFxuICAgICAgQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uPj4sXG4gICAgICBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxTdHJpY3RTdGFuZGFyZExpc3RPcGVyYXRpb248VE9wZXJhdGlvbj4+LFxuICAgICAgVENvdW50T3BlcmF0aW9uXG4gICAgPixcbiAgKTogQmFja29mZmljZUNvbm5lY3Rpb25MaXN0Q29uZmlnPFxuICAgIFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uPixcbiAgICBSb3dSZWYsXG4gICAgUm93VmlldyxcbiAgICBMaXN0RnJhZ21lbnREYXRhLFxuICAgIEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxTdHJpY3RTdGFuZGFyZExpc3RPcGVyYXRpb248VE9wZXJhdGlvbj4+LFxuICAgIEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uPj4sXG4gICAgVENvdW50T3BlcmF0aW9uXG4gID4gPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBraW5kOiAnY29ubmVjdGlvbicsXG4gICAgICBidWlsZFF1ZXJ5VmFyaWFibGVzOlxuICAgICAgICBjb25maWcuYnVpbGRRdWVyeVZhcmlhYmxlcyA/PyBidWlsZFN0YW5kYXJkTGlzdFZhcmlhYmxlcyxcbiAgICB9O1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VDdXN0b21Db25uZWN0aW9uTGlzdCA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRDb3VudE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuPigpID0+IHtcbiAgcmV0dXJuIDxSb3dSZWYsIFJvd1ZpZXcsIExpc3RGcmFnbWVudERhdGE+KFxuICAgIGNvbmZpZzogRGVmaW5lQmFja29mZmljZUNvbm5lY3Rpb25MaXN0SW5wdXQ8XG4gICAgICBUT3BlcmF0aW9uLFxuICAgICAgUm93UmVmLFxuICAgICAgUm93VmlldyxcbiAgICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgICBUV2hlcmUsXG4gICAgICBUU29ydCxcbiAgICAgIFRDb3VudE9wZXJhdGlvblxuICAgID4gJiB7XG4gICAgICBidWlsZFF1ZXJ5VmFyaWFibGVzOiAoXG4gICAgICAgIGlucHV0OiBCYWNrb2ZmaWNlTGlzdFF1ZXJ5SW5wdXQ8VE9wZXJhdGlvbiwgVFdoZXJlLCBUU29ydD4sXG4gICAgICApID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddO1xuICAgIH0sXG4gICk6IEJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdENvbmZpZzxcbiAgICBUT3BlcmF0aW9uLFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgVFdoZXJlLFxuICAgIFRTb3J0LFxuICAgIFRDb3VudE9wZXJhdGlvblxuICA+ID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAga2luZDogJ2Nvbm5lY3Rpb24nLFxuICAgIH07XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZUxpc3RGYWNldCA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRDb3VudE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4+KCkgPT4ge1xuICByZXR1cm4gPFJvd1JlZiwgUm93VmlldywgTGlzdEZyYWdtZW50RGF0YT4oXG4gICAgY29uZmlnOiBEZWZpbmVCYWNrb2ZmaWNlTGlzdEZhY2V0SW5wdXQ8XG4gICAgICBTdHJpY3RTdGFuZGFyZExpc3RPcGVyYXRpb248VE9wZXJhdGlvbj4sXG4gICAgICBSb3dSZWYsXG4gICAgICBSb3dWaWV3LFxuICAgICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICAgIEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxTdHJpY3RTdGFuZGFyZExpc3RPcGVyYXRpb248VE9wZXJhdGlvbj4+LFxuICAgICAgQmFja29mZmljZU9wZXJhdGlvblNvcnQ8U3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+PixcbiAgICAgIFRDb3VudE9wZXJhdGlvblxuICAgID4sXG4gICk6IEJhY2tvZmZpY2VMaXN0RmFjZXRDb25maWc8XG4gICAgU3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+LFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uPj4sXG4gICAgQmFja29mZmljZU9wZXJhdGlvblNvcnQ8U3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+PixcbiAgICBUQ291bnRPcGVyYXRpb25cbiAgPiA9PiB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlQ3VzdG9tTGlzdEZhY2V0ID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVENvdW50T3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+KCkgPT4ge1xuICByZXR1cm4gPFJvd1JlZiwgUm93VmlldywgTGlzdEZyYWdtZW50RGF0YT4oXG4gICAgY29uZmlnOiBEZWZpbmVCYWNrb2ZmaWNlTGlzdEZhY2V0SW5wdXQ8XG4gICAgICBUT3BlcmF0aW9uLFxuICAgICAgUm93UmVmLFxuICAgICAgUm93VmlldyxcbiAgICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgICBUV2hlcmUsXG4gICAgICBUU29ydCxcbiAgICAgIFRDb3VudE9wZXJhdGlvblxuICAgID4sXG4gICk6IEJhY2tvZmZpY2VMaXN0RmFjZXRDb25maWc8XG4gICAgVE9wZXJhdGlvbixcbiAgICBSb3dSZWYsXG4gICAgUm93VmlldyxcbiAgICBMaXN0RnJhZ21lbnREYXRhLFxuICAgIFRXaGVyZSxcbiAgICBUU29ydCxcbiAgICBUQ291bnRPcGVyYXRpb25cbiAgPiA9PiB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlUGlja2VyID0gPFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPigpID0+IHtcbiAgcmV0dXJuIDxSb3dSZWYsIFJvd1ZpZXcsIFBpY2tlckZyYWdtZW50RGF0YT4oXG4gICAgY29uZmlnOiBEZWZpbmVCYWNrb2ZmaWNlUGlja2VySW5wdXQ8XG4gICAgICBTdHJpY3RTdGFuZGFyZFBpY2tlck9wZXJhdGlvbjxUT3BlcmF0aW9uPixcbiAgICAgIFJvd1JlZixcbiAgICAgIFJvd1ZpZXcsXG4gICAgICBQaWNrZXJGcmFnbWVudERhdGFcbiAgICA+LFxuICApOiBCYWNrb2ZmaWNlRW50aXR5UGlja2VyQ29uZmlnPFxuICAgIFN0cmljdFN0YW5kYXJkUGlja2VyT3BlcmF0aW9uPFRPcGVyYXRpb24+LFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIFBpY2tlckZyYWdtZW50RGF0YVxuICA+ID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgYnVpbGRRdWVyeVZhcmlhYmxlczpcbiAgICAgICAgY29uZmlnLmJ1aWxkUXVlcnlWYXJpYWJsZXMgPz8gYnVpbGRTdGFuZGFyZFBpY2tlclZhcmlhYmxlcyxcbiAgICB9O1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VDdXN0b21QaWNrZXIgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4oKSA9PiB7XG4gIHJldHVybiA8Um93UmVmLCBSb3dWaWV3LCBQaWNrZXJGcmFnbWVudERhdGE+KFxuICAgIGNvbmZpZzogRGVmaW5lQmFja29mZmljZVBpY2tlcklucHV0PFxuICAgICAgVE9wZXJhdGlvbixcbiAgICAgIFJvd1JlZixcbiAgICAgIFJvd1ZpZXcsXG4gICAgICBQaWNrZXJGcmFnbWVudERhdGEsXG4gICAgICBUV2hlcmVcbiAgICA+ICYge1xuICAgICAgYnVpbGRRdWVyeVZhcmlhYmxlczogKFxuICAgICAgICBpbnB1dDogQmFja29mZmljZVBpY2tlclF1ZXJ5SW5wdXQ8VE9wZXJhdGlvbiwgVFdoZXJlPixcbiAgICAgICkgPT4gVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG4gICAgfSxcbiAgKTogQmFja29mZmljZUVudGl0eVBpY2tlckNvbmZpZzxcbiAgICBUT3BlcmF0aW9uLFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIFBpY2tlckZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmVcbiAgPiA9PiB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlUGlja2VyRmFjZXQgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuPigpID0+IHtcbiAgcmV0dXJuIDxSb3dSZWYsIFJvd1ZpZXcsIFBpY2tlckZyYWdtZW50RGF0YT4oXG4gICAgY29uZmlnOiBCYWNrb2ZmaWNlUGlja2VyRmFjZXRDb25maWc8XG4gICAgICBTdHJpY3RTdGFuZGFyZFBpY2tlck9wZXJhdGlvbjxUT3BlcmF0aW9uPixcbiAgICAgIFJvd1JlZixcbiAgICAgIFJvd1ZpZXcsXG4gICAgICBQaWNrZXJGcmFnbWVudERhdGFcbiAgICA+LFxuICApOiBCYWNrb2ZmaWNlUGlja2VyRmFjZXRDb25maWc8XG4gICAgU3RyaWN0U3RhbmRhcmRQaWNrZXJPcGVyYXRpb248VE9wZXJhdGlvbj4sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgUGlja2VyRnJhZ21lbnREYXRhXG4gID4gPT4ge1xuICAgIHJldHVybiBjb25maWc7XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZUN1c3RvbVBpY2tlckZhY2V0ID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+KCkgPT4ge1xuICByZXR1cm4gPFJvd1JlZiwgUm93VmlldywgUGlja2VyRnJhZ21lbnREYXRhPihcbiAgICBjb25maWc6IEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZzxcbiAgICAgIFRPcGVyYXRpb24sXG4gICAgICBSb3dSZWYsXG4gICAgICBSb3dWaWV3LFxuICAgICAgUGlja2VyRnJhZ21lbnREYXRhLFxuICAgICAgVFdoZXJlXG4gICAgPixcbiAgKTogQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgUGlja2VyRnJhZ21lbnREYXRhLFxuICAgIFRXaGVyZVxuICA+ID0+IHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VSZWxhdGlvbkZpbHRlciA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuPigpID0+IHtcbiAgcmV0dXJuIChcbiAgICByZWxhdGlvbjogQmFja29mZmljZVJlbGF0aW9uRmlsdGVyU3BlYzxUT3BlcmF0aW9uLCBUV2hlcmU+LFxuICApOiBCYWNrb2ZmaWNlUmVsYXRpb25GaWx0ZXJTcGVjPFRPcGVyYXRpb24sIFRXaGVyZT4gPT4ge1xuICAgIHJldHVybiByZWxhdGlvbjtcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlRW50aXR5Q291bnQgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4oKSA9PiB7XG4gIHJldHVybiAoXG4gICAgY291bnQ6IE9taXQ8XG4gICAgICBCYWNrb2ZmaWNlRW50aXR5Q291bnRDb25maWc8VE9wZXJhdGlvbiwgVFdoZXJlPixcbiAgICAgICdidWlsZFZhcmlhYmxlcycgfCAnZ2V0Q291bnQnXG4gICAgPiAmIHtcbiAgICAgIGJ1aWxkVmFyaWFibGVzOiAoXG4gICAgICAgIGlucHV0OiBCYWNrb2ZmaWNlQ291bnRRdWVyeUlucHV0PFRXaGVyZT4sXG4gICAgICApID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddO1xuICAgICAgZ2V0Q291bnQ6IChkYXRhOiBUT3BlcmF0aW9uWydyZXNwb25zZSddKSA9PiBudW1iZXIgfCBudWxsO1xuICAgIH0sXG4gICk6IEJhY2tvZmZpY2VFbnRpdHlDb3VudENvbmZpZzxUT3BlcmF0aW9uLCBUV2hlcmU+ID0+IHtcbiAgICByZXR1cm4gY291bnQ7XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZUZpbHRlcnMgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4oKSA9PiB7XG4gIHJldHVybiA8Y29uc3QgRmlsdGVycyBleHRlbmRzIHJlYWRvbmx5IEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFRXaGVyZT5bXT4oXG4gICAgZmlsdGVyczogRmlsdGVycyxcbiAgKTogRmlsdGVycyA9PiB7XG4gICAgcmV0dXJuIGZpbHRlcnM7XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZVNvcnRzID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4oKSA9PiB7XG4gIHJldHVybiA8Y29uc3QgU29ydHMgZXh0ZW5kcyByZWFkb25seSBCYWNrb2ZmaWNlU29ydFNwZWM8VFNvcnQ+W10+KFxuICAgIHNvcnRzOiBTb3J0cyxcbiAgKTogU29ydHMgPT4ge1xuICAgIHJldHVybiBzb3J0cztcbiAgfTtcbn07XG5cbnR5cGUgRmlsdGVyQ29uZmlnID0ge1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBwbGFjZW1lbnQ/OiBCYWNrb2ZmaWNlRmlsdGVyUGxhY2VtZW50O1xuICBwYXRoPzogcmVhZG9ubHkgc3RyaW5nW107XG59O1xuXG5leHBvcnQgY29uc3QgZW50aXR5SWRGaWx0ZXIgPSA8V2hlcmUsIEtleSBleHRlbmRzIFN0cmluZ0ZpZWxkS2V5PFdoZXJlPj4oXG4gIGtleTogS2V5LFxuICBjb25maWc6IEZpbHRlckNvbmZpZyAmIHsgZW50aXR5OiBzdHJpbmcgfSxcbik6IEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFdoZXJlPiA9PiB7XG4gIHJldHVybiB7XG4gICAgaWQ6IGtleSxcbiAgICBraW5kOiAnZW50aXR5SWQnLFxuICAgIGVudGl0eTogY29uZmlnLmVudGl0eSxcbiAgICBsYWJlbDogY29uZmlnLmxhYmVsLFxuICAgIHBsYWNlbWVudDogY29uZmlnLnBsYWNlbWVudCxcbiAgICB3aGVyZUtleToga2V5LFxuICAgIHBhdGg6IGNvbmZpZy5wYXRoLFxuICAgIHRvR3JhcGhRTDogKHZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4geyBba2V5XTogdmFsdWUgfSBhcyBQYXJ0aWFsPFdoZXJlPjtcbiAgICB9LFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHRleHRGaWx0ZXIgPSA8V2hlcmUsIEtleSBleHRlbmRzIFN0cmluZ0ZpZWxkS2V5PFdoZXJlPj4oXG4gIGtleTogS2V5LFxuICBjb25maWc6IEZpbHRlckNvbmZpZyAmIHtcbiAgICBwbGFjZWhvbGRlckxhYmVsPzogSTE4bkxhYmVsO1xuICAgIHBsYWNlaG9sZGVyVGV4dD86IEkxOG5MYWJlbDtcbiAgfSxcbik6IEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFdoZXJlPiA9PiB7XG4gIHJldHVybiB7XG4gICAgaWQ6IGtleSxcbiAgICBraW5kOiAndGV4dCcsXG4gICAgbGFiZWw6IGNvbmZpZy5sYWJlbCxcbiAgICBwbGFjZW1lbnQ6IGNvbmZpZy5wbGFjZW1lbnQsXG4gICAgd2hlcmVLZXk6IGtleSxcbiAgICBwYXRoOiBjb25maWcucGF0aCxcbiAgICBwbGFjZWhvbGRlckxhYmVsOiBjb25maWcucGxhY2Vob2xkZXJMYWJlbCxcbiAgICBwbGFjZWhvbGRlclRleHQ6IGNvbmZpZy5wbGFjZWhvbGRlclRleHQsXG4gICAgdG9HcmFwaFFMOiAodmFsdWUpID0+IHtcbiAgICAgIHJldHVybiB7IFtrZXldOiB2YWx1ZSB9IGFzIFBhcnRpYWw8V2hlcmU+O1xuICAgIH0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGF0ZXRpbWVGaWx0ZXIgPSA8V2hlcmUsIEtleSBleHRlbmRzIFN0cmluZ0ZpZWxkS2V5PFdoZXJlPj4oXG4gIGtleTogS2V5LFxuICBjb25maWc6IEZpbHRlckNvbmZpZyAmIHtcbiAgICBtb2RlPzogJ2Zyb20nIHwgJ3RvJyB8ICdleGFjdCc7XG4gICAgcGxhY2Vob2xkZXJMYWJlbD86IEkxOG5MYWJlbDtcbiAgICBwbGFjZWhvbGRlclRleHQ/OiBJMThuTGFiZWw7XG4gIH0sXG4pOiBCYWNrb2ZmaWNlRmlsdGVyU3BlYzxXaGVyZT4gPT4ge1xuICByZXR1cm4ge1xuICAgIGlkOiBrZXksXG4gICAga2luZDogJ2RhdGV0aW1lJyxcbiAgICBsYWJlbDogY29uZmlnLmxhYmVsLFxuICAgIHBsYWNlbWVudDogY29uZmlnLnBsYWNlbWVudCxcbiAgICB3aGVyZUtleToga2V5LFxuICAgIHBhdGg6IGNvbmZpZy5wYXRoLFxuICAgIG1vZGU6IGNvbmZpZy5tb2RlLFxuICAgIHBsYWNlaG9sZGVyTGFiZWw6IGNvbmZpZy5wbGFjZWhvbGRlckxhYmVsLFxuICAgIHBsYWNlaG9sZGVyVGV4dDogY29uZmlnLnBsYWNlaG9sZGVyVGV4dCxcbiAgICB0b0dyYXBoUUw6ICh2YWx1ZSkgPT4ge1xuICAgICAgcmV0dXJuIHsgW2tleV06IHZhbHVlIH0gYXMgUGFydGlhbDxXaGVyZT47XG4gICAgfSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBudW1iZXJGaWx0ZXIgPSA8V2hlcmUsIEtleSBleHRlbmRzIE51bWJlckZpZWxkS2V5PFdoZXJlPj4oXG4gIGtleTogS2V5LFxuICBjb25maWc6IEZpbHRlckNvbmZpZyAmIHtcbiAgICBwbGFjZWhvbGRlckxhYmVsPzogSTE4bkxhYmVsO1xuICAgIHBsYWNlaG9sZGVyVGV4dD86IEkxOG5MYWJlbDtcbiAgICBpbnB1dE1vZGU/OiAnbnVtZXJpYycgfCAnZGVjaW1hbCc7XG4gIH0sXG4pOiBCYWNrb2ZmaWNlRmlsdGVyU3BlYzxXaGVyZT4gPT4ge1xuICByZXR1cm4ge1xuICAgIGlkOiBrZXksXG4gICAga2luZDogJ251bWJlcicsXG4gICAgbGFiZWw6IGNvbmZpZy5sYWJlbCxcbiAgICBwbGFjZW1lbnQ6IGNvbmZpZy5wbGFjZW1lbnQsXG4gICAgd2hlcmVLZXk6IGtleSxcbiAgICBwYXRoOiBjb25maWcucGF0aCxcbiAgICBwbGFjZWhvbGRlckxhYmVsOiBjb25maWcucGxhY2Vob2xkZXJMYWJlbCxcbiAgICBwbGFjZWhvbGRlclRleHQ6IGNvbmZpZy5wbGFjZWhvbGRlclRleHQsXG4gICAgaW5wdXRNb2RlOiBjb25maWcuaW5wdXRNb2RlLFxuICAgIHRvR3JhcGhRTDogKHZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4geyBba2V5XTogdmFsdWUgfSBhcyBQYXJ0aWFsPFdoZXJlPjtcbiAgICB9LFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGVudW1GaWx0ZXIgPSA8V2hlcmUsIEtleSBleHRlbmRzIFN0cmluZ0ZpZWxkS2V5PFdoZXJlPj4oXG4gIGtleTogS2V5LFxuICBjb25maWc6IEZpbHRlckNvbmZpZyAmIHtcbiAgICBvcHRpb25zOiByZWFkb25seSBFeHRyYWN0PE5vbk51bGxhYmxlPFdoZXJlW0tleV0+LCBzdHJpbmc+W107XG4gIH0sXG4pOiBCYWNrb2ZmaWNlRmlsdGVyU3BlYzxXaGVyZT4gPT4ge1xuICByZXR1cm4ge1xuICAgIGlkOiBrZXksXG4gICAga2luZDogJ2VudW0nLFxuICAgIGxhYmVsOiBjb25maWcubGFiZWwsXG4gICAgcGxhY2VtZW50OiBjb25maWcucGxhY2VtZW50LFxuICAgIHdoZXJlS2V5OiBrZXksXG4gICAgcGF0aDogY29uZmlnLnBhdGgsXG4gICAgb3B0aW9uczogY29uZmlnLm9wdGlvbnMubWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIGxhYmVsOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9KSxcbiAgICB0b0dyYXBoUUw6ICh2YWx1ZSkgPT4ge1xuICAgICAgcmV0dXJuIHsgW2tleV06IHZhbHVlIH0gYXMgUGFydGlhbDxXaGVyZT47XG4gICAgfSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBib29sZWFuRmlsdGVyID0gPFdoZXJlLCBLZXkgZXh0ZW5kcyBCb29sZWFuRmllbGRLZXk8V2hlcmU+PihcbiAga2V5OiBLZXksXG4gIGNvbmZpZzogRmlsdGVyQ29uZmlnICYge1xuICAgIHRydWVMYWJlbD86IEkxOG5MYWJlbDtcbiAgICBmYWxzZUxhYmVsPzogSTE4bkxhYmVsO1xuICB9LFxuKTogQmFja29mZmljZUZpbHRlclNwZWM8V2hlcmU+ID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpZDoga2V5LFxuICAgIGtpbmQ6ICdib29sZWFuJyxcbiAgICBsYWJlbDogY29uZmlnLmxhYmVsLFxuICAgIHBsYWNlbWVudDogY29uZmlnLnBsYWNlbWVudCxcbiAgICB3aGVyZUtleToga2V5LFxuICAgIHBhdGg6IGNvbmZpZy5wYXRoLFxuICAgIHRydWVMYWJlbDogY29uZmlnLnRydWVMYWJlbCxcbiAgICBmYWxzZUxhYmVsOiBjb25maWcuZmFsc2VMYWJlbCxcbiAgICB0b0dyYXBoUUw6ICh2YWx1ZSkgPT4ge1xuICAgICAgcmV0dXJuIHsgW2tleV06IHZhbHVlIH0gYXMgUGFydGlhbDxXaGVyZT47XG4gICAgfSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjdXN0b21GaWx0ZXIgPSA8V2hlcmUsIFZhbHVlPihcbiAgZmlsdGVyOiBCYWNrb2ZmaWNlRmlsdGVyU3BlYzxXaGVyZT4gJiB7XG4gICAgdG9HcmFwaFFMOiAodmFsdWU6IFZhbHVlKSA9PiBQYXJ0aWFsPFdoZXJlPjtcbiAgfSxcbik6IEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFdoZXJlPiA9PiB7XG4gIHJldHVybiBmaWx0ZXI7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZVRvb2xFbnRpdHkgPSA8XG4gIFQgZXh0ZW5kcyBCYWNrb2ZmaWNlVG9vbEVudGl0eUNvbmZpZyxcbj4oXG4gIGNvbmZpZzogVCxcbik6IFQgPT4ge1xuICByZXR1cm4gY29uZmlnO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZURldGFpbExheW91dEZhY2V0ID0gPFxuICBUIGV4dGVuZHMgQmFja29mZmljZURldGFpbExheW91dEZhY2V0Q29uZmlnLFxuPihcbiAgY29uZmlnOiBULFxuKTogVCA9PiB7XG4gIHJldHVybiBjb25maWc7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRGV0YWlsUGFnZUZhY2V0ID0gPFxuICBUIGV4dGVuZHMgQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZyxcbj4oXG4gIGNvbmZpZzogVCxcbik6IFQgPT4ge1xuICByZXR1cm4gY29uZmlnO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZURldGFpbEJsb2NrcyA9IDxOb2RlPigpID0+IHtcbiAgcmV0dXJuIDxcbiAgICBjb25zdCBCbG9ja3MgZXh0ZW5kcyByZWFkb25seSBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxCbG9ja1NwZWM8Tm9kZT5bXSxcbiAgPihcbiAgICBibG9ja3M6IEJsb2NrcyxcbiAgKTogQmxvY2tzID0+IHtcbiAgICByZXR1cm4gYmxvY2tzO1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZVN1bW1hcnlCbG9jayA9IDxOb2RlPihcbiAgYmxvY2s6IEJhY2tvZmZpY2VTdW1tYXJ5QmxvY2tTcGVjPE5vZGU+LFxuKTogQmFja29mZmljZVN1bW1hcnlCbG9ja1NwZWM8Tm9kZT4gPT4ge1xuICByZXR1cm4gYmxvY2s7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lTWV0cmljR3JvdXAgPSA8Tm9kZT4oXG4gIGJsb2NrOiBCYWNrb2ZmaWNlTWV0cmljR3JvdXBCbG9ja1NwZWM8Tm9kZT4sXG4pOiBCYWNrb2ZmaWNlTWV0cmljR3JvdXBCbG9ja1NwZWM8Tm9kZT4gPT4ge1xuICByZXR1cm4gYmxvY2s7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lU3RhdGVHcm91cCA9IDxOb2RlPihcbiAgYmxvY2s6IEJhY2tvZmZpY2VTdGF0ZUdyb3VwQmxvY2tTcGVjPE5vZGU+LFxuKTogQmFja29mZmljZVN0YXRlR3JvdXBCbG9ja1NwZWM8Tm9kZT4gPT4ge1xuICByZXR1cm4gYmxvY2s7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQ29udGV4dFN0YWNrID0gPE5vZGU+KFxuICBibG9jazogQmFja29mZmljZUNvbnRleHRTdGFja0Jsb2NrU3BlYzxOb2RlPixcbik6IEJhY2tvZmZpY2VDb250ZXh0U3RhY2tCbG9ja1NwZWM8Tm9kZT4gPT4ge1xuICByZXR1cm4gYmxvY2s7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lUmVsYXRpb25TdW1tYXJ5R3JvdXAgPSA8Tm9kZT4oXG4gIGJsb2NrOiBCYWNrb2ZmaWNlUmVsYXRpb25TdW1tYXJ5R3JvdXBCbG9ja1NwZWM8Tm9kZT4sXG4pOiBCYWNrb2ZmaWNlUmVsYXRpb25TdW1tYXJ5R3JvdXBCbG9ja1NwZWM8Tm9kZT4gPT4ge1xuICByZXR1cm4gYmxvY2s7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lVGltZWxpbmUgPSA8Tm9kZT4oXG4gIGJsb2NrOiBCYWNrb2ZmaWNlVGltZWxpbmVCbG9ja1NwZWM8Tm9kZT4sXG4pOiBCYWNrb2ZmaWNlVGltZWxpbmVCbG9ja1NwZWM8Tm9kZT4gPT4ge1xuICByZXR1cm4gYmxvY2s7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQXVkaXQgPSA8Tm9kZT4oXG4gIGJsb2NrOiBCYWNrb2ZmaWNlQXVkaXRCbG9ja1NwZWM8Tm9kZT4sXG4pOiBCYWNrb2ZmaWNlQXVkaXRCbG9ja1NwZWM8Tm9kZT4gPT4ge1xuICByZXR1cm4gYmxvY2s7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lUmVmZXJlbmNlR3JvdXAgPSA8Tm9kZT4oXG4gIGJsb2NrOiBCYWNrb2ZmaWNlUmVmZXJlbmNlR3JvdXBCbG9ja1NwZWM8Tm9kZT4sXG4pOiBCYWNrb2ZmaWNlUmVmZXJlbmNlR3JvdXBCbG9ja1NwZWM8Tm9kZT4gPT4ge1xuICByZXR1cm4gYmxvY2s7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lUGF5bG9hZCA9IDxOb2RlPihcbiAgYmxvY2s6IEJhY2tvZmZpY2VQYXlsb2FkQmxvY2tTcGVjPE5vZGU+LFxuKTogQmFja29mZmljZVBheWxvYWRCbG9ja1NwZWM8Tm9kZT4gPT4ge1xuICByZXR1cm4gYmxvY2s7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lVGVjaG5pY2FsRmFjdHMgPSA8Tm9kZT4oXG4gIGJsb2NrOiBCYWNrb2ZmaWNlVGVjaG5pY2FsRmFjdHNCbG9ja1NwZWM8Tm9kZT4sXG4pOiBCYWNrb2ZmaWNlVGVjaG5pY2FsRmFjdHNCbG9ja1NwZWM8Tm9kZT4gPT4ge1xuICByZXR1cm4gYmxvY2s7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlVG9vbEZhY2V0ID0gPFQgZXh0ZW5kcyBCYWNrb2ZmaWNlVG9vbEZhY2V0Q29uZmlnPihcbiAgY29uZmlnOiBULFxuKTogVCA9PiB7XG4gIHJldHVybiBjb25maWc7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTGlzdERldGFpbE1hbmlmZXN0ID0gPFxuICBURmFjZXRzIGV4dGVuZHMgQmFja29mZmljZUxpc3REZXRhaWxGYWNldExvYWRlck1hcCxcbiAgVENvbmZpZyBleHRlbmRzIE9taXQ8QmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbSwgJ2tpbmQnIHwgJ2ZhY2V0cyc+ICYge1xuICAgIGZhY2V0czogVEZhY2V0cztcbiAgfSxcbj4oXG4gIGNvbmZpZzogVENvbmZpZyxcbik6IFRDb25maWcgJiB7IGtpbmQ6ICdsaXN0LWRldGFpbCcgfSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uY29uZmlnLFxuICAgIGtpbmQ6ICdsaXN0LWRldGFpbCcsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlVG9vbE1hbmlmZXN0ID0gPFxuICBURmFjZXRzIGV4dGVuZHMgQmFja29mZmljZVRvb2xGYWNldExvYWRlck1hcCxcbiAgVENvbmZpZyBleHRlbmRzIE9taXQ8XG4gICAgQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbSxcbiAgICAna2luZCcgfCAnaGFzTGlzdCcgfCAnZGV0YWlsUGFnZXMnIHwgJ2RlZmF1bHREZXRhaWxQYWdlSWQnIHwgJ2ZhY2V0cydcbiAgPiAmIHtcbiAgICBmYWNldHM6IFRGYWNldHM7XG4gIH0sXG4+KFxuICBjb25maWc6IFRDb25maWcsXG4pOiBUQ29uZmlnICYge1xuICBraW5kOiAndG9vbCc7XG4gIGhhc0xpc3Q6IGZhbHNlO1xuICBkZXRhaWxQYWdlczogdW5kZWZpbmVkO1xuICBkZWZhdWx0RGV0YWlsUGFnZUlkOiB1bmRlZmluZWQ7XG59ID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5jb25maWcsXG4gICAga2luZDogJ3Rvb2wnLFxuICAgIGhhc0xpc3Q6IGZhbHNlLFxuICAgIGRldGFpbFBhZ2VzOiB1bmRlZmluZWQsXG4gICAgZGVmYXVsdERldGFpbFBhZ2VJZDogdW5kZWZpbmVkLFxuICB9O1xufTtcbiJdfQ==
|
|
317
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNE5BLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLENBRzdDLE1BQWMsRUFDTixFQUFFO0lBQ1YsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FDbkMsSUFBdUIsRUFDVSxFQUFFO0lBQ25DLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxJQUF1QixFQUNjLEVBQUU7SUFDdkMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLENBS2hELElBQXVCLEVBQ2dDLEVBQUU7SUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLEdBRzFDLEVBQUU7SUFDSixPQUFPLENBR0wsTUFBMkMsRUFDbkMsRUFBRTtRQUNWLE9BQU87WUFDTCxHQUFHLE1BQU07WUFDVCxtQkFBbUIsRUFBRSxJQUFJO1NBQ2hCLENBQUM7SUFDZCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxHQUs5QyxFQUFFO0lBQ0osT0FBTyxDQVFMLE1BQTJDLEVBQ25DLEVBQUU7UUFDVixPQUFPO1lBQ0wsR0FBRyxNQUFNO1lBQ1QsbUJBQW1CLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBQ2QsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsR0FFaEQsRUFBRTtJQUNKLE9BQU8sQ0FJTCxNQUFjLEVBQ2tDLEVB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QUUsYUFBYTtLQUNwQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FTaEMsTUFBZSxFQU1mLEVBQUU7SUFDRixPQUFPO1FBQ0wsR0FBRyxNQUFNO1FBQ1QsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUUsS0FBSztRQUNkLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLG1CQUFtQixFQUFFLFNBQVM7S0FDL0IsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR3JhcGhRTFRhZ2dlZE5vZGUsIE9wZXJhdGlvblR5cGUgfSBmcm9tICdyZWxheS1ydW50aW1lJztcbmltcG9ydCB0eXBlIHtcbiAgQmFja29mZmljZUNvbm5lY3Rpb25MaXN0Q29uZmlnLFxuICBCYWNrb2ZmaWNlQXVkaXRCbG9ja1NwZWMsXG4gIEJhY2tvZmZpY2VDb3VudFF1ZXJ5SW5wdXQsXG4gIEJhY2tvZmZpY2VDb250ZXh0U3RhY2tCbG9ja1NwZWMsXG4gIEJhY2tvZmZpY2VEYXNoYm9hcmRDb25maWcsXG4gIEJhY2tvZmZpY2VEYXNoYm9hcmRDb250ZXh0LFxuICBCYWNrb2ZmaWNlRGFzaGJvYXJkRW50aXR5TGlzdFRhcmdldCxcbiAgQmFja29mZmljZURhc2hib2FyZEhyZWZUYXJnZXQsXG4gIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRWYXJpYWJsZXMsXG4gIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXQsXG4gIEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRGYWNldENvbmZpZyxcbiAgQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZyxcbiAgQmFja29mZmljZU1ldHJpY0dyb3VwQmxvY2tTcGVjLFxuICBCYWNrb2ZmaWNlUGF5bG9hZEJsb2NrU3BlYyxcbiAgQmFja29mZmljZVJlZmVyZW5jZUdyb3VwQmxvY2tTcGVjLFxuICBCYWNrb2ZmaWNlUmVsYXRpb25TdW1tYXJ5R3JvdXBCbG9ja1NwZWMsXG4gIEJhY2tvZmZpY2VTZW1hbnRpY0RldGFpbEJsb2NrU3BlYyxcbiAgQmFja29mZmljZVN0YXRlR3JvdXBCbG9ja1NwZWMsXG4gIEJhY2tvZmZpY2VTdW1tYXJ5QmxvY2tTcGVjLFxuICBCYWNrb2ZmaWNlVGVjaG5pY2FsRmFjdHNCbG9ja1NwZWMsXG4gIEJhY2tvZmZpY2VUaW1lbGluZUJsb2NrU3BlYyxcbiAgQmFja29mZmljZUVudGl0eUxpc3RDb25maWcsXG4gIEJhY2tvZmZpY2VFbnRpdHlGb3JtTXV0YXRpb25BY3Rpb25TcGVjLFxuICBCYWNrb2ZmaWNlRW50aXR5TXV0YXRpb25BY3Rpb25TcGVjLFxuICBCYWNrb2ZmaWNlRW50aXR5Q291bnRDb25maWcsXG4gIEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW0sXG4gIEJhY2tvZmZpY2VFbnRpdHlQaWNrZXJDb25maWcsXG4gIEJhY2tvZmZpY2VGaWx0ZXJQbGFjZW1lbnQsXG4gIEJhY2tvZmZpY2VGaWx0ZXJTcGVjLFxuICBCYWNrb2ZmaWNlRnJhZ21lbnRTcGVjLFxuICBCYWNrb2ZmaWNlTGlzdERldGFpbEZhY2V0TG9hZGVyTWFwLFxuICBCYWNrb2ZmaWNlTGlzdEZhY2V0Q29uZmlnLFxuICBCYWNrb2ZmaWNlTGlzdFF1ZXJ5SW5wdXQsXG4gIEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0LFxuICBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmUsXG4gIEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZyxcbiAgQmFja29mZmljZVBpY2tlclF1ZXJ5SW5wdXQsXG4gIEJhY2tvZmZpY2VQYWdpbmF0aW9uRnJhZ21lbnRTcGVjLFxuICBCYWNrb2ZmaWNlUXVlcnlTcGVjLFxuICBCYWNrb2ZmaWNlUmVsYXRpb25GaWx0ZXJTcGVjLFxuICBCYWNrb2ZmaWNlU29ydFNwZWMsXG4gIEJhY2tvZmZpY2VUb29sRW50aXR5Q29uZmlnLFxuICBCYWNrb2ZmaWNlVG9vbEZhY2V0Q29uZmlnLFxuICBCYWNrb2ZmaWNlVG9vbEZhY2V0TG9hZGVyTWFwLFxuICBJMThuTGFiZWwsXG59IGZyb20gJy4vdHlwZXMuanMnO1xuXG50eXBlIEZpZWxkS2V5T2ZUeXBlPFdoZXJlLCBWYWx1ZT4gPSBFeHRyYWN0PFxuICB7XG4gICAgW0tleSBpbiBrZXlvZiBXaGVyZV06IE5vbk51bGxhYmxlPFdoZXJlW0tleV0+IGV4dGVuZHMgVmFsdWUgPyBLZXkgOiBuZXZlcjtcbiAgfVtrZXlvZiBXaGVyZV0sXG4gIHN0cmluZ1xuPjtcblxudHlwZSBTdHJpbmdGaWVsZEtleTxXaGVyZT4gPSBGaWVsZEtleU9mVHlwZTxXaGVyZSwgc3RyaW5nPjtcbnR5cGUgQm9vbGVhbkZpZWxkS2V5PFdoZXJlPiA9IEZpZWxkS2V5T2ZUeXBlPFdoZXJlLCBib29sZWFuPjtcbnR5cGUgTnVtYmVyRmllbGRLZXk8V2hlcmU+ID0gRmllbGRLZXlPZlR5cGU8V2hlcmUsIG51bWJlcj47XG5cbnR5cGUgU3RhbmRhcmRMaXN0VmFyaWFibGVzPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+ID0ge1xuICB3aGVyZT86IFRXaGVyZSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHNvcnQ/OiBUU29ydCB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIGNvdW50OiBudW1iZXI7XG4gIGN1cnNvcj86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG59O1xuXG50eXBlIFN0YW5kYXJkUGlja2VyVmFyaWFibGVzPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4+ID0ge1xuICB3aGVyZT86IFRXaGVyZSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIGNvdW50OiBudW1iZXI7XG4gIGN1cnNvcj86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG59O1xuXG50eXBlIFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZT4gPVxuICBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXSBleHRlbmRzIFN0YW5kYXJkTGlzdFZhcmlhYmxlczxUT3BlcmF0aW9uPlxuICAgID8gVE9wZXJhdGlvblxuICAgIDogbmV2ZXI7XG5cbnR5cGUgU3RyaWN0U3RhbmRhcmRQaWNrZXJPcGVyYXRpb248VE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGU+ID1cbiAgVE9wZXJhdGlvblsndmFyaWFibGVzJ10gZXh0ZW5kcyBTdGFuZGFyZFBpY2tlclZhcmlhYmxlczxUT3BlcmF0aW9uPlxuICAgID8gVE9wZXJhdGlvblxuICAgIDogbmV2ZXI7XG5cbnR5cGUgQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0S2luZCA9IEV4dHJhY3Q8XG4gIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXQsXG4gIHsgZGF0YVNvdXJjZTogJ3F1ZXJ5JyB9XG4+WydraW5kJ107XG5cbnR5cGUgQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldEtpbmQgPSBFeHRyYWN0PFxuICBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0LFxuICB7IGRhdGFTb3VyY2U6ICdzdGF0aWMnIH1cbj5bJ2tpbmQnXTtcblxudHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXQ8XG4gIEtpbmQgZXh0ZW5kcyBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRLaW5kLFxuPiA9IEV4dHJhY3Q8QmFja29mZmljZURhc2hib2FyZFdpZGdldCwgeyBkYXRhU291cmNlOiAncXVlcnknOyBraW5kOiBLaW5kIH0+O1xuXG50eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRTdGF0aWNXaWRnZXQ8XG4gIEtpbmQgZXh0ZW5kcyBCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0S2luZCxcbj4gPSBFeHRyYWN0PEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXQsIHsgZGF0YVNvdXJjZTogJ3N0YXRpYyc7IGtpbmQ6IEtpbmQgfT47XG5cbnR5cGUgQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0UmVzdWx0PFxuICBLaW5kIGV4dGVuZHMgQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0S2luZCxcbj4gPSBSZXR1cm5UeXBlPEJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxLaW5kPlsncmVzb2x2ZSddPjtcblxuZXhwb3J0IHR5cGUgRGVmaW5lQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0SW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBLaW5kIGV4dGVuZHMgQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0S2luZCxcbj4gPSBPbWl0PFxuICBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXQ8S2luZD4sXG4gICdkYXRhU291cmNlJyB8ICd2YXJpYWJsZXMnIHwgJ3Jlc29sdmUnXG4+ICYge1xuICB2YXJpYWJsZXM6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRWYXJpYWJsZXM8VE9wZXJhdGlvbj47XG4gIHJlc29sdmU6IChcbiAgICBkYXRhOiBUT3BlcmF0aW9uWydyZXNwb25zZSddLFxuICAgIGNvbnRleHQ6IEJhY2tvZmZpY2VEYXNoYm9hcmRDb250ZXh0LFxuICApID0+IEJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldFJlc3VsdDxLaW5kPjtcbn07XG5cbnR5cGUgQW55RGVmaW5lQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0SW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuPiA9IHtcbiAgW0tpbmQgaW4gQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0S2luZF06IERlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldElucHV0PFxuICAgIFRPcGVyYXRpb24sXG4gICAgS2luZFxuICA+O1xufVtCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRLaW5kXTtcblxuZXhwb3J0IHR5cGUgRGVmaW5lQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldElucHV0PFxuICBLaW5kIGV4dGVuZHMgQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldEtpbmQsXG4+ID0gT21pdDxCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0PEtpbmQ+LCAnZGF0YVNvdXJjZSc+O1xuXG50eXBlIEFueURlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRTdGF0aWNXaWRnZXRJbnB1dCA9IHtcbiAgW0tpbmQgaW4gQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldEtpbmRdOiBEZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0SW5wdXQ8S2luZD47XG59W0JhY2tvZmZpY2VEYXNoYm9hcmRTdGF0aWNXaWRnZXRLaW5kXTtcblxuZXhwb3J0IHR5cGUgRGVmaW5lQmFja29mZmljZUNvbm5lY3Rpb25MaXN0SW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIExpc3RGcmFnbWVudERhdGEsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuICBUQ291bnRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlID0gYW55LFxuPiA9IE9taXQ8XG4gIEJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdENvbmZpZzxcbiAgICBUT3BlcmF0aW9uLFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgVFdoZXJlLFxuICAgIFRTb3J0LFxuICAgIFRDb3VudE9wZXJhdGlvblxuICA+LFxuICAna2luZCcgfCAnYnVpbGRRdWVyeVZhcmlhYmxlcydcbj4gJiB7XG4gIGJ1aWxkUXVlcnlWYXJpYWJsZXM/OiAoXG4gICAgaW5wdXQ6IEJhY2tvZmZpY2VMaXN0UXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmUsIFRTb3J0PixcbiAgKSA9PiBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXTtcbn07XG5cbmV4cG9ydCB0eXBlIERlZmluZUJhY2tvZmZpY2VMaXN0RmFjZXRJbnB1dDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgTGlzdEZyYWdtZW50RGF0YSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4gIFRDb3VudE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUgPSBhbnksXG4+ID0gT21pdDxcbiAgQmFja29mZmljZUxpc3RGYWNldENvbmZpZzxcbiAgICBUT3BlcmF0aW9uLFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgVFdoZXJlLFxuICAgIFRTb3J0LFxuICAgIFRDb3VudE9wZXJhdGlvblxuICA+LFxuICAnbGlzdCdcbj4gJiB7XG4gIGxpc3Q6IEJhY2tvZmZpY2VFbnRpdHlMaXN0Q29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmUsXG4gICAgVFNvcnQsXG4gICAgVENvdW50T3BlcmF0aW9uXG4gID47XG59O1xuXG5leHBvcnQgdHlwZSBEZWZpbmVCYWNrb2ZmaWNlUGlja2VySW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIFBpY2tlckZyYWdtZW50RGF0YSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4+ID0gT21pdDxcbiAgQmFja29mZmljZUVudGl0eVBpY2tlckNvbmZpZzxcbiAgICBUT3BlcmF0aW9uLFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIFBpY2tlckZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmVcbiAgPixcbiAgJ2J1aWxkUXVlcnlWYXJpYWJsZXMnXG4+ICYge1xuICBidWlsZFF1ZXJ5VmFyaWFibGVzPzogKFxuICAgIGlucHV0OiBCYWNrb2ZmaWNlUGlja2VyUXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmU+LFxuICApID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRDb25maWcgPSA8XG4gIGNvbnN0IENvbmZpZyBleHRlbmRzIEJhY2tvZmZpY2VEYXNoYm9hcmRDb25maWcsXG4+KFxuICBjb25maWc6IENvbmZpZyxcbik6IENvbmZpZyA9PiB7XG4gIHJldHVybiBjb25maWc7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZVF1ZXJ5ID0gPFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPihcbiAgbm9kZTogR3JhcGhRTFRhZ2dlZE5vZGUsXG4pOiBCYWNrb2ZmaWNlUXVlcnlTcGVjPFRPcGVyYXRpb24+ID0+IHtcbiAgcmV0dXJuIHsgbm9kZSB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VGcmFnbWVudCA9IDxUS2V5LCBURGF0YT4oXG4gIG5vZGU6IEdyYXBoUUxUYWdnZWROb2RlLFxuKTogQmFja29mZmljZUZyYWdtZW50U3BlYzxUS2V5LCBURGF0YT4gPT4ge1xuICByZXR1cm4geyBub2RlIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZVBhZ2luYXRpb25GcmFnbWVudCA9IDxcbiAgVFF1ZXJ5IGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVEtleSxcbiAgVERhdGEsXG4+KFxuICBub2RlOiBHcmFwaFFMVGFnZ2VkTm9kZSxcbik6IEJhY2tvZmZpY2VQYWdpbmF0aW9uRnJhZ21lbnRTcGVjPFRRdWVyeSwgVEtleSwgVERhdGE+ID0+IHtcbiAgcmV0dXJuIHsgbm9kZSB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VNdXRhdGlvbkFjdGlvbiA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIE5vZGUsXG4+KCkgPT4ge1xuICByZXR1cm4gPFxuICAgIGNvbnN0IEFjdGlvbiBleHRlbmRzIEJhY2tvZmZpY2VFbnRpdHlNdXRhdGlvbkFjdGlvblNwZWM8Tm9kZSwgVE9wZXJhdGlvbj4sXG4gID4oXG4gICAgYWN0aW9uOiBPbWl0PEFjdGlvbiwgJ3JlbGF5T3BlcmF0aW9uQm91bmQnPixcbiAgKTogQWN0aW9uID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uYWN0aW9uLFxuICAgICAgcmVsYXlPcGVyYXRpb25Cb3VuZDogdHJ1ZSxcbiAgICB9IGFzIEFjdGlvbjtcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlRm9ybU11dGF0aW9uQWN0aW9uID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgTm9kZSxcbiAgRm9ybVZhbHVlcyBleHRlbmRzIG9iamVjdCxcbiAgSW5pdGlhbFZhbHVlcyBleHRlbmRzIG9iamVjdCA9IFBhcnRpYWw8Rm9ybVZhbHVlcz4sXG4+KCkgPT4ge1xuICByZXR1cm4gPFxuICAgIGNvbnN0IEFjdGlvbiBleHRlbmRzIEJhY2tvZmZpY2VFbnRpdHlGb3JtTXV0YXRpb25BY3Rpb25TcGVjPFxuICAgICAgTm9kZSxcbiAgICAgIFRPcGVyYXRpb24sXG4gICAgICBGb3JtVmFsdWVzLFxuICAgICAgSW5pdGlhbFZhbHVlc1xuICAgID4sXG4gID4oXG4gICAgYWN0aW9uOiBPbWl0PEFjdGlvbiwgJ3JlbGF5T3BlcmF0aW9uQm91bmQnPixcbiAgKTogQWN0aW9uID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uYWN0aW9uLFxuICAgICAgcmVsYXlPcGVyYXRpb25Cb3VuZDogdHJ1ZSxcbiAgICB9IGFzIEFjdGlvbjtcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXQgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuPigpID0+IHtcbiAgcmV0dXJuIDxcbiAgICBjb25zdCBXaWRnZXQgZXh0ZW5kc1xuICAgICAgQW55RGVmaW5lQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0SW5wdXQ8VE9wZXJhdGlvbj4sXG4gID4oXG4gICAgd2lkZ2V0OiBXaWRnZXQsXG4gICk6IEJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxXaWRnZXRbJ2tpbmQnXT4gPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi53aWRnZXQsXG4gICAgICBkYXRhU291cmNlOiAncXVlcnknLFxuICAgIH0gYXMgdW5rbm93biBhcyBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXQ8V2lkZ2V0WydraW5kJ10+O1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRTdGF0aWNXaWRnZXQgPSAoXG4gIHdpZGdldDogQW55RGVmaW5lQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldElucHV0LFxuKTogRXh0cmFjdDxCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0LCB7IGRhdGFTb3VyY2U6ICdzdGF0aWMnIH0+ID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi53aWRnZXQsXG4gICAgZGF0YVNvdXJjZTogJ3N0YXRpYycsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZURhc2hib2FyZEhyZWZUYXJnZXQgPSAoXG4gIGhyZWY6IHN0cmluZyxcbik6IEJhY2tvZmZpY2VEYXNoYm9hcmRIcmVmVGFyZ2V0ID0+IHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiAnaHJlZicsXG4gICAgaHJlZixcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkTGlzdFRhcmdldCA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4+KCkgPT4ge1xuICByZXR1cm4gPFxuICAgIGNvbnN0IFRhcmdldCBleHRlbmRzIE9taXQ8XG4gICAgICBCYWNrb2ZmaWNlRGFzaGJvYXJkRW50aXR5TGlzdFRhcmdldDxcbiAgICAgICAgQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICAgICAgICBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPlxuICAgICAgPixcbiAgICAgICdraW5kJ1xuICAgID4sXG4gID4oXG4gICAgdGFyZ2V0OiBUYXJnZXQsXG4gICk6IEJhY2tvZmZpY2VEYXNoYm9hcmRFbnRpdHlMaXN0VGFyZ2V0PFxuICAgIEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgICBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPlxuICA+ID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4udGFyZ2V0LFxuICAgICAga2luZDogJ2VudGl0eS1saXN0JyxcbiAgICB9O1xuICB9O1xufTtcblxuY29uc3QgYnVpbGRTdGFuZGFyZExpc3RWYXJpYWJsZXMgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4oXG4gIGlucHV0OiBCYWNrb2ZmaWNlTGlzdFF1ZXJ5SW5wdXQ8VE9wZXJhdGlvbiwgVFdoZXJlLCBUU29ydD4sXG4pOiBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXSA9PiB7XG4gIHJldHVybiB7XG4gICAgd2hlcmU6IGlucHV0LndoZXJlLFxuICAgIHNvcnQ6IGlucHV0LnNvcnQsXG4gICAgY291bnQ6IGlucHV0LmNvdW50LFxuICAgIGN1cnNvcjogaW5wdXQuY3Vyc29yLFxuICB9O1xufTtcblxuY29uc3QgYnVpbGRTdGFuZGFyZFBpY2tlclZhcmlhYmxlcyA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuPihcbiAgaW5wdXQ6IEJhY2tvZmZpY2VQaWNrZXJRdWVyeUlucHV0PFRPcGVyYXRpb24sIFRXaGVyZT4sXG4pOiBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXSA9PiB7XG4gIGNvbnN0IHNlYXJjaCA9IGlucHV0LnNlYXJjaC50cmltKCk7XG4gIGxldCB3aGVyZTogVFdoZXJlIHwgbnVsbCA9IG51bGw7XG4gIGlmIChpbnB1dC5zY29wZSAhPSBudWxsKSB7XG4gICAgY29uc3Qgc2NvcGVkV2hlcmUgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyhpbnB1dC5zY29wZSkuZmlsdGVyKChbLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUudHJpbSgpICE9PSAnJztcbiAgICAgIH0pLFxuICAgICk7XG4gICAgd2hlcmUgPSBzY29wZWRXaGVyZSBhcyBUV2hlcmU7XG4gIH1cbiAgbGV0IHNlYXJjaFZhcmlhYmxlOiBzdHJpbmcgfCBudWxsID0gc2VhcmNoO1xuICBpZiAoc2VhcmNoID09PSAnJykge1xuICAgIHNlYXJjaFZhcmlhYmxlID0gbnVsbDtcbiAgfVxuICByZXR1cm4ge1xuICAgIHdoZXJlLFxuICAgIHNlYXJjaDogc2VhcmNoVmFyaWFibGUsXG4gICAgY291bnQ6IDIwLFxuICAgIGN1cnNvcjogbnVsbCxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3QgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUQ291bnRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuPigpID0+IHtcbiAgcmV0dXJuIDxSb3dSZWYsIFJvd1ZpZXcsIExpc3RGcmFnbWVudERhdGE+KFxuICAgIGNvbmZpZzogRGVmaW5lQmFja29mZmljZUNvbm5lY3Rpb25MaXN0SW5wdXQ8XG4gICAgICBTdHJpY3RTdGFuZGFyZExpc3RPcGVyYXRpb248VE9wZXJhdGlvbj4sXG4gICAgICBSb3dSZWYsXG4gICAgICBSb3dWaWV3LFxuICAgICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICAgIEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxTdHJpY3RTdGFuZGFyZExpc3RPcGVyYXRpb248VE9wZXJhdGlvbj4+LFxuICAgICAgQmFja29mZmljZU9wZXJhdGlvblNvcnQ8U3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+PixcbiAgICAgIFRDb3VudE9wZXJhdGlvblxuICAgID4sXG4gICk6IEJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdENvbmZpZzxcbiAgICBTdHJpY3RTdGFuZGFyZExpc3RPcGVyYXRpb248VE9wZXJhdGlvbj4sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8U3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+PixcbiAgICBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxTdHJpY3RTdGFuZGFyZExpc3RPcGVyYXRpb248VE9wZXJhdGlvbj4+LFxuICAgIFRDb3VudE9wZXJhdGlvblxuICA+ID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAga2luZDogJ2Nvbm5lY3Rpb24nLFxuICAgICAgYnVpbGRRdWVyeVZhcmlhYmxlczpcbiAgICAgICAgY29uZmlnLmJ1aWxkUXVlcnlWYXJpYWJsZXMgPz8gYnVpbGRTdGFuZGFyZExpc3RWYXJpYWJsZXMsXG4gICAgfTtcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlQ3VzdG9tQ29ubmVjdGlvbkxpc3QgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUQ291bnRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4oKSA9PiB7XG4gIHJldHVybiA8Um93UmVmLCBSb3dWaWV3LCBMaXN0RnJhZ21lbnREYXRhPihcbiAgICBjb25maWc6IERlZmluZUJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdElucHV0PFxuICAgICAgVE9wZXJhdGlvbixcbiAgICAgIFJvd1JlZixcbiAgICAgIFJvd1ZpZXcsXG4gICAgICBMaXN0RnJhZ21lbnREYXRhLFxuICAgICAgVFdoZXJlLFxuICAgICAgVFNvcnQsXG4gICAgICBUQ291bnRPcGVyYXRpb25cbiAgICA+ICYge1xuICAgICAgYnVpbGRRdWVyeVZhcmlhYmxlczogKFxuICAgICAgICBpbnB1dDogQmFja29mZmljZUxpc3RRdWVyeUlucHV0PFRPcGVyYXRpb24sIFRXaGVyZSwgVFNvcnQ+LFxuICAgICAgKSA9PiBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXTtcbiAgICB9LFxuICApOiBCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3RDb25maWc8XG4gICAgVE9wZXJhdGlvbixcbiAgICBSb3dSZWYsXG4gICAgUm93VmlldyxcbiAgICBMaXN0RnJhZ21lbnREYXRhLFxuICAgIFRXaGVyZSxcbiAgICBUU29ydCxcbiAgICBUQ291bnRPcGVyYXRpb25cbiAgPiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGtpbmQ6ICdjb25uZWN0aW9uJyxcbiAgICB9O1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VMaXN0RmFjZXQgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUQ291bnRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuPigpID0+IHtcbiAgcmV0dXJuIDxSb3dSZWYsIFJvd1ZpZXcsIExpc3RGcmFnbWVudERhdGE+KFxuICAgIGNvbmZpZzogRGVmaW5lQmFja29mZmljZUxpc3RGYWNldElucHV0PFxuICAgICAgU3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+LFxuICAgICAgUm93UmVmLFxuICAgICAgUm93VmlldyxcbiAgICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgICBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8U3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+PixcbiAgICAgIEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uPj4sXG4gICAgICBUQ291bnRPcGVyYXRpb25cbiAgICA+LFxuICApOiBCYWNrb2ZmaWNlTGlzdEZhY2V0Q29uZmlnPFxuICAgIFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uPixcbiAgICBSb3dSZWYsXG4gICAgUm93VmlldyxcbiAgICBMaXN0RnJhZ21lbnREYXRhLFxuICAgIEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxTdHJpY3RTdGFuZGFyZExpc3RPcGVyYXRpb248VE9wZXJhdGlvbj4+LFxuICAgIEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uPj4sXG4gICAgVENvdW50T3BlcmF0aW9uXG4gID4gPT4ge1xuICAgIHJldHVybiBjb25maWc7XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZUN1c3RvbUxpc3RGYWNldCA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRDb3VudE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuPigpID0+IHtcbiAgcmV0dXJuIDxSb3dSZWYsIFJvd1ZpZXcsIExpc3RGcmFnbWVudERhdGE+KFxuICAgIGNvbmZpZzogRGVmaW5lQmFja29mZmljZUxpc3RGYWNldElucHV0PFxuICAgICAgVE9wZXJhdGlvbixcbiAgICAgIFJvd1JlZixcbiAgICAgIFJvd1ZpZXcsXG4gICAgICBMaXN0RnJhZ21lbnREYXRhLFxuICAgICAgVFdoZXJlLFxuICAgICAgVFNvcnQsXG4gICAgICBUQ291bnRPcGVyYXRpb25cbiAgICA+LFxuICApOiBCYWNrb2ZmaWNlTGlzdEZhY2V0Q29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmUsXG4gICAgVFNvcnQsXG4gICAgVENvdW50T3BlcmF0aW9uXG4gID4gPT4ge1xuICAgIHJldHVybiBjb25maWc7XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZVBpY2tlciA9IDxUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZT4oKSA9PiB7XG4gIHJldHVybiA8Um93UmVmLCBSb3dWaWV3LCBQaWNrZXJGcmFnbWVudERhdGE+KFxuICAgIGNvbmZpZzogRGVmaW5lQmFja29mZmljZVBpY2tlcklucHV0PFxuICAgICAgU3RyaWN0U3RhbmRhcmRQaWNrZXJPcGVyYXRpb248VE9wZXJhdGlvbj4sXG4gICAgICBSb3dSZWYsXG4gICAgICBSb3dWaWV3LFxuICAgICAgUGlja2VyRnJhZ21lbnREYXRhXG4gICAgPixcbiAgKTogQmFja29mZmljZUVudGl0eVBpY2tlckNvbmZpZzxcbiAgICBTdHJpY3RTdGFuZGFyZFBpY2tlck9wZXJhdGlvbjxUT3BlcmF0aW9uPixcbiAgICBSb3dSZWYsXG4gICAgUm93VmlldyxcbiAgICBQaWNrZXJGcmFnbWVudERhdGFcbiAgPiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGJ1aWxkUXVlcnlWYXJpYWJsZXM6XG4gICAgICAgIGNvbmZpZy5idWlsZFF1ZXJ5VmFyaWFibGVzID8/IGJ1aWxkU3RhbmRhcmRQaWNrZXJWYXJpYWJsZXMsXG4gICAgfTtcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlQ3VzdG9tUGlja2VyID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+KCkgPT4ge1xuICByZXR1cm4gPFJvd1JlZiwgUm93VmlldywgUGlja2VyRnJhZ21lbnREYXRhPihcbiAgICBjb25maWc6IERlZmluZUJhY2tvZmZpY2VQaWNrZXJJbnB1dDxcbiAgICAgIFRPcGVyYXRpb24sXG4gICAgICBSb3dSZWYsXG4gICAgICBSb3dWaWV3LFxuICAgICAgUGlja2VyRnJhZ21lbnREYXRhLFxuICAgICAgVFdoZXJlXG4gICAgPiAmIHtcbiAgICAgIGJ1aWxkUXVlcnlWYXJpYWJsZXM6IChcbiAgICAgICAgaW5wdXQ6IEJhY2tvZmZpY2VQaWNrZXJRdWVyeUlucHV0PFRPcGVyYXRpb24sIFRXaGVyZT4sXG4gICAgICApID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddO1xuICAgIH0sXG4gICk6IEJhY2tvZmZpY2VFbnRpdHlQaWNrZXJDb25maWc8XG4gICAgVE9wZXJhdGlvbixcbiAgICBSb3dSZWYsXG4gICAgUm93VmlldyxcbiAgICBQaWNrZXJGcmFnbWVudERhdGEsXG4gICAgVFdoZXJlXG4gID4gPT4ge1xuICAgIHJldHVybiBjb25maWc7XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZVBpY2tlckZhY2V0ID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbj4oKSA9PiB7XG4gIHJldHVybiA8Um93UmVmLCBSb3dWaWV3LCBQaWNrZXJGcmFnbWVudERhdGE+KFxuICAgIGNvbmZpZzogQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnPFxuICAgICAgU3RyaWN0U3RhbmRhcmRQaWNrZXJPcGVyYXRpb248VE9wZXJhdGlvbj4sXG4gICAgICBSb3dSZWYsXG4gICAgICBSb3dWaWV3LFxuICAgICAgUGlja2VyRnJhZ21lbnREYXRhXG4gICAgPixcbiAgKTogQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnPFxuICAgIFN0cmljdFN0YW5kYXJkUGlja2VyT3BlcmF0aW9uPFRPcGVyYXRpb24+LFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIFBpY2tlckZyYWdtZW50RGF0YVxuICA+ID0+IHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VDdXN0b21QaWNrZXJGYWNldCA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPigpID0+IHtcbiAgcmV0dXJuIDxSb3dSZWYsIFJvd1ZpZXcsIFBpY2tlckZyYWdtZW50RGF0YT4oXG4gICAgY29uZmlnOiBCYWNrb2ZmaWNlUGlja2VyRmFjZXRDb25maWc8XG4gICAgICBUT3BlcmF0aW9uLFxuICAgICAgUm93UmVmLFxuICAgICAgUm93VmlldyxcbiAgICAgIFBpY2tlckZyYWdtZW50RGF0YSxcbiAgICAgIFRXaGVyZVxuICAgID4sXG4gICk6IEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZzxcbiAgICBUT3BlcmF0aW9uLFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIFBpY2tlckZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmVcbiAgPiA9PiB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlUmVsYXRpb25GaWx0ZXIgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4oKSA9PiB7XG4gIHJldHVybiAoXG4gICAgcmVsYXRpb246IEJhY2tvZmZpY2VSZWxhdGlvbkZpbHRlclNwZWM8VE9wZXJhdGlvbiwgVFdoZXJlPixcbiAgKTogQmFja29mZmljZVJlbGF0aW9uRmlsdGVyU3BlYzxUT3BlcmF0aW9uLCBUV2hlcmU+ID0+IHtcbiAgICByZXR1cm4gcmVsYXRpb247XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZUVudGl0eUNvdW50ID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+KCkgPT4ge1xuICByZXR1cm4gKFxuICAgIGNvdW50OiBPbWl0PFxuICAgICAgQmFja29mZmljZUVudGl0eUNvdW50Q29uZmlnPFRPcGVyYXRpb24sIFRXaGVyZT4sXG4gICAgICAnYnVpbGRWYXJpYWJsZXMnIHwgJ2dldENvdW50J1xuICAgID4gJiB7XG4gICAgICBidWlsZFZhcmlhYmxlczogKFxuICAgICAgICBpbnB1dDogQmFja29mZmljZUNvdW50UXVlcnlJbnB1dDxUV2hlcmU+LFxuICAgICAgKSA9PiBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXTtcbiAgICAgIGdldENvdW50OiAoZGF0YTogVE9wZXJhdGlvblsncmVzcG9uc2UnXSkgPT4gbnVtYmVyIHwgbnVsbDtcbiAgICB9LFxuICApOiBCYWNrb2ZmaWNlRW50aXR5Q291bnRDb25maWc8VE9wZXJhdGlvbiwgVFdoZXJlPiA9PiB7XG4gICAgcmV0dXJuIGNvdW50O1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VGaWx0ZXJzID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4+KCkgPT4ge1xuICByZXR1cm4gPGNvbnN0IEZpbHRlcnMgZXh0ZW5kcyByZWFkb25seSBCYWNrb2ZmaWNlRmlsdGVyU3BlYzxUV2hlcmU+W10+KFxuICAgIGZpbHRlcnM6IEZpbHRlcnMsXG4gICk6IEZpbHRlcnMgPT4ge1xuICAgIHJldHVybiBmaWx0ZXJzO1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VTb3J0cyA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+KCkgPT4ge1xuICByZXR1cm4gPGNvbnN0IFNvcnRzIGV4dGVuZHMgcmVhZG9ubHkgQmFja29mZmljZVNvcnRTcGVjPFRTb3J0PltdPihcbiAgICBzb3J0czogU29ydHMsXG4gICk6IFNvcnRzID0+IHtcbiAgICByZXR1cm4gc29ydHM7XG4gIH07XG59O1xuXG50eXBlIEZpbHRlckNvbmZpZyA9IHtcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcGxhY2VtZW50PzogQmFja29mZmljZUZpbHRlclBsYWNlbWVudDtcbiAgcGF0aD86IHJlYWRvbmx5IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IGNvbnN0IGVudGl0eUlkRmlsdGVyID0gPFdoZXJlLCBLZXkgZXh0ZW5kcyBTdHJpbmdGaWVsZEtleTxXaGVyZT4+KFxuICBrZXk6IEtleSxcbiAgY29uZmlnOiBGaWx0ZXJDb25maWcgJiB7IGVudGl0eTogc3RyaW5nIH0sXG4pOiBCYWNrb2ZmaWNlRmlsdGVyU3BlYzxXaGVyZT4gPT4ge1xuICByZXR1cm4ge1xuICAgIGlkOiBrZXksXG4gICAga2luZDogJ2VudGl0eUlkJyxcbiAgICBlbnRpdHk6IGNvbmZpZy5lbnRpdHksXG4gICAgbGFiZWw6IGNvbmZpZy5sYWJlbCxcbiAgICBwbGFjZW1lbnQ6IGNvbmZpZy5wbGFjZW1lbnQsXG4gICAgd2hlcmVLZXk6IGtleSxcbiAgICBwYXRoOiBjb25maWcucGF0aCxcbiAgICB0b0dyYXBoUUw6ICh2YWx1ZSkgPT4ge1xuICAgICAgcmV0dXJuIHsgW2tleV06IHZhbHVlIH0gYXMgUGFydGlhbDxXaGVyZT47XG4gICAgfSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCB0ZXh0RmlsdGVyID0gPFdoZXJlLCBLZXkgZXh0ZW5kcyBTdHJpbmdGaWVsZEtleTxXaGVyZT4+KFxuICBrZXk6IEtleSxcbiAgY29uZmlnOiBGaWx0ZXJDb25maWcgJiB7XG4gICAgcGxhY2Vob2xkZXJMYWJlbD86IEkxOG5MYWJlbDtcbiAgICBwbGFjZWhvbGRlclRleHQ/OiBJMThuTGFiZWw7XG4gIH0sXG4pOiBCYWNrb2ZmaWNlRmlsdGVyU3BlYzxXaGVyZT4gPT4ge1xuICByZXR1cm4ge1xuICAgIGlkOiBrZXksXG4gICAga2luZDogJ3RleHQnLFxuICAgIGxhYmVsOiBjb25maWcubGFiZWwsXG4gICAgcGxhY2VtZW50OiBjb25maWcucGxhY2VtZW50LFxuICAgIHdoZXJlS2V5OiBrZXksXG4gICAgcGF0aDogY29uZmlnLnBhdGgsXG4gICAgcGxhY2Vob2xkZXJMYWJlbDogY29uZmlnLnBsYWNlaG9sZGVyTGFiZWwsXG4gICAgcGxhY2Vob2xkZXJUZXh0OiBjb25maWcucGxhY2Vob2xkZXJUZXh0LFxuICAgIHRvR3JhcGhRTDogKHZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4geyBba2V5XTogdmFsdWUgfSBhcyBQYXJ0aWFsPFdoZXJlPjtcbiAgICB9LFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRhdGV0aW1lRmlsdGVyID0gPFdoZXJlLCBLZXkgZXh0ZW5kcyBTdHJpbmdGaWVsZEtleTxXaGVyZT4+KFxuICBrZXk6IEtleSxcbiAgY29uZmlnOiBGaWx0ZXJDb25maWcgJiB7XG4gICAgbW9kZT86ICdmcm9tJyB8ICd0bycgfCAnZXhhY3QnO1xuICAgIHBsYWNlaG9sZGVyTGFiZWw/OiBJMThuTGFiZWw7XG4gICAgcGxhY2Vob2xkZXJUZXh0PzogSTE4bkxhYmVsO1xuICB9LFxuKTogQmFja29mZmljZUZpbHRlclNwZWM8V2hlcmU+ID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpZDoga2V5LFxuICAgIGtpbmQ6ICdkYXRldGltZScsXG4gICAgbGFiZWw6IGNvbmZpZy5sYWJlbCxcbiAgICBwbGFjZW1lbnQ6IGNvbmZpZy5wbGFjZW1lbnQsXG4gICAgd2hlcmVLZXk6IGtleSxcbiAgICBwYXRoOiBjb25maWcucGF0aCxcbiAgICBtb2RlOiBjb25maWcubW9kZSxcbiAgICBwbGFjZWhvbGRlckxhYmVsOiBjb25maWcucGxhY2Vob2xkZXJMYWJlbCxcbiAgICBwbGFjZWhvbGRlclRleHQ6IGNvbmZpZy5wbGFjZWhvbGRlclRleHQsXG4gICAgdG9HcmFwaFFMOiAodmFsdWUpID0+IHtcbiAgICAgIHJldHVybiB7IFtrZXldOiB2YWx1ZSB9IGFzIFBhcnRpYWw8V2hlcmU+O1xuICAgIH0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgbnVtYmVyRmlsdGVyID0gPFdoZXJlLCBLZXkgZXh0ZW5kcyBOdW1iZXJGaWVsZEtleTxXaGVyZT4+KFxuICBrZXk6IEtleSxcbiAgY29uZmlnOiBGaWx0ZXJDb25maWcgJiB7XG4gICAgcGxhY2Vob2xkZXJMYWJlbD86IEkxOG5MYWJlbDtcbiAgICBwbGFjZWhvbGRlclRleHQ/OiBJMThuTGFiZWw7XG4gICAgaW5wdXRNb2RlPzogJ251bWVyaWMnIHwgJ2RlY2ltYWwnO1xuICB9LFxuKTogQmFja29mZmljZUZpbHRlclNwZWM8V2hlcmU+ID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpZDoga2V5LFxuICAgIGtpbmQ6ICdudW1iZXInLFxuICAgIGxhYmVsOiBjb25maWcubGFiZWwsXG4gICAgcGxhY2VtZW50OiBjb25maWcucGxhY2VtZW50LFxuICAgIHdoZXJlS2V5OiBrZXksXG4gICAgcGF0aDogY29uZmlnLnBhdGgsXG4gICAgcGxhY2Vob2xkZXJMYWJlbDogY29uZmlnLnBsYWNlaG9sZGVyTGFiZWwsXG4gICAgcGxhY2Vob2xkZXJUZXh0OiBjb25maWcucGxhY2Vob2xkZXJUZXh0LFxuICAgIGlucHV0TW9kZTogY29uZmlnLmlucHV0TW9kZSxcbiAgICB0b0dyYXBoUUw6ICh2YWx1ZSkgPT4ge1xuICAgICAgcmV0dXJuIHsgW2tleV06IHZhbHVlIH0gYXMgUGFydGlhbDxXaGVyZT47XG4gICAgfSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBlbnVtRmlsdGVyID0gPFdoZXJlLCBLZXkgZXh0ZW5kcyBTdHJpbmdGaWVsZEtleTxXaGVyZT4+KFxuICBrZXk6IEtleSxcbiAgY29uZmlnOiBGaWx0ZXJDb25maWcgJiB7XG4gICAgb3B0aW9uczogcmVhZG9ubHkgRXh0cmFjdDxOb25OdWxsYWJsZTxXaGVyZVtLZXldPiwgc3RyaW5nPltdO1xuICB9LFxuKTogQmFja29mZmljZUZpbHRlclNwZWM8V2hlcmU+ID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpZDoga2V5LFxuICAgIGtpbmQ6ICdlbnVtJyxcbiAgICBsYWJlbDogY29uZmlnLmxhYmVsLFxuICAgIHBsYWNlbWVudDogY29uZmlnLnBsYWNlbWVudCxcbiAgICB3aGVyZUtleToga2V5LFxuICAgIHBhdGg6IGNvbmZpZy5wYXRoLFxuICAgIG9wdGlvbnM6IGNvbmZpZy5vcHRpb25zLm1hcCgodmFsdWUpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhbHVlLFxuICAgICAgICBsYWJlbDogKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSksXG4gICAgdG9HcmFwaFFMOiAodmFsdWUpID0+IHtcbiAgICAgIHJldHVybiB7IFtrZXldOiB2YWx1ZSB9IGFzIFBhcnRpYWw8V2hlcmU+O1xuICAgIH0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgYm9vbGVhbkZpbHRlciA9IDxXaGVyZSwgS2V5IGV4dGVuZHMgQm9vbGVhbkZpZWxkS2V5PFdoZXJlPj4oXG4gIGtleTogS2V5LFxuICBjb25maWc6IEZpbHRlckNvbmZpZyAmIHtcbiAgICB0cnVlTGFiZWw/OiBJMThuTGFiZWw7XG4gICAgZmFsc2VMYWJlbD86IEkxOG5MYWJlbDtcbiAgfSxcbik6IEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFdoZXJlPiA9PiB7XG4gIHJldHVybiB7XG4gICAgaWQ6IGtleSxcbiAgICBraW5kOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6IGNvbmZpZy5sYWJlbCxcbiAgICBwbGFjZW1lbnQ6IGNvbmZpZy5wbGFjZW1lbnQsXG4gICAgd2hlcmVLZXk6IGtleSxcbiAgICBwYXRoOiBjb25maWcucGF0aCxcbiAgICB0cnVlTGFiZWw6IGNvbmZpZy50cnVlTGFiZWwsXG4gICAgZmFsc2VMYWJlbDogY29uZmlnLmZhbHNlTGFiZWwsXG4gICAgdG9HcmFwaFFMOiAodmFsdWUpID0+IHtcbiAgICAgIHJldHVybiB7IFtrZXldOiB2YWx1ZSB9IGFzIFBhcnRpYWw8V2hlcmU+O1xuICAgIH0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3VzdG9tRmlsdGVyID0gPFdoZXJlLCBWYWx1ZT4oXG4gIGZpbHRlcjogQmFja29mZmljZUZpbHRlclNwZWM8V2hlcmU+ICYge1xuICAgIHRvR3JhcGhRTDogKHZhbHVlOiBWYWx1ZSkgPT4gUGFydGlhbDxXaGVyZT47XG4gIH0sXG4pOiBCYWNrb2ZmaWNlRmlsdGVyU3BlYzxXaGVyZT4gPT4ge1xuICByZXR1cm4gZmlsdGVyO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VUb29sRW50aXR5ID0gPFxuICBUIGV4dGVuZHMgQmFja29mZmljZVRvb2xFbnRpdHlDb25maWcsXG4+KFxuICBjb25maWc6IFQsXG4pOiBUID0+IHtcbiAgcmV0dXJuIGNvbmZpZztcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEZXRhaWxMYXlvdXRGYWNldCA9IDxcbiAgVCBleHRlbmRzIEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRGYWNldENvbmZpZyxcbj4oXG4gIGNvbmZpZzogVCxcbik6IFQgPT4ge1xuICByZXR1cm4gY29uZmlnO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZURldGFpbFBhZ2VGYWNldCA9IDxcbiAgVCBleHRlbmRzIEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRDb25maWcsXG4+KFxuICBjb25maWc6IFQsXG4pOiBUID0+IHtcbiAgcmV0dXJuIGNvbmZpZztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVEZXRhaWxCbG9ja3MgPSA8Tm9kZT4oKSA9PiB7XG4gIHJldHVybiA8XG4gICAgY29uc3QgQmxvY2tzIGV4dGVuZHMgcmVhZG9ubHkgQmFja29mZmljZVNlbWFudGljRGV0YWlsQmxvY2tTcGVjPE5vZGU+W10sXG4gID4oXG4gICAgYmxvY2tzOiBCbG9ja3MsXG4gICk6IEJsb2NrcyA9PiB7XG4gICAgcmV0dXJuIGJsb2NrcztcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVTdW1tYXJ5QmxvY2sgPSA8Tm9kZT4oXG4gIGJsb2NrOiBCYWNrb2ZmaWNlU3VtbWFyeUJsb2NrU3BlYzxOb2RlPixcbik6IEJhY2tvZmZpY2VTdW1tYXJ5QmxvY2tTcGVjPE5vZGU+ID0+IHtcbiAgcmV0dXJuIGJsb2NrO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZU1ldHJpY0dyb3VwID0gPE5vZGU+KFxuICBibG9jazogQmFja29mZmljZU1ldHJpY0dyb3VwQmxvY2tTcGVjPE5vZGU+LFxuKTogQmFja29mZmljZU1ldHJpY0dyb3VwQmxvY2tTcGVjPE5vZGU+ID0+IHtcbiAgcmV0dXJuIGJsb2NrO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZVN0YXRlR3JvdXAgPSA8Tm9kZT4oXG4gIGJsb2NrOiBCYWNrb2ZmaWNlU3RhdGVHcm91cEJsb2NrU3BlYzxOb2RlPixcbik6IEJhY2tvZmZpY2VTdGF0ZUdyb3VwQmxvY2tTcGVjPE5vZGU+ID0+IHtcbiAgcmV0dXJuIGJsb2NrO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUNvbnRleHRTdGFjayA9IDxOb2RlPihcbiAgYmxvY2s6IEJhY2tvZmZpY2VDb250ZXh0U3RhY2tCbG9ja1NwZWM8Tm9kZT4sXG4pOiBCYWNrb2ZmaWNlQ29udGV4dFN0YWNrQmxvY2tTcGVjPE5vZGU+ID0+IHtcbiAgcmV0dXJuIGJsb2NrO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZVJlbGF0aW9uU3VtbWFyeUdyb3VwID0gPE5vZGU+KFxuICBibG9jazogQmFja29mZmljZVJlbGF0aW9uU3VtbWFyeUdyb3VwQmxvY2tTcGVjPE5vZGU+LFxuKTogQmFja29mZmljZVJlbGF0aW9uU3VtbWFyeUdyb3VwQmxvY2tTcGVjPE5vZGU+ID0+IHtcbiAgcmV0dXJuIGJsb2NrO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZVRpbWVsaW5lID0gPE5vZGU+KFxuICBibG9jazogQmFja29mZmljZVRpbWVsaW5lQmxvY2tTcGVjPE5vZGU+LFxuKTogQmFja29mZmljZVRpbWVsaW5lQmxvY2tTcGVjPE5vZGU+ID0+IHtcbiAgcmV0dXJuIGJsb2NrO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUF1ZGl0ID0gPE5vZGU+KFxuICBibG9jazogQmFja29mZmljZUF1ZGl0QmxvY2tTcGVjPE5vZGU+LFxuKTogQmFja29mZmljZUF1ZGl0QmxvY2tTcGVjPE5vZGU+ID0+IHtcbiAgcmV0dXJuIGJsb2NrO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZVJlZmVyZW5jZUdyb3VwID0gPE5vZGU+KFxuICBibG9jazogQmFja29mZmljZVJlZmVyZW5jZUdyb3VwQmxvY2tTcGVjPE5vZGU+LFxuKTogQmFja29mZmljZVJlZmVyZW5jZUdyb3VwQmxvY2tTcGVjPE5vZGU+ID0+IHtcbiAgcmV0dXJuIGJsb2NrO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZVBheWxvYWQgPSA8Tm9kZT4oXG4gIGJsb2NrOiBCYWNrb2ZmaWNlUGF5bG9hZEJsb2NrU3BlYzxOb2RlPixcbik6IEJhY2tvZmZpY2VQYXlsb2FkQmxvY2tTcGVjPE5vZGU+ID0+IHtcbiAgcmV0dXJuIGJsb2NrO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZVRlY2huaWNhbEZhY3RzID0gPE5vZGU+KFxuICBibG9jazogQmFja29mZmljZVRlY2huaWNhbEZhY3RzQmxvY2tTcGVjPE5vZGU+LFxuKTogQmFja29mZmljZVRlY2huaWNhbEZhY3RzQmxvY2tTcGVjPE5vZGU+ID0+IHtcbiAgcmV0dXJuIGJsb2NrO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVRvb2xGYWNldCA9IDxUIGV4dGVuZHMgQmFja29mZmljZVRvb2xGYWNldENvbmZpZz4oXG4gIGNvbmZpZzogVCxcbik6IFQgPT4ge1xuICByZXR1cm4gY29uZmlnO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUxpc3REZXRhaWxNYW5pZmVzdCA9IDxcbiAgVEZhY2V0cyBleHRlbmRzIEJhY2tvZmZpY2VMaXN0RGV0YWlsRmFjZXRMb2FkZXJNYXAsXG4gIFRDb25maWcgZXh0ZW5kcyBPbWl0PEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW0sICdraW5kJyB8ICdmYWNldHMnPiAmIHtcbiAgICBmYWNldHM6IFRGYWNldHM7XG4gIH0sXG4+KFxuICBjb25maWc6IFRDb25maWcsXG4pOiBUQ29uZmlnICYgeyBraW5kOiAnbGlzdC1kZXRhaWwnIH0gPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmNvbmZpZyxcbiAgICBraW5kOiAnbGlzdC1kZXRhaWwnLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVRvb2xNYW5pZmVzdCA9IDxcbiAgVEZhY2V0cyBleHRlbmRzIEJhY2tvZmZpY2VUb29sRmFjZXRMb2FkZXJNYXAsXG4gIFRDb25maWcgZXh0ZW5kcyBPbWl0PFxuICAgIEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW0sXG4gICAgJ2tpbmQnIHwgJ2hhc0xpc3QnIHwgJ2RldGFpbFBhZ2VzJyB8ICdkZWZhdWx0RGV0YWlsUGFnZUlkJyB8ICdmYWNldHMnXG4gID4gJiB7XG4gICAgZmFjZXRzOiBURmFjZXRzO1xuICB9LFxuPihcbiAgY29uZmlnOiBUQ29uZmlnLFxuKTogVENvbmZpZyAmIHtcbiAga2luZDogJ3Rvb2wnO1xuICBoYXNMaXN0OiBmYWxzZTtcbiAgZGV0YWlsUGFnZXM6IHVuZGVmaW5lZDtcbiAgZGVmYXVsdERldGFpbFBhZ2VJZDogdW5kZWZpbmVkO1xufSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uY29uZmlnLFxuICAgIGtpbmQ6ICd0b29sJyxcbiAgICBoYXNMaXN0OiBmYWxzZSxcbiAgICBkZXRhaWxQYWdlczogdW5kZWZpbmVkLFxuICAgIGRlZmF1bHREZXRhaWxQYWdlSWQ6IHVuZGVmaW5lZCxcbiAgfTtcbn07XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-bound-config.test-d.d.ts","sourceRoot":"","sources":["../../../src/type-tests/operation-bound-config.test-d.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"operation-bound-config.test-d.d.ts","sourceRoot":"","sources":["../../../src/type-tests/operation-bound-config.test-d.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,yBAAyB,EACzB,6BAA6B,EAC7B,gCAAgC,EAGjC,MAAM,aAAa,CAAC;AA+MrB,eAAO,MAAM,cAAc,EAAE,gCAI5B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,gCAKnC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,6BAIvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,6BAK9B,CAAC;AAsVF,eAAO,MAAM,sBAAsB,EAAE,yBAKpC,CAAC"}
|
|
@@ -1,7 +1,82 @@
|
|
|
1
|
-
import { defineBackofficeConnectionList, defineBackofficeDashboardConfig, defineBackofficeDashboardHrefTarget, defineBackofficeDashboardListTarget, defineBackofficeDashboardQueryWidget, defineBackofficeDashboardStaticWidget, defineBackofficeFilters, defineBackofficePicker, defineBackofficeRelationFilter, defineBackofficeSorts, datetimeFilter, entityIdFilter, enumFilter, numberFilter, } from '../builders.js';
|
|
1
|
+
import { defineBackofficeConnectionList, defineBackofficeDashboardConfig, defineBackofficeDashboardHrefTarget, defineBackofficeDashboardListTarget, defineBackofficeDashboardQueryWidget, defineBackofficeDashboardStaticWidget, defineBackofficeFormMutationAction, defineBackofficeFilters, defineBackofficeMutationAction, defineBackofficePicker, defineBackofficeRelationFilter, defineBackofficeSorts, datetimeFilter, entityIdFilter, enumFilter, numberFilter, } from '../builders.js';
|
|
2
2
|
const label = (t) => {
|
|
3
3
|
return t('common.label');
|
|
4
4
|
};
|
|
5
|
+
defineBackofficeFormMutationAction()({
|
|
6
|
+
id: 'create-organization',
|
|
7
|
+
kind: 'formMutation',
|
|
8
|
+
label,
|
|
9
|
+
mutation: {},
|
|
10
|
+
fields: [],
|
|
11
|
+
getVariables: (_node, values) => {
|
|
12
|
+
return {
|
|
13
|
+
input: {
|
|
14
|
+
name: values.name,
|
|
15
|
+
currency: values.currency,
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
toasts: {
|
|
20
|
+
success: {
|
|
21
|
+
title: label,
|
|
22
|
+
view: {
|
|
23
|
+
entityId: 'organizations',
|
|
24
|
+
getTargetId: (response) => {
|
|
25
|
+
return response.createOrganization.organization?.id ?? null;
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
defineBackofficeFormMutationAction()({
|
|
32
|
+
id: 'missing-currency',
|
|
33
|
+
kind: 'formMutation',
|
|
34
|
+
label,
|
|
35
|
+
mutation: {},
|
|
36
|
+
fields: [],
|
|
37
|
+
getVariables: (_node, values) => {
|
|
38
|
+
return {
|
|
39
|
+
input: {
|
|
40
|
+
name: values.name,
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
defineBackofficeFormMutationAction()({
|
|
46
|
+
id: 'invalid-currency',
|
|
47
|
+
kind: 'formMutation',
|
|
48
|
+
label,
|
|
49
|
+
mutation: {},
|
|
50
|
+
fields: [],
|
|
51
|
+
getVariables: (_node, values) => {
|
|
52
|
+
return {
|
|
53
|
+
input: {
|
|
54
|
+
name: values.name,
|
|
55
|
+
currency: values.currency,
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
defineBackofficeMutationAction()({
|
|
61
|
+
id: 'archive',
|
|
62
|
+
kind: 'mutation',
|
|
63
|
+
label,
|
|
64
|
+
mutation: {},
|
|
65
|
+
getVariables: (node) => {
|
|
66
|
+
return {
|
|
67
|
+
id: node.id,
|
|
68
|
+
};
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
defineBackofficeMutationAction()({
|
|
72
|
+
id: 'archive-missing-id',
|
|
73
|
+
kind: 'mutation',
|
|
74
|
+
label,
|
|
75
|
+
mutation: {},
|
|
76
|
+
getVariables: () => {
|
|
77
|
+
return {};
|
|
78
|
+
},
|
|
79
|
+
});
|
|
5
80
|
export const responsiveMeta = {
|
|
6
81
|
id: 'state',
|
|
7
82
|
label,
|
|
@@ -448,4 +523,4 @@ defineBackofficePicker()({
|
|
|
448
523
|
};
|
|
449
524
|
},
|
|
450
525
|
});
|
|
451
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9uLWJvdW5kLWNvbmZpZy50ZXN0LWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZS10ZXN0cy9vcGVyYXRpb24tYm91bmQtY29uZmlnLnRlc3QtZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLCtCQUErQixFQUMvQixtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ25DLG9DQUFvQyxFQUNwQyxxQ0FBcUMsRUFDckMsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0Qiw4QkFBOEIsRUFDOUIscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCxjQUFjLEVBQ2QsVUFBVSxFQUNWLFlBQVksR0FDYixNQUFNLGdCQUFnQixDQUFDO0FBaUZ4QixNQUFNLEtBQUssR0FBYyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQzdCLE9BQU8sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBcUM7SUFDOUQsRUFBRSxFQUFFLE9BQU87SUFDWCxLQUFLO0lBQ0wsS0FBSyxFQUFFLE9BQU87Q0FDZixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQXFDO0lBQ3JFLEVBQUUsRUFBRSxPQUFPO0lBRVgsS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsT0FBTztDQUNmLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQWtDO0lBQ3RELEVBQUUsRUFBRSxPQUFPO0lBQ1gsS0FBSztJQUNMLEtBQUssRUFBRSxPQUFPO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFrQztJQUM3RCxFQUFFLEVBQUUsT0FBTztJQUVYLEtBQUssRUFBRSxPQUFPO0lBQ2QsS0FBSyxFQUFFLE9BQU87Q0FDZixDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUcsdUJBQXVCLEVBQXFCLENBQUM7SUFDM0QsY0FB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STtTQUNiLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPcGVyYXRpb25UeXBlIH0gZnJvbSAncmVsYXktcnVudGltZSc7XG5pbXBvcnQge1xuICBkZWZpbmVCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3QsXG4gIGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRDb25maWcsXG4gIGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRIcmVmVGFyZ2V0LFxuICBkZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkTGlzdFRhcmdldCxcbiAgZGVmaW5lQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0LFxuICBkZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0LFxuICBkZWZpbmVCYWNrb2ZmaWNlRmlsdGVycyxcbiAgZGVmaW5lQmFja29mZmljZVBpY2tlcixcbiAgZGVmaW5lQmFja29mZmljZVJlbGF0aW9uRmlsdGVyLFxuICBkZWZpbmVCYWNrb2ZmaWNlU29ydHMsXG4gIGRhdGV0aW1lRmlsdGVyLFxuICBlbnRpdHlJZEZpbHRlcixcbiAgZW51bUZpbHRlcixcbiAgbnVtYmVyRmlsdGVyLFxufSBmcm9tICcuLi9idWlsZGVycy5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIEJhY2tvZmZpY2VEYXNoYm9hcmRDb25maWcsXG4gIEJhY2tvZmZpY2VEZXRhaWxUaXRsZU1ldGFJdGVtLFxuICBCYWNrb2ZmaWNlTGlzdFJlc3BvbnNpdmVNZXRhSXRlbSxcbiAgQmFja29mZmljZU9wZXJhdGlvbldoZXJlLFxuICBJMThuTGFiZWwsXG59IGZyb20gJy4uL3R5cGVzLmpzJztcblxudHlwZSBUZXN0U29ydCA9ICdDUkVBVEVEX0FUX0FTQycgfCAnQ1JFQVRFRF9BVF9ERVNDJztcbnR5cGUgVGVzdEtpbmQgPSAnQScgfCAnQic7XG5cbmludGVyZmFjZSBUZXN0TGlzdE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUge1xuICB2YXJpYWJsZXM6IHtcbiAgICB3aGVyZT86IHtcbiAgICAgIHByb2plY3RJZD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgICBraW5kPzogVGVzdEtpbmQgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgICAgYXR0ZW1wdD86IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgICBjcmVhdGVkRnJvbT86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgfSB8IG51bGw7XG4gICAgc29ydD86IFRlc3RTb3J0IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBjb3VudDogbnVtYmVyO1xuICAgIGN1cnNvcj86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIH07XG4gIHJlc3BvbnNlOiB7XG4gICAgcmVhZG9ubHkgcm93czogcmVhZG9ubHkgdW5rbm93bltdO1xuICB9O1xufVxuXG5pbnRlcmZhY2UgVGVzdFBpY2tlck9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUge1xuICB2YXJpYWJsZXM6IHtcbiAgICB3aGVyZT86IHtcbiAgICAgIG9yZ2FuaXphdGlvbklkPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICB9IHwgbnVsbDtcbiAgICBjb3VudDogbnVtYmVyO1xuICAgIGN1cnNvcj86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIH07XG4gIHJlc3BvbnNlOiB7XG4gICAgcmVhZG9ubHkgcm93czogcmVhZG9ubHkgdW5rbm93bltdO1xuICB9O1xufVxuXG5pbnRlcmZhY2UgVGVzdENvdW50T3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSB7XG4gIHZhcmlhYmxlczoge1xuICAgIHdoZXJlPzogQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRlc3RMaXN0T3BlcmF0aW9uPiB8IG51bGw7XG4gIH07XG4gIHJlc3BvbnNlOiB7XG4gICAgcmVhZG9ubHkgcm93c0NvdW50OiBudW1iZXI7XG4gIH07XG59XG5cbmludGVyZmFjZSBUZXN0RGFzaGJvYXJkT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSB7XG4gIHZhcmlhYmxlczogUmVjb3JkPHN0cmluZywgbmV2ZXI+O1xuICByZXNwb25zZToge1xuICAgIHJlYWRvbmx5IHVzZXJzOiB7XG4gICAgICByZWFkb25seSB0b3RhbENvdW50OiBudW1iZXI7XG4gICAgfTtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFRlc3REYXNoYm9hcmRXaW5kb3dPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlIHtcbiAgdmFyaWFibGVzOiB7XG4gICAgZnJvbTogc3RyaW5nO1xuICAgIHRvOiBzdHJpbmc7XG4gICAgc2V2ZXJpdHk/OiBUZXN0S2luZCB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIH07XG4gIHJlc3BvbnNlOiB7XG4gICAgcmVhZG9ubHkgdGhyb3VnaHB1dENvdW50OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgZmFpbHVyZVJhdGU6IG51bWJlcjtcbiAgICByZWFkb25seSB0b3BGYWlsdXJlczogcmVhZG9ubHkge1xuICAgICAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgICAgIHJlYWRvbmx5IGxhYmVsOiBzdHJpbmc7XG4gICAgICByZWFkb25seSBjb3VudDogbnVtYmVyO1xuICAgIH1bXTtcbiAgICByZWFkb25seSBidWNrZXRzOiByZWFkb25seSB7XG4gICAgICByZWFkb25seSBidWNrZXQ6IHN0cmluZztcbiAgICAgIHJlYWRvbmx5IGNvdW50OiBudW1iZXI7XG4gICAgfVtdO1xuICB9O1xufVxuXG5jb25zdCBsYWJlbDogSTE4bkxhYmVsID0gKHQpID0+IHtcbiAgcmV0dXJuIHQoJ2NvbW1vbi5sYWJlbCcpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlc3BvbnNpdmVNZXRhOiBCYWNrb2ZmaWNlTGlzdFJlc3BvbnNpdmVNZXRhSXRlbSA9IHtcbiAgaWQ6ICdzdGF0ZScsXG4gIGxhYmVsLFxuICB2YWx1ZTogJ3JlYWR5Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBpbnZhbGlkUmVzcG9uc2l2ZU1ldGE6IEJhY2tvZmZpY2VMaXN0UmVzcG9uc2l2ZU1ldGFJdGVtID0ge1xuICBpZDogJ3N0YXRlJyxcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciByZXNwb25zaXZlIG1ldGEgbGFiZWxzIG11c3QgYmUgaTE4biBsYWJlbCBmdW5jdGlvbnMsIG5vdCByYXcgc3RyaW5ncy5cbiAgbGFiZWw6ICdTdGF0ZScsXG4gIHZhbHVlOiAncmVhZHknLFxufTtcblxuZXhwb3J0IGNvbnN0IHRpdGxlTWV0YTogQmFja29mZmljZURldGFpbFRpdGxlTWV0YUl0ZW0gPSB7XG4gIGlkOiAnc3RhdGUnLFxuICBsYWJlbCxcbiAgdmFsdWU6ICdyZWFkeScsXG59O1xuXG5leHBvcnQgY29uc3QgaW52YWxpZFRpdGxlTWV0YTogQmFja29mZmljZURldGFpbFRpdGxlTWV0YUl0ZW0gPSB7XG4gIGlkOiAnc3RhdGUnLFxuICAvLyBAdHMtZXhwZWN0LWVycm9yIHRpdGxlIG1ldGEgbGFiZWxzIG11c3QgYmUgaTE4biBsYWJlbCBmdW5jdGlvbnMsIG5vdCByYXcgc3RyaW5ncy5cbiAgbGFiZWw6ICdTdGF0ZScsXG4gIHZhbHVlOiAncmVhZHknLFxufTtcblxuY29uc3QgZmlsdGVycyA9IGRlZmluZUJhY2tvZmZpY2VGaWx0ZXJzPFRlc3RMaXN0T3BlcmF0aW9uPigpKFtcbiAgZW50aXR5SWRGaWx0ZXI8QmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRlc3RMaXN0T3BlcmF0aW9uPiwgJ3Byb2plY3RJZCc+KFxuICAgICdwcm9qZWN0SWQnLFxuICAgIHtcbiAgICAgIGVudGl0eTogJ3Byb2plY3RzJyxcbiAgICAgIGxhYmVsLFxuICAgIH0sXG4gICksXG4gIGVudW1GaWx0ZXI8QmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRlc3RMaXN0T3BlcmF0aW9uPiwgJ2tpbmQnPigna2luZCcsIHtcbiAgICBsYWJlbCxcbiAgICBvcHRpb25zOiBbJ0EnLCAnQiddLFxuICB9KSxcbiAgbnVtYmVyRmlsdGVyPEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUZXN0TGlzdE9wZXJhdGlvbj4sICdhdHRlbXB0Jz4oXG4gICAgJ2F0dGVtcHQnLFxuICAgIHtcbiAgICAgIGxhYmVsLFxuICAgIH0sXG4gICksXG4gIGRhdGV0aW1lRmlsdGVyPEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUZXN0TGlzdE9wZXJhdGlvbj4sICdjcmVhdGVkRnJvbSc+KFxuICAgICdjcmVhdGVkRnJvbScsXG4gICAge1xuICAgICAgbGFiZWwsXG4gICAgICBtb2RlOiAnZnJvbScsXG4gICAgfSxcbiAgKSxcbl0pO1xuXG5kZWZpbmVCYWNrb2ZmaWNlU29ydHM8VGVzdExpc3RPcGVyYXRpb24+KCkoW3sgaWQ6ICdDUkVBVEVEX0FUX0RFU0MnLCBsYWJlbCB9XSk7XG5cbmRlZmluZUJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdDxUZXN0TGlzdE9wZXJhdGlvbiwgVGVzdENvdW50T3BlcmF0aW9uPigpKHtcbiAgdGl0bGU6IGxhYmVsLFxuICBxdWVyeToge30gYXMgbmV2ZXIsXG4gIGZyYWdtZW50OiB7fSBhcyBuZXZlcixcbiAgY291bnQ6IHtcbiAgICBxdWVyeToge30gYXMgbmV2ZXIsXG4gICAgYnVpbGRWYXJpYWJsZXM6ICh7IHdoZXJlIH0pID0+IHtcbiAgICAgIHJldHVybiB7IHdoZXJlIH07XG4gICAgfSxcbiAgICBnZXRDb3VudDogKGRhdGEpID0+IHtcbiAgICAgIHJldHVybiAoZGF0YSBhcyBUZXN0Q291bnRPcGVyYXRpb25bJ3Jlc3BvbnNlJ10pLnJvd3NDb3VudDtcbiAgICB9LFxuICB9LFxuICBmaWx0ZXJzLFxuICBzb3J0czogZGVmaW5lQmFja29mZmljZVNvcnRzPFRlc3RMaXN0T3BlcmF0aW9uPigpKFtcbiAgICB7IGlkOiAnQ1JFQVRFRF9BVF9BU0MnLCBsYWJlbCB9LFxuICBdKSxcbiAgZGVmYXVsdFN0YXRlOiB7XG4gICAgd2hlcmU6IHsgcHJvamVjdElkOiAncHJvamVjdC0xJyB9LFxuICAgIHNvcnQ6ICdDUkVBVEVEX0FUX0RFU0MnLFxuICB9LFxuICBnZXRDb25uZWN0aW9uOiAoKSA9PiB7XG4gICAgcmV0dXJuIHsgZWRnZXM6IFtdIH07XG4gIH0sXG4gIHRvUm93OiAocm93KSA9PiB7XG4gICAgcmV0dXJuIHJvdztcbiAgfSxcbiAgZ2V0Um93SWQ6ICgpID0+IHtcbiAgICByZXR1cm4gJ3Jvdyc7XG4gIH0sXG4gIGNvbHVtbnM6IFtdLFxufSk7XG5cbmRlZmluZUJhY2tvZmZpY2VQaWNrZXI8VGVzdFBpY2tlck9wZXJhdGlvbj4oKSh7XG4gIHF1ZXJ5OiB7fSBhcyBuZXZlcixcbiAgZnJhZ21lbnQ6IHt9IGFzIG5ldmVyLFxuICBnZXRDb25uZWN0aW9uOiAoKSA9PiB7XG4gICAgcmV0dXJuIHsgZWRnZXM6IFtdIH07XG4gIH0sXG4gIHRvUm93OiAoKSA9PiB7XG4gICAgcmV0dXJuIHsgaWQ6ICdyb3cnLCB0aXRsZTogJ1JvdycgfTtcbiAgfSxcbiAgZ2V0Um93SWQ6IChyb3cpID0+IHtcbiAgICByZXR1cm4gcm93LmlkO1xuICB9LFxuICBidWlsZFF1ZXJ5VmFyaWFibGVzOiAoeyBzY29wZSB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdoZXJlOiB7XG4gICAgICAgIG9yZ2FuaXphdGlvbklkOiBzY29wZT8ub3JnYW5pemF0aW9uSWQsXG4gICAgICB9LFxuICAgICAgY291bnQ6IDIwLFxuICAgICAgY3Vyc29yOiBudWxsLFxuICAgIH07XG4gIH0sXG59KTtcblxuZGVmaW5lQmFja29mZmljZURhc2hib2FyZENvbmZpZyh7XG4gIHRpdGxlOiBsYWJlbCxcbiAgd2lkZ2V0czogW1xuICAgIGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxUZXN0RGFzaGJvYXJkT3BlcmF0aW9uPigpKHtcbiAgICAgIGlkOiAndXNlcnMnLFxuICAgICAga2luZDogJ21ldHJpY0dyb3VwJyxcbiAgICAgIHF1ZXJ5OiB7fSBhcyBuZXZlcixcbiAgICAgIHZhcmlhYmxlczoge30sXG4gICAgICByZXNvbHZlOiAoZGF0YSkgPT4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAndXNlcnMnLFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICB2YWx1ZTogZGF0YS51c2Vycy50b3RhbENvdW50LFxuICAgICAgICAgICAgdGFyZ2V0OiBkZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkTGlzdFRhcmdldDxUZXN0TGlzdE9wZXJhdGlvbj4oKSh7XG4gICAgICAgICAgICAgIGVudGl0eUlkOiAndGFza3MnLFxuICAgICAgICAgICAgICBzdGF0ZToge1xuICAgICAgICAgICAgICAgIHdoZXJlOiB7IGtpbmQ6ICdBJyB9LFxuICAgICAgICAgICAgICAgIHNvcnQ6ICdDUkVBVEVEX0FUX0RFU0MnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgIH0sXG4gICAgfSksXG4gICAgZGVmaW5lQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldCh7XG4gICAgICBpZDogJ3dpbmRvdycsXG4gICAgICBraW5kOiAnd2luZG93Q29udHJvbCcsXG4gICAgICB0aXRsZTogbGFiZWwsXG4gICAgfSksXG4gICAgZGVmaW5lQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0PFRlc3REYXNoYm9hcmRXaW5kb3dPcGVyYXRpb24+KCkoe1xuICAgICAgaWQ6ICd0aHJvdWdocHV0JyxcbiAgICAgIGtpbmQ6ICd0cmVuZE1ldHJpYycsXG4gICAgICBxdWVyeToge30gYXMgbmV2ZXIsXG4gICAgICB2YXJpYWJsZXM6ICh7IHdpbmRvdyB9KSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZnJvbTogd2luZG93LmZyb20sXG4gICAgICAgICAgdG86IHdpbmRvdy50byxcbiAgICAgICAgICBzZXZlcml0eTogJ0EnLFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IChkYXRhLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgdmFsdWU6IGRhdGEudGhyb3VnaHB1dENvdW50LFxuICAgICAgICAgIGRlbHRhOiB7XG4gICAgICAgICAgICB2YWx1ZTogMTIsXG4gICAgICAgICAgICBkaXJlY3Rpb246ICd1cCcsXG4gICAgICAgICAgICB0b25lOiAnc3VjY2VzcycsXG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNwYXJrbGluZTogW3sgeDogJzIwMjYtMDEtMDFUMDA6MDA6MDAuMDAwWicsIHk6IDEgfV0sXG4gICAgICAgICAgdGFyZ2V0OiBkZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkTGlzdFRhcmdldDxUZXN0TGlzdE9wZXJhdGlvbj4oKSh7XG4gICAgICAgICAgICBlbnRpdHlJZDogJ3Rhc2tzJyxcbiAgICAgICAgICAgIHN0YXRlOiB7XG4gICAgICAgICAgICAgIHdoZXJlOiB7IGtpbmQ6ICdBJyB9LFxuICAgICAgICAgICAgICBzb3J0OiAnQ1JFQVRFRF9BVF9ERVNDJyxcbiAgICAgICAgICAgICAgZmlsdGVyczogW1xuICAgICAgICAgICAgICAgIHsgaWQ6ICdjcmVhdGVkRnJvbScsIHZhbHVlOiBjb250ZXh0LndpbmRvdy5mcm9tIH0sXG4gICAgICAgICAgICAgICAgeyBpZDogJ2NyZWF0ZWRUbycsIHZhbHVlOiBjb250ZXh0LndpbmRvdy50byB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfSksXG4gICAgZGVmaW5lQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0PFRlc3REYXNoYm9hcmRXaW5kb3dPcGVyYXRpb24+KCkoe1xuICAgICAgaWQ6ICdmYWlsdXJlLXJhdGUnLFxuICAgICAga2luZDogJ3NsYUdhdWdlJyxcbiAgICAgIHF1ZXJ5OiB7fSBhcyBuZXZlcixcbiAgICAgIHZhcmlhYmxlczogKHsgd2luZG93IH0pID0+IHtcbiAgICAgICAgcmV0dXJuIHsgZnJvbTogd2luZG93LmZyb20sIHRvOiB3aW5kb3cudG8gfTtcbiAgICAgIH0sXG4gICAgICByZXNvbHZlOiAoZGF0YSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgIHZhbHVlOiBkYXRhLmZhaWx1cmVSYXRlLFxuICAgICAgICAgIG1heDogMSxcbiAgICAgICAgICB0aHJlc2hvbGQ6IDAuMDUsXG4gICAgICAgICAgdW5pdDogJyUnLFxuICAgICAgICAgIHRvbmU6ICd3YXJuaW5nJyxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfSksXG4gICAgZGVmaW5lQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0PFRlc3REYXNoYm9hcmRXaW5kb3dPcGVyYXRpb24+KCkoe1xuICAgICAgaWQ6ICd0b3AtZmFpbHVyZXMnLFxuICAgICAga2luZDogJ2JyZWFrZG93bkxpc3QnLFxuICAgICAgcXVlcnk6IHt9IGFzIG5ldmVyLFxuICAgICAgdmFyaWFibGVzOiAoeyB3aW5kb3cgfSkgPT4ge1xuICAgICAgICByZXR1cm4geyBmcm9tOiB3aW5kb3cuZnJvbSwgdG86IHdpbmRvdy50byB9O1xuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IChkYXRhKSA9PiB7XG4gICAgICAgIHJldHVybiBkYXRhLnRvcEZhaWx1cmVzLm1hcCgoZmFpbHVyZSkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZDogZmFpbHVyZS5pZCxcbiAgICAgICAgICAgIGxhYmVsOiAoKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWlsdXJlLmxhYmVsO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbHVlOiBmYWlsdXJlLmNvdW50LFxuICAgICAgICAgICAgdG9uZTogJ2RhbmdlcicsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pLFxuICAgIGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxUZXN0RGFzaGJvYXJkV2luZG93T3BlcmF0aW9uPigpKHtcbiAgICAgIGlkOiAndGltZWxpbmUnLFxuICAgICAga2luZDogJ3RpbWVsaW5lQ2hhcnQnLFxuICAgICAgcXVlcnk6IHt9IGFzIG5ldmVyLFxuICAgICAgdmFyaWFibGVzOiAoeyB3aW5kb3cgfSkgPT4ge1xuICAgICAgICByZXR1cm4geyBmcm9tOiB3aW5kb3cuZnJvbSwgdG86IHdpbmRvdy50byB9O1xuICAgICAgfSxcbiAgICAgIGFyaWFMYWJlbDogbGFiZWwsXG4gICAgICBjaGFydDogJ2JhcicsXG4gICAgICByZXNvbHZlOiAoZGF0YSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHNlcmllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ3Rocm91Z2hwdXQnLFxuICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgY29sb3I6ICcjMjU2M2ViJyxcbiAgICAgICAgICAgICAgZGF0YTogZGF0YS5idWNrZXRzLm1hcCgoYnVja2V0KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIHg6IGJ1Y2tldC5idWNrZXQsXG4gICAgICAgICAgICAgICAgICB5OiBidWNrZXQuY291bnQsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0pLFxuICAgIGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxUZXN0RGFzaGJvYXJkV2luZG93T3BlcmF0aW9uPigpKHtcbiAgICAgIGlkOiAncmlzay1xdWV1ZScsXG4gICAgICBraW5kOiAncmlza1F1ZXVlJyxcbiAgICAgIHF1ZXJ5OiB7fSBhcyBuZXZlcixcbiAgICAgIHZhcmlhYmxlczogKHsgd2luZG93IH0pID0+IHtcbiAgICAgICAgcmV0dXJuIHsgZnJvbTogd2luZG93LmZyb20sIHRvOiB3aW5kb3cudG8gfTtcbiAgICAgIH0sXG4gICAgICByZXNvbHZlOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdkZWFkLW91dGJveCcsXG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIHNldmVyaXR5OiAnZGFuZ2VyJyxcbiAgICAgICAgICAgIHZhbHVlOiA0LFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICB9LFxuICAgIH0pLFxuICAgIGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxUZXN0RGFzaGJvYXJkV2luZG93T3BlcmF0aW9uPigpKHtcbiAgICAgIGlkOiAnc3BvdGxpZ2h0JyxcbiAgICAgIGtpbmQ6ICdlbnRpdHlTcG90bGlnaHQnLFxuICAgICAgcXVlcnk6IHt9IGFzIG5ldmVyLFxuICAgICAgdmFyaWFibGVzOiAoeyB3aW5kb3cgfSkgPT4ge1xuICAgICAgICByZXR1cm4geyBmcm9tOiB3aW5kb3cuZnJvbSwgdG86IHdpbmRvdy50byB9O1xuICAgICAgfSxcbiAgICAgIHJlc29sdmU6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICB0aXRsZTogbGFiZWwsXG4gICAgICAgICAgdG9uZTogJ2luZm8nLFxuICAgICAgICAgIG1ldGE6IFt7IGlkOiAnYWdlJywgbGFiZWwsIHZhbHVlOiAnNDUgbWluJyB9XSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfSksXG4gICAgZGVmaW5lQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0PFRlc3REYXNoYm9hcmRXaW5kb3dPcGVyYXRpb24+KCkoe1xuICAgICAgaWQ6ICdoZWFsdGgnLFxuICAgICAga2luZDogJ2hlYWx0aE1hdHJpeCcsXG4gICAgICBxdWVyeToge30gYXMgbmV2ZXIsXG4gICAgICB2YXJpYWJsZXM6ICh7IHdpbmRvdyB9KSA9PiB7XG4gICAgICAgIHJldHVybiB7IGZyb206IHdpbmRvdy5mcm9tLCB0bzogd2luZG93LnRvIH07XG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogKCkgPT4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAnd29yaycsXG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIGNlbGxzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogJ3Rhc2tzJyxcbiAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogMixcbiAgICAgICAgICAgICAgICB0b25lOiAnd2FybmluZycsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICB9LFxuICAgIH0pLFxuICAgIGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRTdGF0aWNXaWRnZXQoe1xuICAgICAgaWQ6ICdhY3Rpb25zJyxcbiAgICAgIGtpbmQ6ICdxdWlja0FjdGlvbnMnLFxuICAgICAgYWN0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICd1c2VycycsXG4gICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgdGFyZ2V0OiBkZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkSHJlZlRhcmdldCgnL3VzZXJzJyksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pLFxuICBdLFxufSk7XG5cbmRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxUZXN0RGFzaGJvYXJkT3BlcmF0aW9uPigpKHtcbiAgaWQ6ICdpbnZhbGlkLXVzZXJzJyxcbiAga2luZDogJ21ldHJpY0dyb3VwJyxcbiAgcXVlcnk6IHt9IGFzIG5ldmVyLFxuICB2YXJpYWJsZXM6IHt9LFxuICByZXNvbHZlOiAoZGF0YSkgPT4ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAndXNlcnMnLFxuICAgICAgICBsYWJlbCxcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBkYXNoYm9hcmQgd2lkZ2V0IHJlc29sdmUgZGF0YSBpcyB0eXBlZCBmcm9tIHRoZSBvcGVyYXRpb24gcmVzcG9uc2UuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3NcbiAgICAgICAgdmFsdWU6IGRhdGEucHJvamVjdHMudG90YWxDb3VudCxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSxcbn0pO1xuXG5kZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXQ8VGVzdERhc2hib2FyZFdpbmRvd09wZXJhdGlvbj4oKSh7XG4gIGlkOiAnaW52YWxpZC13aW5kb3ctdmFyaWFibGVzJyxcbiAga2luZDogJ3RyZW5kTWV0cmljJyxcbiAgcXVlcnk6IHt9IGFzIG5ldmVyLFxuICAvLyBAdHMtZXhwZWN0LWVycm9yIGRhc2hib2FyZCB3aWRnZXQgdmFyaWFibGVzIG11c3QgbWF0Y2ggdGhlIG9wZXJhdGlvbiB2YXJpYWJsZXMuXG4gIHZhcmlhYmxlczogKHsgd2luZG93IH0pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgZnJvbTogd2luZG93LmZyb20sXG4gICAgfTtcbiAgfSxcbiAgcmVzb2x2ZTogKGRhdGEpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWwsXG4gICAgICB2YWx1ZTogZGF0YS50aHJvdWdocHV0Q291bnQsXG4gICAgfTtcbiAgfSxcbn0pO1xuXG5kZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkTGlzdFRhcmdldDxUZXN0TGlzdE9wZXJhdGlvbj4oKSh7XG4gIGVudGl0eUlkOiAndGFza3MnLFxuICBzdGF0ZToge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZGFzaGJvYXJkIGxpc3QgdGFyZ2V0IHdoZXJlIG11c3QgbWF0Y2ggdGhlIHRhcmdldCBsaXN0IG9wZXJhdGlvbiB3aGVyZSBpbnB1dC5cbiAgICB3aGVyZTogeyBvcmdhbml6YXRpb25JZDogJ29yZy0xJyB9LFxuICB9LFxufSk7XG5cbmRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRMaXN0VGFyZ2V0PFRlc3RMaXN0T3BlcmF0aW9uPigpKHtcbiAgZW50aXR5SWQ6ICd0YXNrcycsXG4gIHN0YXRlOiB7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBkYXNoYm9hcmQgbGlzdCB0YXJnZXQgc29ydCBtdXN0IG1hdGNoIHRoZSB0YXJnZXQgbGlzdCBvcGVyYXRpb24gc29ydCBpbnB1dC5cbiAgICBzb3J0OiAnVVBEQVRFRF9BVF9ERVNDJyxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgaW52YWxpZERhc2hib2FyZENvbmZpZzogQmFja29mZmljZURhc2hib2FyZENvbmZpZyA9IHtcbiAgdGl0bGU6IGxhYmVsLFxuICAvLyBAdHMtZXhwZWN0LWVycm9yIGRhc2hib2FyZCBjb25maWdzIGRvIG5vdCBzdXBwb3J0IGdsb2JhbCBxdWVyaWVzLlxuICBxdWVyeToge30gYXMgbmV2ZXIsXG4gIHdpZGdldHM6IFtdLFxufTtcblxuLy8gQHRzLWV4cGVjdC1lcnJvciBkYXRhLWRyaXZlbiBkYXNoYm9hcmQgd2lkZ2V0cyBtdXN0IGRlY2xhcmUgYSBxdWVyeS5cbmRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxUZXN0RGFzaGJvYXJkT3BlcmF0aW9uPigpKHtcbiAgaWQ6ICdtaXNzaW5nLXF1ZXJ5JyxcbiAga2luZDogJ21ldHJpY0dyb3VwJyxcbiAgdmFyaWFibGVzOiB7fSxcbiAgcmVzb2x2ZTogKGRhdGEpID0+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpZDogJ3VzZXJzJyxcbiAgICAgICAgbGFiZWwsXG4gICAgICAgIHZhbHVlOiBkYXRhLnVzZXJzLnRvdGFsQ291bnQsXG4gICAgICB9LFxuICAgIF07XG4gIH0sXG59KTtcblxuZGVmaW5lQmFja29mZmljZVJlbGF0aW9uRmlsdGVyPFRlc3RMaXN0T3BlcmF0aW9uPigpKHtcbiAgdGFyZ2V0OiAncHJvamVjdHMnLFxuICB3aGVyZUtleTogJ3Byb2plY3RJZCcsXG59KTtcblxuZGVmaW5lQmFja29mZmljZVJlbGF0aW9uRmlsdGVyPFRlc3RMaXN0T3BlcmF0aW9uPigpKHtcbiAgdGFyZ2V0OiAncHJvamVjdHMnLFxuICAvLyBAdHMtZXhwZWN0LWVycm9yIG9yZ2FuaXphdGlvbklkIGlzIG5vdCBkZWNsYXJlZCBieSB0aGUgdGFyZ2V0IGxpc3Qgd2hlcmUgaW5wdXQuXG4gIHdoZXJlS2V5OiAnb3JnYW5pemF0aW9uSWQnLFxufSk7XG5cbmRlZmluZUJhY2tvZmZpY2VGaWx0ZXJzPFRlc3RMaXN0T3BlcmF0aW9uPigpKFtcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBtaXNzaW5nRmllbGQgaXMgbm90IGRlY2xhcmVkIGJ5IHRoZSBvcGVyYXRpb24gd2hlcmUgaW5wdXQuXG4gIGVudGl0eUlkRmlsdGVyPEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUZXN0TGlzdE9wZXJhdGlvbj4sICdtaXNzaW5nRmllbGQnPihcbiAgICAnbWlzc2luZ0ZpZWxkJyxcbiAgICB7XG4gICAgICBlbnRpdHk6ICdwcm9qZWN0cycsXG4gICAgICBsYWJlbCxcbiAgICB9LFxuICApLFxuXSk7XG5cbmRlZmluZUJhY2tvZmZpY2VGaWx0ZXJzPFRlc3RMaXN0T3BlcmF0aW9uPigpKFtcbiAgZW51bUZpbHRlcjxCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VGVzdExpc3RPcGVyYXRpb24+LCAna2luZCc+KCdraW5kJywge1xuICAgIGxhYmVsLFxuICAgIG9wdGlvbnM6IFtcbiAgICAgICdBJyxcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgQyBpcyBub3QgYSB2YWxpZCBUZXN0S2luZCB2YWx1ZS5cbiAgICAgICdDJyxcbiAgICBdLFxuICB9KSxcbl0pO1xuXG5kZWZpbmVCYWNrb2ZmaWNlRmlsdGVyczxUZXN0TGlzdE9wZXJhdGlvbj4oKShbXG4gIC8vIEB0cy1leHBlY3QtZXJyb3Iga2luZCBpcyBhbiBlbnVtIHN0cmluZyBmaWVsZCwgbm90IGEgbnVtYmVyIGZpZWxkLlxuICBudW1iZXJGaWx0ZXI8QmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRlc3RMaXN0T3BlcmF0aW9uPiwgJ2tpbmQnPigna2luZCcsIHtcbiAgICBsYWJlbCxcbiAgfSksXG5dKTtcblxuZGVmaW5lQmFja29mZmljZUZpbHRlcnM8VGVzdExpc3RPcGVyYXRpb24+KCkoW1xuICAvLyBAdHMtZXhwZWN0LWVycm9yIGF0dGVtcHQgaXMgYSBudW1iZXIgZmllbGQsIG5vdCBhIGRhdGV0aW1lIHN0cmluZyBmaWVsZC5cbiAgZGF0ZXRpbWVGaWx0ZXI8QmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRlc3RMaXN0T3BlcmF0aW9uPiwgJ2F0dGVtcHQnPihcbiAgICAnYXR0ZW1wdCcsXG4gICAge1xuICAgICAgbGFiZWwsXG4gICAgfSxcbiAgKSxcbl0pO1xuXG5kZWZpbmVCYWNrb2ZmaWNlU29ydHM8VGVzdExpc3RPcGVyYXRpb24+KCkoW1xuICAvLyBAdHMtZXhwZWN0LWVycm9yIFVQREFURURfQVRfREVTQyBpcyBub3QgZGVjbGFyZWQgYnkgdGhlIG9wZXJhdGlvbiBzb3J0LlxuICB7IGlkOiAnVVBEQVRFRF9BVF9ERVNDJywgbGFiZWwgfSxcbl0pO1xuXG5kZWZpbmVCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3Q8VGVzdExpc3RPcGVyYXRpb24sIFRlc3RDb3VudE9wZXJhdGlvbj4oKSh7XG4gIHRpdGxlOiBsYWJlbCxcbiAgcXVlcnk6IHt9IGFzIG5ldmVyLFxuICBmcmFnbWVudDoge30gYXMgbmV2ZXIsXG4gIGNvdW50OiB7XG4gICAgcXVlcnk6IHt9IGFzIG5ldmVyLFxuICAgIGJ1aWxkVmFyaWFibGVzOiAoeyB3aGVyZSB9KSA9PiB7XG4gICAgICByZXR1cm4geyB3aGVyZSB9O1xuICAgIH0sXG4gICAgZ2V0Q291bnQ6IChkYXRhKSA9PiB7XG4gICAgICByZXR1cm4gKGRhdGEgYXMgVGVzdENvdW50T3BlcmF0aW9uWydyZXNwb25zZSddKS5yb3dzQ291bnQ7XG4gICAgfSxcbiAgfSxcbiAgZmlsdGVycyxcbiAgc29ydHM6IGRlZmluZUJhY2tvZmZpY2VTb3J0czxUZXN0TGlzdE9wZXJhdGlvbj4oKShbXG4gICAgeyBpZDogJ0NSRUFURURfQVRfQVNDJywgbGFiZWwgfSxcbiAgXSksXG4gIGRlZmF1bHRTdGF0ZToge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3Igb3JnYW5pemF0aW9uSWQgaXMgbm90IGRlY2xhcmVkIGJ5IHRoZSBsaXN0IHdoZXJlIGlucHV0LlxuICAgIHdoZXJlOiB7IG9yZ2FuaXphdGlvbklkOiAnb3JnLTEnIH0sXG4gICAgc29ydDogJ0NSRUFURURfQVRfQVNDJyxcbiAgfSxcbiAgZ2V0Q29ubmVjdGlvbjogKCkgPT4ge1xuICAgIHJldHVybiB7IGVkZ2VzOiBbXSB9O1xuICB9LFxuICB0b1JvdzogKHJvdykgPT4ge1xuICAgIHJldHVybiByb3c7XG4gIH0sXG4gIGdldFJvd0lkOiAoKSA9PiB7XG4gICAgcmV0dXJuICdyb3cnO1xuICB9LFxuICBjb2x1bW5zOiBbXSxcbn0pO1xuXG5kZWZpbmVCYWNrb2ZmaWNlUGlja2VyPFRlc3RQaWNrZXJPcGVyYXRpb24+KCkoe1xuICBxdWVyeToge30gYXMgbmV2ZXIsXG4gIGZyYWdtZW50OiB7fSBhcyBuZXZlcixcbiAgZ2V0Q29ubmVjdGlvbjogKCkgPT4ge1xuICAgIHJldHVybiB7IGVkZ2VzOiBbXSB9O1xuICB9LFxuICB0b1JvdzogKCkgPT4ge1xuICAgIHJldHVybiB7IGlkOiAncm93JywgdGl0bGU6ICdSb3cnIH07XG4gIH0sXG4gIGdldFJvd0lkOiAocm93KSA9PiB7XG4gICAgcmV0dXJuIHJvdy5pZDtcbiAgfSxcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciByZXR1cm5lZCB3aGVyZSBzaGFwZSBpcyBub3QgZGVjbGFyZWQgYnkgdGhlIHBpY2tlciBvcGVyYXRpb24uXG4gIGJ1aWxkUXVlcnlWYXJpYWJsZXM6ICh7IHNjb3BlIH0pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgd2hlcmU6IHtcbiAgICAgICAgcHJvamVjdElkOiAoc2NvcGUgYXMgeyBwcm9qZWN0SWQ/OiBzdHJpbmcgfSB8IHVuZGVmaW5lZCk/LnByb2plY3RJZCxcbiAgICAgIH0sXG4gICAgICBjb3VudDogMjAsXG4gICAgICBjdXJzb3I6IG51bGwsXG4gICAgfTtcbiAgfSxcbn0pO1xuIl19
|
|
526
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9uLWJvdW5kLWNvbmZpZy50ZXN0LWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZS10ZXN0cy9vcGVyYXRpb24tYm91bmQtY29uZmlnLnRlc3QtZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLCtCQUErQixFQUMvQixtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ25DLG9DQUFvQyxFQUNwQyxxQ0FBcUMsRUFDckMsa0NBQWtDLEVBQ2xDLHVCQUF1QixFQUN2Qiw4QkFBOEIsRUFDOUIsc0JBQXNCLEVBQ3RCLDhCQUE4QixFQUM5QixxQkFBcUIsRUFDckIsY0FBYyxFQUNkLGNBQWMsRUFDZCxVQUFVLEVBQ1YsWUFBWSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFtSHhCLE1BQU0sS0FBSyxHQUFjLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDN0IsT0FBTyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBRUYsa0NBQWtDLEVBSS9CLENBQUM7SUFDRixFQUFFLEVBQUUscUJBQXFCO0lBQ3pCLElBQUksRUFBRSxjQUFjO0lBQ3BCLEtBQUs7SUFDTCxRQUFRLEVBQUUsRUFBVztJQUNyQixNQUFNLEVBQUUsRUFBRTtJQUNWLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUM5QixPQUFPO1lBQ0wsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtnQkFDakIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO2FBQzFCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFDRCxNQUFNLEVBQUU7UUFDTixPQUFPLEVBQUU7WUFDUCxLQUFLLEVBQUUsS0FBSztZQUNaLElBQUksRUFBRTtnQkFDSixRQUFRLEVBQUUsZUFBZTtnQkFDekIsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUU7b0JBQ3hCLE9BQU8s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QUNiLENBQUM7SUFDRCxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQ2IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsT0FBTyxFQUFFLEVBQUU7Q0FDWixDQUFDLENBQUM7QUFFSCxzQkFBc0IsRUFBdUIsQ0FBQztJQUM1QyxLQUFLLEVBQUUsRUFBVztJQUNsQixRQUFRLEVBQUUsRUFBVztJQUNyQixhQUFhLEVBQUUsR0FBRyxFQUFFO1FBQ2xCLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7UUFDVixPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUNELFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ2hCLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7UUFDakMsT0FBTztZQUNMLEtBQUssRUFBRTtnQkFDTCxTQUFTLEVBQUcsS0FBNEMsRUFBRSxTQUFTO2FBQ3BFO1lBQ0QsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPcGVyYXRpb25UeXBlIH0gZnJvbSAncmVsYXktcnVudGltZSc7XG5pbXBvcnQge1xuICBkZWZpbmVCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3QsXG4gIGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRDb25maWcsXG4gIGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRIcmVmVGFyZ2V0LFxuICBkZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkTGlzdFRhcmdldCxcbiAgZGVmaW5lQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0LFxuICBkZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0LFxuICBkZWZpbmVCYWNrb2ZmaWNlRm9ybU11dGF0aW9uQWN0aW9uLFxuICBkZWZpbmVCYWNrb2ZmaWNlRmlsdGVycyxcbiAgZGVmaW5lQmFja29mZmljZU11dGF0aW9uQWN0aW9uLFxuICBkZWZpbmVCYWNrb2ZmaWNlUGlja2VyLFxuICBkZWZpbmVCYWNrb2ZmaWNlUmVsYXRpb25GaWx0ZXIsXG4gIGRlZmluZUJhY2tvZmZpY2VTb3J0cyxcbiAgZGF0ZXRpbWVGaWx0ZXIsXG4gIGVudGl0eUlkRmlsdGVyLFxuICBlbnVtRmlsdGVyLFxuICBudW1iZXJGaWx0ZXIsXG59IGZyb20gJy4uL2J1aWxkZXJzLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgQmFja29mZmljZURhc2hib2FyZENvbmZpZyxcbiAgQmFja29mZmljZURldGFpbFRpdGxlTWV0YUl0ZW0sXG4gIEJhY2tvZmZpY2VMaXN0UmVzcG9uc2l2ZU1ldGFJdGVtLFxuICBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmUsXG4gIEkxOG5MYWJlbCxcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG50eXBlIFRlc3RTb3J0ID0gJ0NSRUFURURfQVRfQVNDJyB8ICdDUkVBVEVEX0FUX0RFU0MnO1xudHlwZSBUZXN0S2luZCA9ICdBJyB8ICdCJztcbnR5cGUgVGVzdEN1cnJlbmN5ID0gJ0VVUicgfCAnVVNEJztcblxuaW50ZXJmYWNlIFRlc3RMaXN0T3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSB7XG4gIHZhcmlhYmxlczoge1xuICAgIHdoZXJlPzoge1xuICAgICAgcHJvamVjdElkPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAgIGtpbmQ/OiBUZXN0S2luZCB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgICBhdHRlbXB0PzogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAgIGNyZWF0ZWRGcm9tPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICB9IHwgbnVsbDtcbiAgICBzb3J0PzogVGVzdFNvcnQgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIGNvdW50OiBudW1iZXI7XG4gICAgY3Vyc29yPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfTtcbiAgcmVzcG9uc2U6IHtcbiAgICByZWFkb25seSByb3dzOiByZWFkb25seSB1bmtub3duW107XG4gIH07XG59XG5cbmludGVyZmFjZSBUZXN0UGlja2VyT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSB7XG4gIHZhcmlhYmxlczoge1xuICAgIHdoZXJlPzoge1xuICAgICAgb3JnYW5pemF0aW9uSWQ/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIH0gfCBudWxsO1xuICAgIGNvdW50OiBudW1iZXI7XG4gICAgY3Vyc29yPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfTtcbiAgcmVzcG9uc2U6IHtcbiAgICByZWFkb25seSByb3dzOiByZWFkb25seSB1bmtub3duW107XG4gIH07XG59XG5cbmludGVyZmFjZSBUZXN0Q291bnRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlIHtcbiAgdmFyaWFibGVzOiB7XG4gICAgd2hlcmU/OiBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VGVzdExpc3RPcGVyYXRpb24+IHwgbnVsbDtcbiAgfTtcbiAgcmVzcG9uc2U6IHtcbiAgICByZWFkb25seSByb3dzQ291bnQ6IG51bWJlcjtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFRlc3REYXNoYm9hcmRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlIHtcbiAgdmFyaWFibGVzOiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj47XG4gIHJlc3BvbnNlOiB7XG4gICAgcmVhZG9ubHkgdXNlcnM6IHtcbiAgICAgIHJlYWRvbmx5IHRvdGFsQ291bnQ6IG51bWJlcjtcbiAgICB9O1xuICB9O1xufVxuXG5pbnRlcmZhY2UgVGVzdERhc2hib2FyZFdpbmRvd09wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUge1xuICB2YXJpYWJsZXM6IHtcbiAgICBmcm9tOiBzdHJpbmc7XG4gICAgdG86IHN0cmluZztcbiAgICBzZXZlcml0eT86IFRlc3RLaW5kIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfTtcbiAgcmVzcG9uc2U6IHtcbiAgICByZWFkb25seSB0aHJvdWdocHV0Q291bnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBmYWlsdXJlUmF0ZTogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHRvcEZhaWx1cmVzOiByZWFkb25seSB7XG4gICAgICByZWFkb25seSBpZDogc3RyaW5nO1xuICAgICAgcmVhZG9ubHkgbGFiZWw6IHN0cmluZztcbiAgICAgIHJlYWRvbmx5IGNvdW50OiBudW1iZXI7XG4gICAgfVtdO1xuICAgIHJlYWRvbmx5IGJ1Y2tldHM6IHJlYWRvbmx5IHtcbiAgICAgIHJlYWRvbmx5IGJ1Y2tldDogc3RyaW5nO1xuICAgICAgcmVhZG9ubHkgY291bnQ6IG51bWJlcjtcbiAgICB9W107XG4gIH07XG59XG5cbmludGVyZmFjZSBUZXN0Q3JlYXRlT3JnYW5pemF0aW9uT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSB7XG4gIHZhcmlhYmxlczoge1xuICAgIGlucHV0OiB7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBjdXJyZW5jeTogVGVzdEN1cnJlbmN5O1xuICAgIH07XG4gIH07XG4gIHJlc3BvbnNlOiB7XG4gICAgcmVhZG9ubHkgY3JlYXRlT3JnYW5pemF0aW9uOiB7XG4gICAgICByZWFkb25seSBzdGF0dXM6IHN0cmluZztcbiAgICAgIHJlYWRvbmx5IG9yZ2FuaXphdGlvbjoge1xuICAgICAgICByZWFkb25seSBpZDogc3RyaW5nO1xuICAgICAgfSB8IG51bGw7XG4gICAgfTtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFRlc3RBcmNoaXZlT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSB7XG4gIHZhcmlhYmxlczoge1xuICAgIGlkOiBzdHJpbmc7XG4gIH07XG4gIHJlc3BvbnNlOiB7XG4gICAgcmVhZG9ubHkgYXJjaGl2ZToge1xuICAgICAgcmVhZG9ubHkgc3RhdHVzOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn1cblxudHlwZSBUZXN0Q3JlYXRlT3JnYW5pemF0aW9uRm9ybVZhbHVlcyA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBjdXJyZW5jeTogVGVzdEN1cnJlbmN5O1xufTtcblxuY29uc3QgbGFiZWw6IEkxOG5MYWJlbCA9ICh0KSA9PiB7XG4gIHJldHVybiB0KCdjb21tb24ubGFiZWwnKTtcbn07XG5cbmRlZmluZUJhY2tvZmZpY2VGb3JtTXV0YXRpb25BY3Rpb248XG4gIFRlc3RDcmVhdGVPcmdhbml6YXRpb25PcGVyYXRpb24sXG4gIG51bGwsXG4gIFRlc3RDcmVhdGVPcmdhbml6YXRpb25Gb3JtVmFsdWVzXG4+KCkoe1xuICBpZDogJ2NyZWF0ZS1vcmdhbml6YXRpb24nLFxuICBraW5kOiAnZm9ybU11dGF0aW9uJyxcbiAgbGFiZWwsXG4gIG11dGF0aW9uOiB7fSBhcyBuZXZlcixcbiAgZmllbGRzOiBbXSxcbiAgZ2V0VmFyaWFibGVzOiAoX25vZGUsIHZhbHVlcykgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBpbnB1dDoge1xuICAgICAgICBuYW1lOiB2YWx1ZXMubmFtZSxcbiAgICAgICAgY3VycmVuY3k6IHZhbHVlcy5jdXJyZW5jeSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcbiAgdG9hc3RzOiB7XG4gICAgc3VjY2Vzczoge1xuICAgICAgdGl0bGU6IGxhYmVsLFxuICAgICAgdmlldzoge1xuICAgICAgICBlbnRpdHlJZDogJ29yZ2FuaXphdGlvbnMnLFxuICAgICAgICBnZXRUYXJnZXRJZDogKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmNyZWF0ZU9yZ2FuaXphdGlvbi5vcmdhbml6YXRpb24/LmlkID8/IG51bGw7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG59KTtcblxuZGVmaW5lQmFja29mZmljZUZvcm1NdXRhdGlvbkFjdGlvbjxcbiAgVGVzdENyZWF0ZU9yZ2FuaXphdGlvbk9wZXJhdGlvbixcbiAgbnVsbCxcbiAgVGVzdENyZWF0ZU9yZ2FuaXphdGlvbkZvcm1WYWx1ZXNcbj4oKSh7XG4gIGlkOiAnbWlzc2luZy1jdXJyZW5jeScsXG4gIGtpbmQ6ICdmb3JtTXV0YXRpb24nLFxuICBsYWJlbCxcbiAgbXV0YXRpb246IHt9IGFzIG5ldmVyLFxuICBmaWVsZHM6IFtdLFxuICAvLyBAdHMtZXhwZWN0LWVycm9yIGNyZWF0ZSBvcmdhbml6YXRpb24gdmFyaWFibGVzIG11c3QgaW5jbHVkZSByZXF1aXJlZCBpbnB1dC5jdXJyZW5jeS5cbiAgZ2V0VmFyaWFibGVzOiAoX25vZGUsIHZhbHVlcykgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBpbnB1dDoge1xuICAgICAgICBuYW1lOiB2YWx1ZXMubmFtZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcbn0pO1xuXG5kZWZpbmVCYWNrb2ZmaWNlRm9ybU11dGF0aW9uQWN0aW9uPFxuICBUZXN0Q3JlYXRlT3JnYW5pemF0aW9uT3BlcmF0aW9uLFxuICBudWxsLFxuICB7IG5hbWU6IHN0cmluZzsgY3VycmVuY3k6ICdHQlAnIH1cbj4oKSh7XG4gIGlkOiAnaW52YWxpZC1jdXJyZW5jeScsXG4gIGtpbmQ6ICdmb3JtTXV0YXRpb24nLFxuICBsYWJlbCxcbiAgbXV0YXRpb246IHt9IGFzIG5ldmVyLFxuICBmaWVsZHM6IFtdLFxuICAvLyBAdHMtZXhwZWN0LWVycm9yIGNyZWF0ZSBvcmdhbml6YXRpb24gY3VycmVuY3kgbXVzdCBiZSBvbmUgb2YgdGhlIFJlbGF5IGdlbmVyYXRlZCBlbnVtIHZhbHVlcy5cbiAgZ2V0VmFyaWFibGVzOiAoX25vZGUsIHZhbHVlcykgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBpbnB1dDoge1xuICAgICAgICBuYW1lOiB2YWx1ZXMubmFtZSxcbiAgICAgICAgY3VycmVuY3k6IHZhbHVlcy5jdXJyZW5jeSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcbn0pO1xuXG5kZWZpbmVCYWNrb2ZmaWNlTXV0YXRpb25BY3Rpb248VGVzdEFyY2hpdmVPcGVyYXRpb24sIHsgaWQ6IHN0cmluZyB9PigpKHtcbiAgaWQ6ICdhcmNoaXZlJyxcbiAga2luZDogJ211dGF0aW9uJyxcbiAgbGFiZWwsXG4gIG11dGF0aW9uOiB7fSBhcyBuZXZlcixcbiAgZ2V0VmFyaWFibGVzOiAobm9kZSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogbm9kZS5pZCxcbiAgICB9O1xuICB9LFxufSk7XG5cbmRlZmluZUJhY2tvZmZpY2VNdXRhdGlvbkFjdGlvbjxUZXN0QXJjaGl2ZU9wZXJhdGlvbiwgeyBpZDogc3RyaW5nIH0+KCkoe1xuICBpZDogJ2FyY2hpdmUtbWlzc2luZy1pZCcsXG4gIGtpbmQ6ICdtdXRhdGlvbicsXG4gIGxhYmVsLFxuICBtdXRhdGlvbjoge30gYXMgbmV2ZXIsXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgbXV0YXRpb24gdmFyaWFibGVzIG11c3QgaW5jbHVkZSByZXF1aXJlZCBpZC5cbiAgZ2V0VmFyaWFibGVzOiAoKSA9PiB7XG4gICAgcmV0dXJuIHt9O1xuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCByZXNwb25zaXZlTWV0YTogQmFja29mZmljZUxpc3RSZXNwb25zaXZlTWV0YUl0ZW0gPSB7XG4gIGlkOiAnc3RhdGUnLFxuICBsYWJlbCxcbiAgdmFsdWU6ICdyZWFkeScsXG59O1xuXG5leHBvcnQgY29uc3QgaW52YWxpZFJlc3BvbnNpdmVNZXRhOiBCYWNrb2ZmaWNlTGlzdFJlc3BvbnNpdmVNZXRhSXRlbSA9IHtcbiAgaWQ6ICdzdGF0ZScsXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgcmVzcG9uc2l2ZSBtZXRhIGxhYmVscyBtdXN0IGJlIGkxOG4gbGFiZWwgZnVuY3Rpb25zLCBub3QgcmF3IHN0cmluZ3MuXG4gIGxhYmVsOiAnU3RhdGUnLFxuICB2YWx1ZTogJ3JlYWR5Jyxcbn07XG5cbmV4cG9ydCBjb25zdCB0aXRsZU1ldGE6IEJhY2tvZmZpY2VEZXRhaWxUaXRsZU1ldGFJdGVtID0ge1xuICBpZDogJ3N0YXRlJyxcbiAgbGFiZWwsXG4gIHZhbHVlOiAncmVhZHknLFxufTtcblxuZXhwb3J0IGNvbnN0IGludmFsaWRUaXRsZU1ldGE6IEJhY2tvZmZpY2VEZXRhaWxUaXRsZU1ldGFJdGVtID0ge1xuICBpZDogJ3N0YXRlJyxcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciB0aXRsZSBtZXRhIGxhYmVscyBtdXN0IGJlIGkxOG4gbGFiZWwgZnVuY3Rpb25zLCBub3QgcmF3IHN0cmluZ3MuXG4gIGxhYmVsOiAnU3RhdGUnLFxuICB2YWx1ZTogJ3JlYWR5Jyxcbn07XG5cbmNvbnN0IGZpbHRlcnMgPSBkZWZpbmVCYWNrb2ZmaWNlRmlsdGVyczxUZXN0TGlzdE9wZXJhdGlvbj4oKShbXG4gIGVudGl0eUlkRmlsdGVyPEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUZXN0TGlzdE9wZXJhdGlvbj4sICdwcm9qZWN0SWQnPihcbiAgICAncHJvamVjdElkJyxcbiAgICB7XG4gICAgICBlbnRpdHk6ICdwcm9qZWN0cycsXG4gICAgICBsYWJlbCxcbiAgICB9LFxuICApLFxuICBlbnVtRmlsdGVyPEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUZXN0TGlzdE9wZXJhdGlvbj4sICdraW5kJz4oJ2tpbmQnLCB7XG4gICAgbGFiZWwsXG4gICAgb3B0aW9uczogWydBJywgJ0InXSxcbiAgfSksXG4gIG51bWJlckZpbHRlcjxCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VGVzdExpc3RPcGVyYXRpb24+LCAnYXR0ZW1wdCc+KFxuICAgICdhdHRlbXB0JyxcbiAgICB7XG4gICAgICBsYWJlbCxcbiAgICB9LFxuICApLFxuICBkYXRldGltZUZpbHRlcjxCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VGVzdExpc3RPcGVyYXRpb24+LCAnY3JlYXRlZEZyb20nPihcbiAgICAnY3JlYXRlZEZyb20nLFxuICAgIHtcbiAgICAgIGxhYmVsLFxuICAgICAgbW9kZTogJ2Zyb20nLFxuICAgIH0sXG4gICksXG5dKTtcblxuZGVmaW5lQmFja29mZmljZVNvcnRzPFRlc3RMaXN0T3BlcmF0aW9uPigpKFt7IGlkOiAnQ1JFQVRFRF9BVF9ERVNDJywgbGFiZWwgfV0pO1xuXG5kZWZpbmVCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3Q8VGVzdExpc3RPcGVyYXRpb24sIFRlc3RDb3VudE9wZXJhdGlvbj4oKSh7XG4gIHRpdGxlOiBsYWJlbCxcbiAgcXVlcnk6IHt9IGFzIG5ldmVyLFxuICBmcmFnbWVudDoge30gYXMgbmV2ZXIsXG4gIGNvdW50OiB7XG4gICAgcXVlcnk6IHt9IGFzIG5ldmVyLFxuICAgIGJ1aWxkVmFyaWFibGVzOiAoeyB3aGVyZSB9KSA9PiB7XG4gICAgICByZXR1cm4geyB3aGVyZSB9O1xuICAgIH0sXG4gICAgZ2V0Q291bnQ6IChkYXRhKSA9PiB7XG4gICAgICByZXR1cm4gKGRhdGEgYXMgVGVzdENvdW50T3BlcmF0aW9uWydyZXNwb25zZSddKS5yb3dzQ291bnQ7XG4gICAgfSxcbiAgfSxcbiAgZmlsdGVycyxcbiAgc29ydHM6IGRlZmluZUJhY2tvZmZpY2VTb3J0czxUZXN0TGlzdE9wZXJhdGlvbj4oKShbXG4gICAgeyBpZDogJ0NSRUFURURfQVRfQVNDJywgbGFiZWwgfSxcbiAgXSksXG4gIGRlZmF1bHRTdGF0ZToge1xuICAgIHdoZXJlOiB7IHByb2plY3RJZDogJ3Byb2plY3QtMScgfSxcbiAgICBzb3J0OiAnQ1JFQVRFRF9BVF9ERVNDJyxcbiAgfSxcbiAgZ2V0Q29ubmVjdGlvbjogKCkgPT4ge1xuICAgIHJldHVybiB7IGVkZ2VzOiBbXSB9O1xuICB9LFxuICB0b1JvdzogKHJvdykgPT4ge1xuICAgIHJldHVybiByb3c7XG4gIH0sXG4gIGdldFJvd0lkOiAoKSA9PiB7XG4gICAgcmV0dXJuICdyb3cnO1xuICB9LFxuICBjb2x1bW5zOiBbXSxcbn0pO1xuXG5kZWZpbmVCYWNrb2ZmaWNlUGlja2VyPFRlc3RQaWNrZXJPcGVyYXRpb24+KCkoe1xuICBxdWVyeToge30gYXMgbmV2ZXIsXG4gIGZyYWdtZW50OiB7fSBhcyBuZXZlcixcbiAgZ2V0Q29ubmVjdGlvbjogKCkgPT4ge1xuICAgIHJldHVybiB7IGVkZ2VzOiBbXSB9O1xuICB9LFxuICB0b1JvdzogKCkgPT4ge1xuICAgIHJldHVybiB7IGlkOiAncm93JywgdGl0bGU6ICdSb3cnIH07XG4gIH0sXG4gIGdldFJvd0lkOiAocm93KSA9PiB7XG4gICAgcmV0dXJuIHJvdy5pZDtcbiAgfSxcbiAgYnVpbGRRdWVyeVZhcmlhYmxlczogKHsgc2NvcGUgfSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICB3aGVyZToge1xuICAgICAgICBvcmdhbml6YXRpb25JZDogc2NvcGU/Lm9yZ2FuaXphdGlvbklkLFxuICAgICAgfSxcbiAgICAgIGNvdW50OiAyMCxcbiAgICAgIGN1cnNvcjogbnVsbCxcbiAgICB9O1xuICB9LFxufSk7XG5cbmRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRDb25maWcoe1xuICB0aXRsZTogbGFiZWwsXG4gIHdpZGdldHM6IFtcbiAgICBkZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXQ8VGVzdERhc2hib2FyZE9wZXJhdGlvbj4oKSh7XG4gICAgICBpZDogJ3VzZXJzJyxcbiAgICAgIGtpbmQ6ICdtZXRyaWNHcm91cCcsXG4gICAgICBxdWVyeToge30gYXMgbmV2ZXIsXG4gICAgICB2YXJpYWJsZXM6IHt9LFxuICAgICAgcmVzb2x2ZTogKGRhdGEpID0+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ3VzZXJzJyxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgdmFsdWU6IGRhdGEudXNlcnMudG90YWxDb3VudCxcbiAgICAgICAgICAgIHRhcmdldDogZGVmaW5lQmFja29mZmljZURhc2hib2FyZExpc3RUYXJnZXQ8VGVzdExpc3RPcGVyYXRpb24+KCkoe1xuICAgICAgICAgICAgICBlbnRpdHlJZDogJ3Rhc2tzJyxcbiAgICAgICAgICAgICAgc3RhdGU6IHtcbiAgICAgICAgICAgICAgICB3aGVyZTogeyBraW5kOiAnQScgfSxcbiAgICAgICAgICAgICAgICBzb3J0OiAnQ1JFQVRFRF9BVF9ERVNDJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICB9LFxuICAgIH0pLFxuICAgIGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRTdGF0aWNXaWRnZXQoe1xuICAgICAgaWQ6ICd3aW5kb3cnLFxuICAgICAga2luZDogJ3dpbmRvd0NvbnRyb2wnLFxuICAgICAgdGl0bGU6IGxhYmVsLFxuICAgIH0pLFxuICAgIGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxUZXN0RGFzaGJvYXJkV2luZG93T3BlcmF0aW9uPigpKHtcbiAgICAgIGlkOiAndGhyb3VnaHB1dCcsXG4gICAgICBraW5kOiAndHJlbmRNZXRyaWMnLFxuICAgICAgcXVlcnk6IHt9IGFzIG5ldmVyLFxuICAgICAgdmFyaWFibGVzOiAoeyB3aW5kb3cgfSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGZyb206IHdpbmRvdy5mcm9tLFxuICAgICAgICAgIHRvOiB3aW5kb3cudG8sXG4gICAgICAgICAgc2V2ZXJpdHk6ICdBJyxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgICByZXNvbHZlOiAoZGF0YSwgY29udGV4dCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgIHZhbHVlOiBkYXRhLnRocm91Z2hwdXRDb3VudCxcbiAgICAgICAgICBkZWx0YToge1xuICAgICAgICAgICAgdmFsdWU6IDEyLFxuICAgICAgICAgICAgZGlyZWN0aW9uOiAndXAnLFxuICAgICAgICAgICAgdG9uZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzcGFya2xpbmU6IFt7IHg6ICcyMDI2LTAxLTAxVDAwOjAwOjAwLjAwMFonLCB5OiAxIH1dLFxuICAgICAgICAgIHRhcmdldDogZGVmaW5lQmFja29mZmljZURhc2hib2FyZExpc3RUYXJnZXQ8VGVzdExpc3RPcGVyYXRpb24+KCkoe1xuICAgICAgICAgICAgZW50aXR5SWQ6ICd0YXNrcycsXG4gICAgICAgICAgICBzdGF0ZToge1xuICAgICAgICAgICAgICB3aGVyZTogeyBraW5kOiAnQScgfSxcbiAgICAgICAgICAgICAgc29ydDogJ0NSRUFURURfQVRfREVTQycsXG4gICAgICAgICAgICAgIGZpbHRlcnM6IFtcbiAgICAgICAgICAgICAgICB7IGlkOiAnY3JlYXRlZEZyb20nLCB2YWx1ZTogY29udGV4dC53aW5kb3cuZnJvbSB9LFxuICAgICAgICAgICAgICAgIHsgaWQ6ICdjcmVhdGVkVG8nLCB2YWx1ZTogY29udGV4dC53aW5kb3cudG8gfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0pLFxuICAgIGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxUZXN0RGFzaGJvYXJkV2luZG93T3BlcmF0aW9uPigpKHtcbiAgICAgIGlkOiAnZmFpbHVyZS1yYXRlJyxcbiAgICAgIGtpbmQ6ICdzbGFHYXVnZScsXG4gICAgICBxdWVyeToge30gYXMgbmV2ZXIsXG4gICAgICB2YXJpYWJsZXM6ICh7IHdpbmRvdyB9KSA9PiB7XG4gICAgICAgIHJldHVybiB7IGZyb206IHdpbmRvdy5mcm9tLCB0bzogd2luZG93LnRvIH07XG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogKGRhdGEpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICB2YWx1ZTogZGF0YS5mYWlsdXJlUmF0ZSxcbiAgICAgICAgICBtYXg6IDEsXG4gICAgICAgICAgdGhyZXNob2xkOiAwLjA1LFxuICAgICAgICAgIHVuaXQ6ICclJyxcbiAgICAgICAgICB0b25lOiAnd2FybmluZycsXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0pLFxuICAgIGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxUZXN0RGFzaGJvYXJkV2luZG93T3BlcmF0aW9uPigpKHtcbiAgICAgIGlkOiAndG9wLWZhaWx1cmVzJyxcbiAgICAgIGtpbmQ6ICdicmVha2Rvd25MaXN0JyxcbiAgICAgIHF1ZXJ5OiB7fSBhcyBuZXZlcixcbiAgICAgIHZhcmlhYmxlczogKHsgd2luZG93IH0pID0+IHtcbiAgICAgICAgcmV0dXJuIHsgZnJvbTogd2luZG93LmZyb20sIHRvOiB3aW5kb3cudG8gfTtcbiAgICAgIH0sXG4gICAgICByZXNvbHZlOiAoZGF0YSkgPT4ge1xuICAgICAgICByZXR1cm4gZGF0YS50b3BGYWlsdXJlcy5tYXAoKGZhaWx1cmUpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6IGZhaWx1cmUuaWQsXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gZmFpbHVyZS5sYWJlbDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB2YWx1ZTogZmFpbHVyZS5jb3VudCxcbiAgICAgICAgICAgIHRvbmU6ICdkYW5nZXInLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KSxcbiAgICBkZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXQ8VGVzdERhc2hib2FyZFdpbmRvd09wZXJhdGlvbj4oKSh7XG4gICAgICBpZDogJ3RpbWVsaW5lJyxcbiAgICAgIGtpbmQ6ICd0aW1lbGluZUNoYXJ0JyxcbiAgICAgIHF1ZXJ5OiB7fSBhcyBuZXZlcixcbiAgICAgIHZhcmlhYmxlczogKHsgd2luZG93IH0pID0+IHtcbiAgICAgICAgcmV0dXJuIHsgZnJvbTogd2luZG93LmZyb20sIHRvOiB3aW5kb3cudG8gfTtcbiAgICAgIH0sXG4gICAgICBhcmlhTGFiZWw6IGxhYmVsLFxuICAgICAgY2hhcnQ6ICdiYXInLFxuICAgICAgcmVzb2x2ZTogKGRhdGEpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzZXJpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICd0aHJvdWdocHV0JyxcbiAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgIGNvbG9yOiAnIzI1NjNlYicsXG4gICAgICAgICAgICAgIGRhdGE6IGRhdGEuYnVja2V0cy5tYXAoKGJ1Y2tldCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICB4OiBidWNrZXQuYnVja2V0LFxuICAgICAgICAgICAgICAgICAgeTogYnVja2V0LmNvdW50LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICB9KSxcbiAgICBkZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXQ8VGVzdERhc2hib2FyZFdpbmRvd09wZXJhdGlvbj4oKSh7XG4gICAgICBpZDogJ3Jpc2stcXVldWUnLFxuICAgICAga2luZDogJ3Jpc2tRdWV1ZScsXG4gICAgICBxdWVyeToge30gYXMgbmV2ZXIsXG4gICAgICB2YXJpYWJsZXM6ICh7IHdpbmRvdyB9KSA9PiB7XG4gICAgICAgIHJldHVybiB7IGZyb206IHdpbmRvdy5mcm9tLCB0bzogd2luZG93LnRvIH07XG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogKCkgPT4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAnZGVhZC1vdXRib3gnLFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBzZXZlcml0eTogJ2RhbmdlcicsXG4gICAgICAgICAgICB2YWx1ZTogNCxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgICAgfSxcbiAgICB9KSxcbiAgICBkZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXQ8VGVzdERhc2hib2FyZFdpbmRvd09wZXJhdGlvbj4oKSh7XG4gICAgICBpZDogJ3Nwb3RsaWdodCcsXG4gICAgICBraW5kOiAnZW50aXR5U3BvdGxpZ2h0JyxcbiAgICAgIHF1ZXJ5OiB7fSBhcyBuZXZlcixcbiAgICAgIHZhcmlhYmxlczogKHsgd2luZG93IH0pID0+IHtcbiAgICAgICAgcmV0dXJuIHsgZnJvbTogd2luZG93LmZyb20sIHRvOiB3aW5kb3cudG8gfTtcbiAgICAgIH0sXG4gICAgICByZXNvbHZlOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgdGl0bGU6IGxhYmVsLFxuICAgICAgICAgIHRvbmU6ICdpbmZvJyxcbiAgICAgICAgICBtZXRhOiBbeyBpZDogJ2FnZScsIGxhYmVsLCB2YWx1ZTogJzQ1IG1pbicgfV0sXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0pLFxuICAgIGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxUZXN0RGFzaGJvYXJkV2luZG93T3BlcmF0aW9uPigpKHtcbiAgICAgIGlkOiAnaGVhbHRoJyxcbiAgICAgIGtpbmQ6ICdoZWFsdGhNYXRyaXgnLFxuICAgICAgcXVlcnk6IHt9IGFzIG5ldmVyLFxuICAgICAgdmFyaWFibGVzOiAoeyB3aW5kb3cgfSkgPT4ge1xuICAgICAgICByZXR1cm4geyBmcm9tOiB3aW5kb3cuZnJvbSwgdG86IHdpbmRvdy50byB9O1xuICAgICAgfSxcbiAgICAgIHJlc29sdmU6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ3dvcmsnLFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBjZWxsczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6ICd0YXNrcycsXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgdmFsdWU6IDIsXG4gICAgICAgICAgICAgICAgdG9uZTogJ3dhcm5pbmcnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgICAgfSxcbiAgICB9KSxcbiAgICBkZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0KHtcbiAgICAgIGlkOiAnYWN0aW9ucycsXG4gICAgICBraW5kOiAncXVpY2tBY3Rpb25zJyxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAndXNlcnMnLFxuICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgIHRhcmdldDogZGVmaW5lQmFja29mZmljZURhc2hib2FyZEhyZWZUYXJnZXQoJy91c2VycycpLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KSxcbiAgXSxcbn0pO1xuXG5kZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXQ8VGVzdERhc2hib2FyZE9wZXJhdGlvbj4oKSh7XG4gIGlkOiAnaW52YWxpZC11c2VycycsXG4gIGtpbmQ6ICdtZXRyaWNHcm91cCcsXG4gIHF1ZXJ5OiB7fSBhcyBuZXZlcixcbiAgdmFyaWFibGVzOiB7fSxcbiAgcmVzb2x2ZTogKGRhdGEpID0+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpZDogJ3VzZXJzJyxcbiAgICAgICAgbGFiZWwsXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZGFzaGJvYXJkIHdpZGdldCByZXNvbHZlIGRhdGEgaXMgdHlwZWQgZnJvbSB0aGUgb3BlcmF0aW9uIHJlc3BvbnNlLlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzXG4gICAgICAgIHZhbHVlOiBkYXRhLnByb2plY3RzLnRvdGFsQ291bnQsXG4gICAgICB9LFxuICAgIF07XG4gIH0sXG59KTtcblxuZGVmaW5lQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0PFRlc3REYXNoYm9hcmRXaW5kb3dPcGVyYXRpb24+KCkoe1xuICBpZDogJ2ludmFsaWQtd2luZG93LXZhcmlhYmxlcycsXG4gIGtpbmQ6ICd0cmVuZE1ldHJpYycsXG4gIHF1ZXJ5OiB7fSBhcyBuZXZlcixcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBkYXNoYm9hcmQgd2lkZ2V0IHZhcmlhYmxlcyBtdXN0IG1hdGNoIHRoZSBvcGVyYXRpb24gdmFyaWFibGVzLlxuICB2YXJpYWJsZXM6ICh7IHdpbmRvdyB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZyb206IHdpbmRvdy5mcm9tLFxuICAgIH07XG4gIH0sXG4gIHJlc29sdmU6IChkYXRhKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsLFxuICAgICAgdmFsdWU6IGRhdGEudGhyb3VnaHB1dENvdW50LFxuICAgIH07XG4gIH0sXG59KTtcblxuZGVmaW5lQmFja29mZmljZURhc2hib2FyZExpc3RUYXJnZXQ8VGVzdExpc3RPcGVyYXRpb24+KCkoe1xuICBlbnRpdHlJZDogJ3Rhc2tzJyxcbiAgc3RhdGU6IHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGRhc2hib2FyZCBsaXN0IHRhcmdldCB3aGVyZSBtdXN0IG1hdGNoIHRoZSB0YXJnZXQgbGlzdCBvcGVyYXRpb24gd2hlcmUgaW5wdXQuXG4gICAgd2hlcmU6IHsgb3JnYW5pemF0aW9uSWQ6ICdvcmctMScgfSxcbiAgfSxcbn0pO1xuXG5kZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkTGlzdFRhcmdldDxUZXN0TGlzdE9wZXJhdGlvbj4oKSh7XG4gIGVudGl0eUlkOiAndGFza3MnLFxuICBzdGF0ZToge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZGFzaGJvYXJkIGxpc3QgdGFyZ2V0IHNvcnQgbXVzdCBtYXRjaCB0aGUgdGFyZ2V0IGxpc3Qgb3BlcmF0aW9uIHNvcnQgaW5wdXQuXG4gICAgc29ydDogJ1VQREFURURfQVRfREVTQycsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IGludmFsaWREYXNoYm9hcmRDb25maWc6IEJhY2tvZmZpY2VEYXNoYm9hcmRDb25maWcgPSB7XG4gIHRpdGxlOiBsYWJlbCxcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBkYXNoYm9hcmQgY29uZmlncyBkbyBub3Qgc3VwcG9ydCBnbG9iYWwgcXVlcmllcy5cbiAgcXVlcnk6IHt9IGFzIG5ldmVyLFxuICB3aWRnZXRzOiBbXSxcbn07XG5cbi8vIEB0cy1leHBlY3QtZXJyb3IgZGF0YS1kcml2ZW4gZGFzaGJvYXJkIHdpZGdldHMgbXVzdCBkZWNsYXJlIGEgcXVlcnkuXG5kZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXQ8VGVzdERhc2hib2FyZE9wZXJhdGlvbj4oKSh7XG4gIGlkOiAnbWlzc2luZy1xdWVyeScsXG4gIGtpbmQ6ICdtZXRyaWNHcm91cCcsXG4gIHZhcmlhYmxlczoge30sXG4gIHJlc29sdmU6IChkYXRhKSA9PiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICd1c2VycycsXG4gICAgICAgIGxhYmVsLFxuICAgICAgICB2YWx1ZTogZGF0YS51c2Vycy50b3RhbENvdW50LFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxufSk7XG5cbmRlZmluZUJhY2tvZmZpY2VSZWxhdGlvbkZpbHRlcjxUZXN0TGlzdE9wZXJhdGlvbj4oKSh7XG4gIHRhcmdldDogJ3Byb2plY3RzJyxcbiAgd2hlcmVLZXk6ICdwcm9qZWN0SWQnLFxufSk7XG5cbmRlZmluZUJhY2tvZmZpY2VSZWxhdGlvbkZpbHRlcjxUZXN0TGlzdE9wZXJhdGlvbj4oKSh7XG4gIHRhcmdldDogJ3Byb2plY3RzJyxcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBvcmdhbml6YXRpb25JZCBpcyBub3QgZGVjbGFyZWQgYnkgdGhlIHRhcmdldCBsaXN0IHdoZXJlIGlucHV0LlxuICB3aGVyZUtleTogJ29yZ2FuaXphdGlvbklkJyxcbn0pO1xuXG5kZWZpbmVCYWNrb2ZmaWNlRmlsdGVyczxUZXN0TGlzdE9wZXJhdGlvbj4oKShbXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgbWlzc2luZ0ZpZWxkIGlzIG5vdCBkZWNsYXJlZCBieSB0aGUgb3BlcmF0aW9uIHdoZXJlIGlucHV0LlxuICBlbnRpdHlJZEZpbHRlcjxCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VGVzdExpc3RPcGVyYXRpb24+LCAnbWlzc2luZ0ZpZWxkJz4oXG4gICAgJ21pc3NpbmdGaWVsZCcsXG4gICAge1xuICAgICAgZW50aXR5OiAncHJvamVjdHMnLFxuICAgICAgbGFiZWwsXG4gICAgfSxcbiAgKSxcbl0pO1xuXG5kZWZpbmVCYWNrb2ZmaWNlRmlsdGVyczxUZXN0TGlzdE9wZXJhdGlvbj4oKShbXG4gIGVudW1GaWx0ZXI8QmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRlc3RMaXN0T3BlcmF0aW9uPiwgJ2tpbmQnPigna2luZCcsIHtcbiAgICBsYWJlbCxcbiAgICBvcHRpb25zOiBbXG4gICAgICAnQScsXG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIEMgaXMgbm90IGEgdmFsaWQgVGVzdEtpbmQgdmFsdWUuXG4gICAgICAnQycsXG4gICAgXSxcbiAgfSksXG5dKTtcblxuZGVmaW5lQmFja29mZmljZUZpbHRlcnM8VGVzdExpc3RPcGVyYXRpb24+KCkoW1xuICAvLyBAdHMtZXhwZWN0LWVycm9yIGtpbmQgaXMgYW4gZW51bSBzdHJpbmcgZmllbGQsIG5vdCBhIG51bWJlciBmaWVsZC5cbiAgbnVtYmVyRmlsdGVyPEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUZXN0TGlzdE9wZXJhdGlvbj4sICdraW5kJz4oJ2tpbmQnLCB7XG4gICAgbGFiZWwsXG4gIH0pLFxuXSk7XG5cbmRlZmluZUJhY2tvZmZpY2VGaWx0ZXJzPFRlc3RMaXN0T3BlcmF0aW9uPigpKFtcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBhdHRlbXB0IGlzIGEgbnVtYmVyIGZpZWxkLCBub3QgYSBkYXRldGltZSBzdHJpbmcgZmllbGQuXG4gIGRhdGV0aW1lRmlsdGVyPEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUZXN0TGlzdE9wZXJhdGlvbj4sICdhdHRlbXB0Jz4oXG4gICAgJ2F0dGVtcHQnLFxuICAgIHtcbiAgICAgIGxhYmVsLFxuICAgIH0sXG4gICksXG5dKTtcblxuZGVmaW5lQmFja29mZmljZVNvcnRzPFRlc3RMaXN0T3BlcmF0aW9uPigpKFtcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBVUERBVEVEX0FUX0RFU0MgaXMgbm90IGRlY2xhcmVkIGJ5IHRoZSBvcGVyYXRpb24gc29ydC5cbiAgeyBpZDogJ1VQREFURURfQVRfREVTQycsIGxhYmVsIH0sXG5dKTtcblxuZGVmaW5lQmFja29mZmljZUNvbm5lY3Rpb25MaXN0PFRlc3RMaXN0T3BlcmF0aW9uLCBUZXN0Q291bnRPcGVyYXRpb24+KCkoe1xuICB0aXRsZTogbGFiZWwsXG4gIHF1ZXJ5OiB7fSBhcyBuZXZlcixcbiAgZnJhZ21lbnQ6IHt9IGFzIG5ldmVyLFxuICBjb3VudDoge1xuICAgIHF1ZXJ5OiB7fSBhcyBuZXZlcixcbiAgICBidWlsZFZhcmlhYmxlczogKHsgd2hlcmUgfSkgPT4ge1xuICAgICAgcmV0dXJuIHsgd2hlcmUgfTtcbiAgICB9LFxuICAgIGdldENvdW50OiAoZGF0YSkgPT4ge1xuICAgICAgcmV0dXJuIChkYXRhIGFzIFRlc3RDb3VudE9wZXJhdGlvblsncmVzcG9uc2UnXSkucm93c0NvdW50O1xuICAgIH0sXG4gIH0sXG4gIGZpbHRlcnMsXG4gIHNvcnRzOiBkZWZpbmVCYWNrb2ZmaWNlU29ydHM8VGVzdExpc3RPcGVyYXRpb24+KCkoW1xuICAgIHsgaWQ6ICdDUkVBVEVEX0FUX0FTQycsIGxhYmVsIH0sXG4gIF0pLFxuICBkZWZhdWx0U3RhdGU6IHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIG9yZ2FuaXphdGlvbklkIGlzIG5vdCBkZWNsYXJlZCBieSB0aGUgbGlzdCB3aGVyZSBpbnB1dC5cbiAgICB3aGVyZTogeyBvcmdhbml6YXRpb25JZDogJ29yZy0xJyB9LFxuICAgIHNvcnQ6ICdDUkVBVEVEX0FUX0FTQycsXG4gIH0sXG4gIGdldENvbm5lY3Rpb246ICgpID0+IHtcbiAgICByZXR1cm4geyBlZGdlczogW10gfTtcbiAgfSxcbiAgdG9Sb3c6IChyb3cpID0+IHtcbiAgICByZXR1cm4gcm93O1xuICB9LFxuICBnZXRSb3dJZDogKCkgPT4ge1xuICAgIHJldHVybiAncm93JztcbiAgfSxcbiAgY29sdW1uczogW10sXG59KTtcblxuZGVmaW5lQmFja29mZmljZVBpY2tlcjxUZXN0UGlja2VyT3BlcmF0aW9uPigpKHtcbiAgcXVlcnk6IHt9IGFzIG5ldmVyLFxuICBmcmFnbWVudDoge30gYXMgbmV2ZXIsXG4gIGdldENvbm5lY3Rpb246ICgpID0+IHtcbiAgICByZXR1cm4geyBlZGdlczogW10gfTtcbiAgfSxcbiAgdG9Sb3c6ICgpID0+IHtcbiAgICByZXR1cm4geyBpZDogJ3JvdycsIHRpdGxlOiAnUm93JyB9O1xuICB9LFxuICBnZXRSb3dJZDogKHJvdykgPT4ge1xuICAgIHJldHVybiByb3cuaWQ7XG4gIH0sXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgcmV0dXJuZWQgd2hlcmUgc2hhcGUgaXMgbm90IGRlY2xhcmVkIGJ5IHRoZSBwaWNrZXIgb3BlcmF0aW9uLlxuICBidWlsZFF1ZXJ5VmFyaWFibGVzOiAoeyBzY29wZSB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdoZXJlOiB7XG4gICAgICAgIHByb2plY3RJZDogKHNjb3BlIGFzIHsgcHJvamVjdElkPzogc3RyaW5nIH0gfCB1bmRlZmluZWQpPy5wcm9qZWN0SWQsXG4gICAgICB9LFxuICAgICAgY291bnQ6IDIwLFxuICAgICAgY3Vyc29yOiBudWxsLFxuICAgIH07XG4gIH0sXG59KTtcbiJdfQ==
|