@plumile/backoffice-core 0.1.168 → 0.1.170

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.
@@ -1,5 +1,5 @@
1
1
  import type { GraphQLTaggedNode, OperationType } from 'relay-runtime';
2
- import type { BackofficeConnectionListConfig, BackofficeAuditBlockSpec, BackofficeCountQueryInput, BackofficeContextStackBlockSpec, BackofficeDashboardConfig, BackofficeDashboardWidget, BackofficeDetailLayoutFacetConfig, BackofficeDetailPageFacetConfig, BackofficeMetricGroupBlockSpec, BackofficePayloadBlockSpec, BackofficeReferenceGroupBlockSpec, BackofficeRelationGroupBlockSpec, 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, BackofficeRelationGroupBlockSpec, 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';
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>;
@@ -35,8 +35,8 @@ type BackofficeDashboardStaticWidget<Kind extends BackofficeDashboardStaticWidge
35
35
  }>;
36
36
  type BackofficeDashboardQueryWidgetResult<Kind extends BackofficeDashboardQueryWidgetKind> = ReturnType<BackofficeDashboardQueryWidget<Kind>['resolve']>;
37
37
  export type DefineBackofficeDashboardQueryWidgetInput<TOperation extends OperationType, Kind extends BackofficeDashboardQueryWidgetKind> = Omit<BackofficeDashboardQueryWidget<Kind>, 'dataSource' | 'variables' | 'resolve'> & {
38
- variables: TOperation['variables'];
39
- resolve: (data: TOperation['response']) => BackofficeDashboardQueryWidgetResult<Kind>;
38
+ variables: BackofficeDashboardWidgetVariables<TOperation>;
39
+ resolve: (data: TOperation['response'], context: BackofficeDashboardContext) => BackofficeDashboardQueryWidgetResult<Kind>;
40
40
  };
41
41
  type AnyDefineBackofficeDashboardQueryWidgetInput<TOperation extends OperationType> = {
42
42
  [Kind in BackofficeDashboardQueryWidgetKind]: DefineBackofficeDashboardQueryWidgetInput<TOperation, Kind>;
@@ -62,6 +62,8 @@ export declare const defineBackofficeDashboardQueryWidget: <TOperation extends O
62
62
  export declare const defineBackofficeDashboardStaticWidget: (widget: AnyDefineBackofficeDashboardStaticWidgetInput) => Extract<BackofficeDashboardWidget, {
63
63
  dataSource: "static";
64
64
  }>;
65
+ export declare const defineBackofficeDashboardHrefTarget: (href: string) => BackofficeDashboardHrefTarget;
66
+ export declare const defineBackofficeDashboardListTarget: <TOperation extends OperationType>() => <const Target extends Omit<BackofficeDashboardEntityListTarget<BackofficeOperationWhere<TOperation>, BackofficeOperationSort<TOperation>>, "kind">>(target: Target) => BackofficeDashboardEntityListTarget<BackofficeOperationWhere<TOperation>, BackofficeOperationSort<TOperation>>;
65
67
  export declare const defineBackofficeConnectionList: <TOperation extends OperationType, TCountOperation extends OperationType>() => <RowRef, RowView, ListFragmentData>(config: DefineBackofficeConnectionListInput<StrictStandardListOperation<TOperation>, RowRef, RowView, ListFragmentData, BackofficeOperationWhere<StrictStandardListOperation<TOperation>>, BackofficeOperationSort<StrictStandardListOperation<TOperation>>, TCountOperation>) => BackofficeConnectionListConfig<StrictStandardListOperation<TOperation>, RowRef, RowView, ListFragmentData, BackofficeOperationWhere<StrictStandardListOperation<TOperation>>, BackofficeOperationSort<StrictStandardListOperation<TOperation>>, TCountOperation>;
66
68
  export declare const defineBackofficeCustomConnectionList: <TOperation extends OperationType, TCountOperation extends OperationType, TWhere extends Record<string, unknown>, TSort extends string = BackofficeOperationSort<TOperation>>() => <RowRef, RowView, ListFragmentData>(config: DefineBackofficeConnectionListInput<TOperation, RowRef, RowView, ListFragmentData, TWhere, TSort, TCountOperation> & {
67
69
  buildQueryVariables: (input: BackofficeListQueryInput<TOperation, TWhere, TSort>) => TOperation["variables"];
@@ -1 +1 @@
1
- {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/builders.ts"],"names":[],"mappings":"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"}
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,gCAAgC,EAChC,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,mBAAmB,GAAI,IAAI,EACtC,OAAO,gCAAgC,CAAC,IAAI,CAAC,KAC5C,gCAAgC,CAAC,IAAI,CAEvC,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"}
@@ -24,6 +24,20 @@ export const defineBackofficeDashboardStaticWidget = (widget) => {
24
24
  dataSource: 'static',
25
25
  };
26
26
  };
27
+ export const defineBackofficeDashboardHrefTarget = (href) => {
28
+ return {
29
+ kind: 'href',
30
+ href,
31
+ };
32
+ };
33
+ export const defineBackofficeDashboardListTarget = () => {
34
+ return (target) => {
35
+ return {
36
+ ...target,
37
+ kind: 'entity-list',
38
+ };
39
+ };
40
+ };
27
41
  const buildStandardListVariables = (input) => {
28
42
  return {
29
43
  where: input.where,
@@ -284,4 +298,4 @@ export const createToolManifest = (config) => {
284
298
  defaultDetailPageId: undefined,
285
299
  };
286
300
  };
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcU5BLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLENBRzdDLE1BQWMsRUFDTixFQUFFO0lBQ1YsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FDbkMsSUFBdUIsRUFDVSxFQUFFO0lBQ25DLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxJQUF1QixFQUNjLEVBQUU7SUFDdkMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLENBS2hELElBQXVCLEVBQ2dDLEVBQUU7SUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLEdBRWhELEVBQUU7SUFDSixPQUFPLENBSUwsTUFBYyxFQUNrQyxFQUFFO1FBQ2xELE9BQU87WUFDTCxHQUFHLE1BQU07WUFDVCxVQUFVLEVBQUUsT0FBTztTQUN5QyxDQUFDO0lBQ2pFLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLENBQ25ELE1BQXFELEVBQ1MsRUFBRTtJQUNoRSxPQUFPO1FBQ0wsR0FBRyxNQUFNO1FBQ1QsVUFBVSxFQUFFLFFBQVE7S0FDckIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sMEJBQTBCLEdBQUcsQ0FLakMsS0FBMEQsRUFDakMsRUFBRTtJQUMzQixPQUFPO1FBQ0wsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1FBQ2xCLElBQUksRUFBRSxLQUFLLENB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LEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQ2xDLEtBQThDLEVBQ0wsRUFBRTtJQUMzQyxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUM3QixNQUFTLEVBQ04sRUFBRTtJQUNMLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBTXRDLE1BQWUsRUFDb0IsRUFBRTtJQUNyQyxPQUFPO1FBQ0wsR0FBRyxNQUFNO1FBQ1QsSUFBSSxFQUFFLGFBQWE7S0FDcEIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBU2hDLE1BQWUsRUFNZixFQUFFO0lBQ0YsT0FBTztRQUNMLEdBQUcsTUFBTTtRQUNULElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFLEtBQUs7UUFDZCxXQUFXLEVBQUUsU0FBUztRQUN0QixtQkFBbUIsRUFBRSxTQUFTO0tBQy9CLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEdyYXBoUUxUYWdnZWROb2RlLCBPcGVyYXRpb25UeXBlIH0gZnJvbSAncmVsYXktcnVudGltZSc7XG5pbXBvcnQgdHlwZSB7XG4gIEJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdENvbmZpZyxcbiAgQmFja29mZmljZUF1ZGl0QmxvY2tTcGVjLFxuICBCYWNrb2ZmaWNlQ291bnRRdWVyeUlucHV0LFxuICBCYWNrb2ZmaWNlQ29udGV4dFN0YWNrQmxvY2tTcGVjLFxuICBCYWNrb2ZmaWNlRGFzaGJvYXJkQ29uZmlnLFxuICBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0LFxuICBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWcsXG4gIEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRDb25maWcsXG4gIEJhY2tvZmZpY2VNZXRyaWNHcm91cEJsb2NrU3BlYyxcbiAgQmFja29mZmljZVBheWxvYWRCbG9ja1NwZWMsXG4gIEJhY2tvZmZpY2VSZWZlcmVuY2VHcm91cEJsb2NrU3BlYyxcbiAgQmFja29mZmljZVJlbGF0aW9uR3JvdXBCbG9ja1NwZWMsXG4gIEJhY2tvZmZpY2VTZW1hbnRpY0RldGFpbEJsb2NrU3BlYyxcbiAgQmFja29mZmljZVN0YXRlR3JvdXBCbG9ja1NwZWMsXG4gIEJhY2tvZmZpY2VTdW1tYXJ5QmxvY2tTcGVjLFxuICBCYWNrb2ZmaWNlVGVjaG5pY2FsRmFjdHNCbG9ja1NwZWMsXG4gIEJhY2tvZmZpY2VUaW1lbGluZUJsb2NrU3BlYyxcbiAgQmFja29mZmljZUVudGl0eUxpc3RDb25maWcsXG4gIEJhY2tvZmZpY2VFbnRpdHlDb3VudENvbmZpZyxcbiAgQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbSxcbiAgQmFja29mZmljZUVudGl0eVBpY2tlckNvbmZpZyxcbiAgQmFja29mZmljZUZpbHRlclBsYWNlbWVudCxcbiAgQmFja29mZmljZUZpbHRlclNwZWMsXG4gIEJhY2tvZmZpY2VGcmFnbWVudFNwZWMsXG4gIEJhY2tvZmZpY2VMaXN0RGV0YWlsRmFjZXRMb2FkZXJNYXAsXG4gIEJhY2tvZmZpY2VMaXN0RmFjZXRDb25maWcsXG4gIEJhY2tvZmZpY2VMaXN0UXVlcnlJbnB1dCxcbiAgQmFja29mZmljZU9wZXJhdGlvblNvcnQsXG4gIEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZSxcbiAgQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnLFxuICBCYWNrb2ZmaWNlUGlja2VyUXVlcnlJbnB1dCxcbiAgQmFja29mZmljZVBhZ2luYXRpb25GcmFnbWVudFNwZWMsXG4gIEJhY2tvZmZpY2VRdWVyeVNwZWMsXG4gIEJhY2tvZmZpY2VSZWxhdGlvbkZpbHRlclNwZWMsXG4gIEJhY2tvZmZpY2VTb3J0U3BlYyxcbiAgQmFja29mZmljZVRvb2xFbnRpdHlDb25maWcsXG4gIEJhY2tvZmZpY2VUb29sRmFjZXRDb25maWcsXG4gIEJhY2tvZmZpY2VUb29sRmFjZXRMb2FkZXJNYXAsXG4gIEkxOG5MYWJlbCxcbn0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgRmllbGRLZXlPZlR5cGU8V2hlcmUsIFZhbHVlPiA9IEV4dHJhY3Q8XG4gIHtcbiAgICBbS2V5IGluIGtleW9mIFdoZXJlXTogTm9uTnVsbGFibGU8V2hlcmVbS2V5XT4gZXh0ZW5kcyBWYWx1ZSA/IEtleSA6IG5ldmVyO1xuICB9W2tleW9mIFdoZXJlXSxcbiAgc3RyaW5nXG4+O1xuXG50eXBlIFN0cmluZ0ZpZWxkS2V5PFdoZXJlPiA9IEZpZWxkS2V5T2ZUeXBlPFdoZXJlLCBzdHJpbmc+O1xudHlwZSBCb29sZWFuRmllbGRLZXk8V2hlcmU+ID0gRmllbGRLZXlPZlR5cGU8V2hlcmUsIGJvb2xlYW4+O1xudHlwZSBOdW1iZXJGaWVsZEtleTxXaGVyZT4gPSBGaWVsZEtleU9mVHlwZTxXaGVyZSwgbnVtYmVyPjtcblxudHlwZSBTdGFuZGFyZExpc3RWYXJpYWJsZXM8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIHdoZXJlPzogVFdoZXJlIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgc29ydD86IFRTb3J0IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgY291bnQ6IG51bWJlcjtcbiAgY3Vyc29yPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbn07XG5cbnR5cGUgU3RhbmRhcmRQaWNrZXJWYXJpYWJsZXM8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIHdoZXJlPzogVFdoZXJlIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgY291bnQ6IG51bWJlcjtcbiAgY3Vyc29yPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbn07XG5cbnR5cGUgU3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPiA9XG4gIFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddIGV4dGVuZHMgU3RhbmRhcmRMaXN0VmFyaWFibGVzPFRPcGVyYXRpb24+XG4gICAgPyBUT3BlcmF0aW9uXG4gICAgOiBuZXZlcjtcblxudHlwZSBTdHJpY3RTdGFuZGFyZFBpY2tlck9wZXJhdGlvbjxUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZT4gPVxuICBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXSBleHRlbmRzIFN0YW5kYXJkUGlja2VyVmFyaWFibGVzPFRPcGVyYXRpb24+XG4gICAgPyBUT3BlcmF0aW9uXG4gICAgOiBuZXZlcjtcblxudHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRLaW5kID0gRXh0cmFjdDxcbiAgQmFja29mZmljZURhc2hib2FyZFdpZGdldCxcbiAgeyBkYXRhU291cmNlOiAncXVlcnknIH1cbj5bJ2tpbmQnXTtcblxudHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0S2luZCA9IEV4dHJhY3Q8XG4gIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXQsXG4gIHsgZGF0YVNvdXJjZTogJ3N0YXRpYycgfVxuPlsna2luZCddO1xuXG50eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxcbiAgS2luZCBleHRlbmRzIEJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldEtpbmQsXG4+ID0gRXh0cmFjdDxCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0LCB7IGRhdGFTb3VyY2U6ICdxdWVyeSc7IGtpbmQ6IEtpbmQgfT47XG5cbnR5cGUgQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldDxcbiAgS2luZCBleHRlbmRzIEJhY2tvZmZpY2VEYXNoYm9hcmRTdGF0aWNXaWRnZXRLaW5kLFxuPiA9IEV4dHJhY3Q8QmFja29mZmljZURhc2hib2FyZFdpZGdldCwgeyBkYXRhU291cmNlOiAnc3RhdGljJzsga2luZDogS2luZCB9PjtcblxudHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRSZXN1bHQ8XG4gIEtpbmQgZXh0ZW5kcyBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRLaW5kLFxuPiA9IFJldHVyblR5cGU8QmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0PEtpbmQ+WydyZXNvbHZlJ10+O1xuXG5leHBvcnQgdHlwZSBEZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRJbnB1dDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIEtpbmQgZXh0ZW5kcyBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRLaW5kLFxuPiA9IE9taXQ8XG4gIEJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxLaW5kPixcbiAgJ2RhdGFTb3VyY2UnIHwgJ3ZhcmlhYmxlcycgfCAncmVzb2x2ZSdcbj4gJiB7XG4gIHZhcmlhYmxlczogVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG4gIHJlc29sdmU6IChcbiAgICBkYXRhOiBUT3BlcmF0aW9uWydyZXNwb25zZSddLFxuICApID0+IEJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldFJlc3VsdDxLaW5kPjtcbn07XG5cbnR5cGUgQW55RGVmaW5lQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0SW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuPiA9IHtcbiAgW0tpbmQgaW4gQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0S2luZF06IERlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldElucHV0PFxuICAgIFRPcGVyYXRpb24sXG4gICAgS2luZFxuICA+O1xufVtCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRLaW5kXTtcblxuZXhwb3J0IHR5cGUgRGVmaW5lQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldElucHV0PFxuICBLaW5kIGV4dGVuZHMgQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldEtpbmQsXG4+ID0gT21pdDxCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0PEtpbmQ+LCAnZGF0YVNvdXJjZSc+O1xuXG50eXBlIEFueURlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRTdGF0aWNXaWRnZXRJbnB1dCA9IHtcbiAgW0tpbmQgaW4gQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldEtpbmRdOiBEZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0SW5wdXQ8S2luZD47XG59W0JhY2tvZmZpY2VEYXNoYm9hcmRTdGF0aWNXaWRnZXRLaW5kXTtcblxuZXhwb3J0IHR5cGUgRGVmaW5lQmFja29mZmljZUNvbm5lY3Rpb25MaXN0SW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIExpc3RGcmFnbWVudERhdGEsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuICBUQ291bnRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlID0gYW55LFxuPiA9IE9taXQ8XG4gIEJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdENvbmZpZzxcbiAgICBUT3BlcmF0aW9uLFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgVFdoZXJlLFxuICAgIFRTb3J0LFxuICAgIFRDb3VudE9wZXJhdGlvblxuICA+LFxuICAna2luZCcgfCAnYnVpbGRRdWVyeVZhcmlhYmxlcydcbj4gJiB7XG4gIGJ1aWxkUXVlcnlWYXJpYWJsZXM/OiAoXG4gICAgaW5wdXQ6IEJhY2tvZmZpY2VMaXN0UXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmUsIFRTb3J0PixcbiAgKSA9PiBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXTtcbn07XG5cbmV4cG9ydCB0eXBlIERlZmluZUJhY2tvZmZpY2VMaXN0RmFjZXRJbnB1dDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgTGlzdEZyYWdtZW50RGF0YSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4gIFRDb3VudE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUgPSBhbnksXG4+ID0gT21pdDxcbiAgQmFja29mZmljZUxpc3RGYWNldENvbmZpZzxcbiAgICBUT3BlcmF0aW9uLFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgVFdoZXJlLFxuICAgIFRTb3J0LFxuICAgIFRDb3VudE9wZXJhdGlvblxuICA+LFxuICAnbGlzdCdcbj4gJiB7XG4gIGxpc3Q6IEJhY2tvZmZpY2VFbnRpdHlMaXN0Q29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmUsXG4gICAgVFNvcnQsXG4gICAgVENvdW50T3BlcmF0aW9uXG4gID47XG59O1xuXG5leHBvcnQgdHlwZSBEZWZpbmVCYWNrb2ZmaWNlUGlja2VySW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIFBpY2tlckZyYWdtZW50RGF0YSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4+ID0gT21pdDxcbiAgQmFja29mZmljZUVudGl0eVBpY2tlckNvbmZpZzxcbiAgICBUT3BlcmF0aW9uLFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIFBpY2tlckZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmVcbiAgPixcbiAgJ2J1aWxkUXVlcnlWYXJpYWJsZXMnXG4+ICYge1xuICBidWlsZFF1ZXJ5VmFyaWFibGVzPzogKFxuICAgIGlucHV0OiBCYWNrb2ZmaWNlUGlja2VyUXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmU+LFxuICApID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRDb25maWcgPSA8XG4gIGNvbnN0IENvbmZpZyBleHRlbmRzIEJhY2tvZmZpY2VEYXNoYm9hcmRDb25maWcsXG4+KFxuICBjb25maWc6IENvbmZpZyxcbik6IENvbmZpZyA9PiB7XG4gIHJldHVybiBjb25maWc7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZVF1ZXJ5ID0gPFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPihcbiAgbm9kZTogR3JhcGhRTFRhZ2dlZE5vZGUsXG4pOiBCYWNrb2ZmaWNlUXVlcnlTcGVjPFRPcGVyYXRpb24+ID0+IHtcbiAgcmV0dXJuIHsgbm9kZSB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VGcmFnbWVudCA9IDxUS2V5LCBURGF0YT4oXG4gIG5vZGU6IEdyYXBoUUxUYWdnZWROb2RlLFxuKTogQmFja29mZmljZUZyYWdtZW50U3BlYzxUS2V5LCBURGF0YT4gPT4ge1xuICByZXR1cm4geyBub2RlIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZVBhZ2luYXRpb25GcmFnbWVudCA9IDxcbiAgVFF1ZXJ5IGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVEtleSxcbiAgVERhdGEsXG4+KFxuICBub2RlOiBHcmFwaFFMVGFnZ2VkTm9kZSxcbik6IEJhY2tvZmZpY2VQYWdpbmF0aW9uRnJhZ21lbnRTcGVjPFRRdWVyeSwgVEtleSwgVERhdGE+ID0+IHtcbiAgcmV0dXJuIHsgbm9kZSB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldCA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4+KCkgPT4ge1xuICByZXR1cm4gPFxuICAgIGNvbnN0IFdpZGdldCBleHRlbmRzXG4gICAgICBBbnlEZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRJbnB1dDxUT3BlcmF0aW9uPixcbiAgPihcbiAgICB3aWRnZXQ6IFdpZGdldCxcbiAgKTogQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0PFdpZGdldFsna2luZCddPiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLndpZGdldCxcbiAgICAgIGRhdGFTb3VyY2U6ICdxdWVyeScsXG4gICAgfSBhcyB1bmtub3duIGFzIEJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxXaWRnZXRbJ2tpbmQnXT47XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldCA9IChcbiAgd2lkZ2V0OiBBbnlEZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0SW5wdXQsXG4pOiBFeHRyYWN0PEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXQsIHsgZGF0YVNvdXJjZTogJ3N0YXRpYycgfT4gPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLndpZGdldCxcbiAgICBkYXRhU291cmNlOiAnc3RhdGljJyxcbiAgfTtcbn07XG5cbmNvbnN0IGJ1aWxkU3RhbmRhcmRMaXN0VmFyaWFibGVzID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+KFxuICBpbnB1dDogQmFja29mZmljZUxpc3RRdWVyeUlucHV0PFRPcGVyYXRpb24sIFRXaGVyZSwgVFNvcnQ+LFxuKTogVE9wZXJhdGlvblsndmFyaWFibGVzJ10gPT4ge1xuICByZXR1cm4ge1xuICAgIHdoZXJlOiBpbnB1dC53aGVyZSxcbiAgICBzb3J0OiBpbnB1dC5zb3J0LFxuICAgIGNvdW50OiBpbnB1dC5jb3VudCxcbiAgICBjdXJzb3I6IGlucHV0LmN1cnNvcixcbiAgfTtcbn07XG5cbmNvbnN0IGJ1aWxkU3RhbmRhcmRQaWNrZXJWYXJpYWJsZXMgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4oXG4gIGlucHV0OiBCYWNrb2ZmaWNlUGlja2VyUXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmU+LFxuKTogVE9wZXJhdGlvblsndmFyaWFibGVzJ10gPT4ge1xuICBjb25zdCBzZWFyY2ggPSBpbnB1dC5zZWFyY2gudHJpbSgpO1xuICBsZXQgd2hlcmU6IFRXaGVyZSB8IG51bGwgPSBudWxsO1xuICBpZiAoaW5wdXQuc2NvcGUgIT0gbnVsbCkge1xuICAgIGNvbnN0IHNjb3BlZFdoZXJlID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXMoaW5wdXQuc2NvcGUpLmZpbHRlcigoWywgdmFsdWVdKSA9PiB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLnRyaW0oKSAhPT0gJyc7XG4gICAgICB9KSxcbiAgICApO1xuICAgIHdoZXJlID0gc2NvcGVkV2hlcmUgYXMgVFdoZXJlO1xuICB9XG4gIGxldCBzZWFyY2hWYXJpYWJsZTogc3RyaW5nIHwgbnVsbCA9IHNlYXJjaDtcbiAgaWYgKHNlYXJjaCA9PT0gJycpIHtcbiAgICBzZWFyY2hWYXJpYWJsZSA9IG51bGw7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB3aGVyZSxcbiAgICBzZWFyY2g6IHNlYXJjaFZhcmlhYmxlLFxuICAgIGNvdW50OiAyMCxcbiAgICBjdXJzb3I6IG51bGwsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZUNvbm5lY3Rpb25MaXN0ID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVENvdW50T3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbj4oKSA9PiB7XG4gIHJldHVybiA8Um93UmVmLCBSb3dWaWV3LCBMaXN0RnJhZ21lbnREYXRhPihcbiAgICBjb25maWc6IERlZmluZUJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdElucHV0PFxuICAgICAgU3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+LFxuICAgICAgUm93UmVmLFxuICAgICAgUm93VmlldyxcbiAgICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgICBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8U3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+PixcbiAgICAgIEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uPj4sXG4gICAgICBUQ291bnRPcGVyYXRpb25cbiAgICA+LFxuICApOiBCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3RDb25maWc8XG4gICAgU3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+LFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uPj4sXG4gICAgQmFja29mZmljZU9wZXJhdGlvblNvcnQ8U3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+PixcbiAgICBUQ291bnRPcGVyYXRpb25cbiAgPiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGtpbmQ6ICdjb25uZWN0aW9uJyxcbiAgICAgIGJ1aWxkUXVlcnlWYXJpYWJsZXM6XG4gICAgICAgIGNvbmZpZy5idWlsZFF1ZXJ5VmFyaWFibGVzID8/IGJ1aWxkU3RhbmRhcmRMaXN0VmFyaWFibGVzLFxuICAgIH07XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZUN1c3RvbUNvbm5lY3Rpb25MaXN0ID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVENvdW50T3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+KCkgPT4ge1xuICByZXR1cm4gPFJvd1JlZiwgUm93VmlldywgTGlzdEZyYWdtZW50RGF0YT4oXG4gICAgY29uZmlnOiBEZWZpbmVCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3RJbnB1dDxcbiAgICAgIFRPcGVyYXRpb24sXG4gICAgICBSb3dSZWYsXG4gICAgICBSb3dWaWV3LFxuICAgICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICAgIFRXaGVyZSxcbiAgICAgIFRTb3J0LFxuICAgICAgVENvdW50T3BlcmF0aW9uXG4gICAgPiAmIHtcbiAgICAgIGJ1aWxkUXVlcnlWYXJpYWJsZXM6IChcbiAgICAgICAgaW5wdXQ6IEJhY2tvZmZpY2VMaXN0UXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmUsIFRTb3J0PixcbiAgICAgICkgPT4gVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG4gICAgfSxcbiAgKTogQmFja29mZmljZUNvbm5lY3Rpb25MaXN0Q29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmUsXG4gICAgVFNvcnQsXG4gICAgVENvdW50T3BlcmF0aW9uXG4gID4gPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBraW5kOiAnY29ubmVjdGlvbicsXG4gICAgfTtcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlTGlzdEZhY2V0ID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVENvdW50T3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbj4oKSA9PiB7XG4gIHJldHVybiA8Um93UmVmLCBSb3dWaWV3LCBMaXN0RnJhZ21lbnREYXRhPihcbiAgICBjb25maWc6IERlZmluZUJhY2tvZmZpY2VMaXN0RmFjZXRJbnB1dDxcbiAgICAgIFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uPixcbiAgICAgIFJvd1JlZixcbiAgICAgIFJvd1ZpZXcsXG4gICAgICBMaXN0RnJhZ21lbnREYXRhLFxuICAgICAgQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uPj4sXG4gICAgICBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxTdHJpY3RTdGFuZGFyZExpc3RPcGVyYXRpb248VE9wZXJhdGlvbj4+LFxuICAgICAgVENvdW50T3BlcmF0aW9uXG4gICAgPixcbiAgKTogQmFja29mZmljZUxpc3RGYWNldENvbmZpZzxcbiAgICBTdHJpY3RTdGFuZGFyZExpc3RPcGVyYXRpb248VE9wZXJhdGlvbj4sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8U3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+PixcbiAgICBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxTdHJpY3RTdGFuZGFyZExpc3RPcGVyYXRpb248VE9wZXJhdGlvbj4+LFxuICAgIFRDb3VudE9wZXJhdGlvblxuICA+ID0+IHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VDdXN0b21MaXN0RmFjZXQgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUQ291bnRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4oKSA9PiB7XG4gIHJldHVybiA8Um93UmVmLCBSb3dWaWV3LCBMaXN0RnJhZ21lbnREYXRhPihcbiAgICBjb25maWc6IERlZmluZUJhY2tvZmZpY2VMaXN0RmFjZXRJbnB1dDxcbiAgICAgIFRPcGVyYXRpb24sXG4gICAgICBSb3dSZWYsXG4gICAgICBSb3dWaWV3LFxuICAgICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICAgIFRXaGVyZSxcbiAgICAgIFRTb3J0LFxuICAgICAgVENvdW50T3BlcmF0aW9uXG4gICAgPixcbiAgKTogQmFja29mZmljZUxpc3RGYWNldENvbmZpZzxcbiAgICBUT3BlcmF0aW9uLFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgVFdoZXJlLFxuICAgIFRTb3J0LFxuICAgIFRDb3VudE9wZXJhdGlvblxuICA+ID0+IHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VQaWNrZXIgPSA8VE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGU+KCkgPT4ge1xuICByZXR1cm4gPFJvd1JlZiwgUm93VmlldywgUGlja2VyRnJhZ21lbnREYXRhPihcbiAgICBjb25maWc6IERlZmluZUJhY2tvZmZpY2VQaWNrZXJJbnB1dDxcbiAgICAgIFN0cmljdFN0YW5kYXJkUGlja2VyT3BlcmF0aW9uPFRPcGVyYXRpb24+LFxuICAgICAgUm93UmVmLFxuICAgICAgUm93VmlldyxcbiAgICAgIFBpY2tlckZyYWdtZW50RGF0YVxuICAgID4sXG4gICk6IEJhY2tvZmZpY2VFbnRpdHlQaWNrZXJDb25maWc8XG4gICAgU3RyaWN0U3RhbmRhcmRQaWNrZXJPcGVyYXRpb248VE9wZXJhdGlvbj4sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgUGlja2VyRnJhZ21lbnREYXRhXG4gID4gPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBidWlsZFF1ZXJ5VmFyaWFibGVzOlxuICAgICAgICBjb25maWcuYnVpbGRRdWVyeVZhcmlhYmxlcyA/PyBidWlsZFN0YW5kYXJkUGlja2VyVmFyaWFibGVzLFxuICAgIH07XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZUN1c3RvbVBpY2tlciA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPigpID0+IHtcbiAgcmV0dXJuIDxSb3dSZWYsIFJvd1ZpZXcsIFBpY2tlckZyYWdtZW50RGF0YT4oXG4gICAgY29uZmlnOiBEZWZpbmVCYWNrb2ZmaWNlUGlja2VySW5wdXQ8XG4gICAgICBUT3BlcmF0aW9uLFxuICAgICAgUm93UmVmLFxuICAgICAgUm93VmlldyxcbiAgICAgIFBpY2tlckZyYWdtZW50RGF0YSxcbiAgICAgIFRXaGVyZVxuICAgID4gJiB7XG4gICAgICBidWlsZFF1ZXJ5VmFyaWFibGVzOiAoXG4gICAgICAgIGlucHV0OiBCYWNrb2ZmaWNlUGlja2VyUXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmU+LFxuICAgICAgKSA9PiBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXTtcbiAgICB9LFxuICApOiBCYWNrb2ZmaWNlRW50aXR5UGlja2VyQ29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgUGlja2VyRnJhZ21lbnREYXRhLFxuICAgIFRXaGVyZVxuICA+ID0+IHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VQaWNrZXJGYWNldCA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4+KCkgPT4ge1xuICByZXR1cm4gPFJvd1JlZiwgUm93VmlldywgUGlja2VyRnJhZ21lbnREYXRhPihcbiAgICBjb25maWc6IEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZzxcbiAgICAgIFN0cmljdFN0YW5kYXJkUGlja2VyT3BlcmF0aW9uPFRPcGVyYXRpb24+LFxuICAgICAgUm93UmVmLFxuICAgICAgUm93VmlldyxcbiAgICAgIFBpY2tlckZyYWdtZW50RGF0YVxuICAgID4sXG4gICk6IEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZzxcbiAgICBTdHJpY3RTdGFuZGFyZFBpY2tlck9wZXJhdGlvbjxUT3BlcmF0aW9uPixcbiAgICBSb3dSZWYsXG4gICAgUm93VmlldyxcbiAgICBQaWNrZXJGcmFnbWVudERhdGFcbiAgPiA9PiB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlQ3VzdG9tUGlja2VyRmFjZXQgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4oKSA9PiB7XG4gIHJldHVybiA8Um93UmVmLCBSb3dWaWV3LCBQaWNrZXJGcmFnbWVudERhdGE+KFxuICAgIGNvbmZpZzogQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnPFxuICAgICAgVE9wZXJhdGlvbixcbiAgICAgIFJvd1JlZixcbiAgICAgIFJvd1ZpZXcsXG4gICAgICBQaWNrZXJGcmFnbWVudERhdGEsXG4gICAgICBUV2hlcmVcbiAgICA+LFxuICApOiBCYWNrb2ZmaWNlUGlja2VyRmFjZXRDb25maWc8XG4gICAgVE9wZXJhdGlvbixcbiAgICBSb3dSZWYsXG4gICAgUm93VmlldyxcbiAgICBQaWNrZXJGcmFnbWVudERhdGEsXG4gICAgVFdoZXJlXG4gID4gPT4ge1xuICAgIHJldHVybiBjb25maWc7XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZVJlbGF0aW9uRmlsdGVyID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4+KCkgPT4ge1xuICByZXR1cm4gKFxuICAgIHJlbGF0aW9uOiBCYWNrb2ZmaWNlUmVsYXRpb25GaWx0ZXJTcGVjPFRPcGVyYXRpb24sIFRXaGVyZT4sXG4gICk6IEJhY2tvZmZpY2VSZWxhdGlvbkZpbHRlclNwZWM8VE9wZXJhdGlvbiwgVFdoZXJlPiA9PiB7XG4gICAgcmV0dXJuIHJlbGF0aW9uO1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VFbnRpdHlDb3VudCA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPigpID0+IHtcbiAgcmV0dXJuIChcbiAgICBjb3VudDogT21pdDxcbiAgICAgIEJhY2tvZmZpY2VFbnRpdHlDb3VudENvbmZpZzxUT3BlcmF0aW9uLCBUV2hlcmU+LFxuICAgICAgJ2J1aWxkVmFyaWFibGVzJyB8ICdnZXRDb3VudCdcbiAgICA+ICYge1xuICAgICAgYnVpbGRWYXJpYWJsZXM6IChcbiAgICAgICAgaW5wdXQ6IEJhY2tvZmZpY2VDb3VudFF1ZXJ5SW5wdXQ8VFdoZXJlPixcbiAgICAgICkgPT4gVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG4gICAgICBnZXRDb3VudDogKGRhdGE6IFRPcGVyYXRpb25bJ3Jlc3BvbnNlJ10pID0+IG51bWJlciB8IG51bGw7XG4gICAgfSxcbiAgKTogQmFja29mZmljZUVudGl0eUNvdW50Q29uZmlnPFRPcGVyYXRpb24sIFRXaGVyZT4gPT4ge1xuICAgIHJldHVybiBjb3VudDtcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlRmlsdGVycyA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuPigpID0+IHtcbiAgcmV0dXJuIDxjb25zdCBGaWx0ZXJzIGV4dGVuZHMgcmVhZG9ubHkgQmFja29mZmljZUZpbHRlclNwZWM8VFdoZXJlPltdPihcbiAgICBmaWx0ZXJzOiBGaWx0ZXJzLFxuICApOiBGaWx0ZXJzID0+IHtcbiAgICByZXR1cm4gZmlsdGVycztcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlU29ydHMgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuPigpID0+IHtcbiAgcmV0dXJuIDxjb25zdCBTb3J0cyBleHRlbmRzIHJlYWRvbmx5IEJhY2tvZmZpY2VTb3J0U3BlYzxUU29ydD5bXT4oXG4gICAgc29ydHM6IFNvcnRzLFxuICApOiBTb3J0cyA9PiB7XG4gICAgcmV0dXJuIHNvcnRzO1xuICB9O1xufTtcblxudHlwZSBGaWx0ZXJDb25maWcgPSB7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIHBsYWNlbWVudD86IEJhY2tvZmZpY2VGaWx0ZXJQbGFjZW1lbnQ7XG4gIHBhdGg/OiByZWFkb25seSBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCBjb25zdCBlbnRpdHlJZEZpbHRlciA9IDxXaGVyZSwgS2V5IGV4dGVuZHMgU3RyaW5nRmllbGRLZXk8V2hlcmU+PihcbiAga2V5OiBLZXksXG4gIGNvbmZpZzogRmlsdGVyQ29uZmlnICYgeyBlbnRpdHk6IHN0cmluZyB9LFxuKTogQmFja29mZmljZUZpbHRlclNwZWM8V2hlcmU+ID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpZDoga2V5LFxuICAgIGtpbmQ6ICdlbnRpdHlJZCcsXG4gICAgZW50aXR5OiBjb25maWcuZW50aXR5LFxuICAgIGxhYmVsOiBjb25maWcubGFiZWwsXG4gICAgcGxhY2VtZW50OiBjb25maWcucGxhY2VtZW50LFxuICAgIHdoZXJlS2V5OiBrZXksXG4gICAgcGF0aDogY29uZmlnLnBhdGgsXG4gICAgdG9HcmFwaFFMOiAodmFsdWUpID0+IHtcbiAgICAgIHJldHVybiB7IFtrZXldOiB2YWx1ZSB9IGFzIFBhcnRpYWw8V2hlcmU+O1xuICAgIH0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgdGV4dEZpbHRlciA9IDxXaGVyZSwgS2V5IGV4dGVuZHMgU3RyaW5nRmllbGRLZXk8V2hlcmU+PihcbiAga2V5OiBLZXksXG4gIGNvbmZpZzogRmlsdGVyQ29uZmlnICYge1xuICAgIHBsYWNlaG9sZGVyTGFiZWw/OiBJMThuTGFiZWw7XG4gICAgcGxhY2Vob2xkZXJUZXh0PzogSTE4bkxhYmVsO1xuICB9LFxuKTogQmFja29mZmljZUZpbHRlclNwZWM8V2hlcmU+ID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpZDoga2V5LFxuICAgIGtpbmQ6ICd0ZXh0JyxcbiAgICBsYWJlbDogY29uZmlnLmxhYmVsLFxuICAgIHBsYWNlbWVudDogY29uZmlnLnBsYWNlbWVudCxcbiAgICB3aGVyZUtleToga2V5LFxuICAgIHBhdGg6IGNvbmZpZy5wYXRoLFxuICAgIHBsYWNlaG9sZGVyTGFiZWw6IGNvbmZpZy5wbGFjZWhvbGRlckxhYmVsLFxuICAgIHBsYWNlaG9sZGVyVGV4dDogY29uZmlnLnBsYWNlaG9sZGVyVGV4dCxcbiAgICB0b0dyYXBoUUw6ICh2YWx1ZSkgPT4ge1xuICAgICAgcmV0dXJuIHsgW2tleV06IHZhbHVlIH0gYXMgUGFydGlhbDxXaGVyZT47XG4gICAgfSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkYXRldGltZUZpbHRlciA9IDxXaGVyZSwgS2V5IGV4dGVuZHMgU3RyaW5nRmllbGRLZXk8V2hlcmU+PihcbiAga2V5OiBLZXksXG4gIGNvbmZpZzogRmlsdGVyQ29uZmlnICYge1xuICAgIG1vZGU/OiAnZnJvbScgfCAndG8nIHwgJ2V4YWN0JztcbiAgICBwbGFjZWhvbGRlckxhYmVsPzogSTE4bkxhYmVsO1xuICAgIHBsYWNlaG9sZGVyVGV4dD86IEkxOG5MYWJlbDtcbiAgfSxcbik6IEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFdoZXJlPiA9PiB7XG4gIHJldHVybiB7XG4gICAgaWQ6IGtleSxcbiAgICBraW5kOiAnZGF0ZXRpbWUnLFxuICAgIGxhYmVsOiBjb25maWcubGFiZWwsXG4gICAgcGxhY2VtZW50OiBjb25maWcucGxhY2VtZW50LFxuICAgIHdoZXJlS2V5OiBrZXksXG4gICAgcGF0aDogY29uZmlnLnBhdGgsXG4gICAgbW9kZTogY29uZmlnLm1vZGUsXG4gICAgcGxhY2Vob2xkZXJMYWJlbDogY29uZmlnLnBsYWNlaG9sZGVyTGFiZWwsXG4gICAgcGxhY2Vob2xkZXJUZXh0OiBjb25maWcucGxhY2Vob2xkZXJUZXh0LFxuICAgIHRvR3JhcGhRTDogKHZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4geyBba2V5XTogdmFsdWUgfSBhcyBQYXJ0aWFsPFdoZXJlPjtcbiAgICB9LFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG51bWJlckZpbHRlciA9IDxXaGVyZSwgS2V5IGV4dGVuZHMgTnVtYmVyRmllbGRLZXk8V2hlcmU+PihcbiAga2V5OiBLZXksXG4gIGNvbmZpZzogRmlsdGVyQ29uZmlnICYge1xuICAgIHBsYWNlaG9sZGVyTGFiZWw/OiBJMThuTGFiZWw7XG4gICAgcGxhY2Vob2xkZXJUZXh0PzogSTE4bkxhYmVsO1xuICAgIGlucHV0TW9kZT86ICdudW1lcmljJyB8ICdkZWNpbWFsJztcbiAgfSxcbik6IEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFdoZXJlPiA9PiB7XG4gIHJldHVybiB7XG4gICAgaWQ6IGtleSxcbiAgICBraW5kOiAnbnVtYmVyJyxcbiAgICBsYWJlbDogY29uZmlnLmxhYmVsLFxuICAgIHBsYWNlbWVudDogY29uZmlnLnBsYWNlbWVudCxcbiAgICB3aGVyZUtleToga2V5LFxuICAgIHBhdGg6IGNvbmZpZy5wYXRoLFxuICAgIHBsYWNlaG9sZGVyTGFiZWw6IGNvbmZpZy5wbGFjZWhvbGRlckxhYmVsLFxuICAgIHBsYWNlaG9sZGVyVGV4dDogY29uZmlnLnBsYWNlaG9sZGVyVGV4dCxcbiAgICBpbnB1dE1vZGU6IGNvbmZpZy5pbnB1dE1vZGUsXG4gICAgdG9HcmFwaFFMOiAodmFsdWUpID0+IHtcbiAgICAgIHJldHVybiB7IFtrZXldOiB2YWx1ZSB9IGFzIFBhcnRpYWw8V2hlcmU+O1xuICAgIH0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZW51bUZpbHRlciA9IDxXaGVyZSwgS2V5IGV4dGVuZHMgU3RyaW5nRmllbGRLZXk8V2hlcmU+PihcbiAga2V5OiBLZXksXG4gIGNvbmZpZzogRmlsdGVyQ29uZmlnICYge1xuICAgIG9wdGlvbnM6IHJlYWRvbmx5IEV4dHJhY3Q8Tm9uTnVsbGFibGU8V2hlcmVbS2V5XT4sIHN0cmluZz5bXTtcbiAgfSxcbik6IEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFdoZXJlPiA9PiB7XG4gIHJldHVybiB7XG4gICAgaWQ6IGtleSxcbiAgICBraW5kOiAnZW51bScsXG4gICAgbGFiZWw6IGNvbmZpZy5sYWJlbCxcbiAgICBwbGFjZW1lbnQ6IGNvbmZpZy5wbGFjZW1lbnQsXG4gICAgd2hlcmVLZXk6IGtleSxcbiAgICBwYXRoOiBjb25maWcucGF0aCxcbiAgICBvcHRpb25zOiBjb25maWcub3B0aW9ucy5tYXAoKHZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgbGFiZWw6ICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0pLFxuICAgIHRvR3JhcGhRTDogKHZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4geyBba2V5XTogdmFsdWUgfSBhcyBQYXJ0aWFsPFdoZXJlPjtcbiAgICB9LFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGJvb2xlYW5GaWx0ZXIgPSA8V2hlcmUsIEtleSBleHRlbmRzIEJvb2xlYW5GaWVsZEtleTxXaGVyZT4+KFxuICBrZXk6IEtleSxcbiAgY29uZmlnOiBGaWx0ZXJDb25maWcgJiB7XG4gICAgdHJ1ZUxhYmVsPzogSTE4bkxhYmVsO1xuICAgIGZhbHNlTGFiZWw/OiBJMThuTGFiZWw7XG4gIH0sXG4pOiBCYWNrb2ZmaWNlRmlsdGVyU3BlYzxXaGVyZT4gPT4ge1xuICByZXR1cm4ge1xuICAgIGlkOiBrZXksXG4gICAga2luZDogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiBjb25maWcubGFiZWwsXG4gICAgcGxhY2VtZW50OiBjb25maWcucGxhY2VtZW50LFxuICAgIHdoZXJlS2V5OiBrZXksXG4gICAgcGF0aDogY29uZmlnLnBhdGgsXG4gICAgdHJ1ZUxhYmVsOiBjb25maWcudHJ1ZUxhYmVsLFxuICAgIGZhbHNlTGFiZWw6IGNvbmZpZy5mYWxzZUxhYmVsLFxuICAgIHRvR3JhcGhRTDogKHZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4geyBba2V5XTogdmFsdWUgfSBhcyBQYXJ0aWFsPFdoZXJlPjtcbiAgICB9LFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGN1c3RvbUZpbHRlciA9IDxXaGVyZSwgVmFsdWU+KFxuICBmaWx0ZXI6IEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFdoZXJlPiAmIHtcbiAgICB0b0dyYXBoUUw6ICh2YWx1ZTogVmFsdWUpID0+IFBhcnRpYWw8V2hlcmU+O1xuICB9LFxuKTogQmFja29mZmljZUZpbHRlclNwZWM8V2hlcmU+ID0+IHtcbiAgcmV0dXJuIGZpbHRlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlVG9vbEVudGl0eSA9IDxcbiAgVCBleHRlbmRzIEJhY2tvZmZpY2VUb29sRW50aXR5Q29uZmlnLFxuPihcbiAgY29uZmlnOiBULFxuKTogVCA9PiB7XG4gIHJldHVybiBjb25maWc7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRGV0YWlsTGF5b3V0RmFjZXQgPSA8XG4gIFQgZXh0ZW5kcyBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWcsXG4+KFxuICBjb25maWc6IFQsXG4pOiBUID0+IHtcbiAgcmV0dXJuIGNvbmZpZztcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEZXRhaWxQYWdlRmFjZXQgPSA8XG4gIFQgZXh0ZW5kcyBCYWNrb2ZmaWNlRGV0YWlsUGFnZUZhY2V0Q29uZmlnLFxuPihcbiAgY29uZmlnOiBULFxuKTogVCA9PiB7XG4gIHJldHVybiBjb25maWc7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lRGV0YWlsQmxvY2tzID0gPE5vZGU+KCkgPT4ge1xuICByZXR1cm4gPFxuICAgIGNvbnN0IEJsb2NrcyBleHRlbmRzIHJlYWRvbmx5IEJhY2tvZmZpY2VTZW1hbnRpY0RldGFpbEJsb2NrU3BlYzxOb2RlPltdLFxuICA+KFxuICAgIGJsb2NrczogQmxvY2tzLFxuICApOiBCbG9ja3MgPT4ge1xuICAgIHJldHVybiBibG9ja3M7XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lU3VtbWFyeUJsb2NrID0gPE5vZGU+KFxuICBibG9jazogQmFja29mZmljZVN1bW1hcnlCbG9ja1NwZWM8Tm9kZT4sXG4pOiBCYWNrb2ZmaWNlU3VtbWFyeUJsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVNZXRyaWNHcm91cCA9IDxOb2RlPihcbiAgYmxvY2s6IEJhY2tvZmZpY2VNZXRyaWNHcm91cEJsb2NrU3BlYzxOb2RlPixcbik6IEJhY2tvZmZpY2VNZXRyaWNHcm91cEJsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVTdGF0ZUdyb3VwID0gPE5vZGU+KFxuICBibG9jazogQmFja29mZmljZVN0YXRlR3JvdXBCbG9ja1NwZWM8Tm9kZT4sXG4pOiBCYWNrb2ZmaWNlU3RhdGVHcm91cEJsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVDb250ZXh0U3RhY2sgPSA8Tm9kZT4oXG4gIGJsb2NrOiBCYWNrb2ZmaWNlQ29udGV4dFN0YWNrQmxvY2tTcGVjPE5vZGU+LFxuKTogQmFja29mZmljZUNvbnRleHRTdGFja0Jsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVSZWxhdGlvbkdyb3VwID0gPE5vZGU+KFxuICBibG9jazogQmFja29mZmljZVJlbGF0aW9uR3JvdXBCbG9ja1NwZWM8Tm9kZT4sXG4pOiBCYWNrb2ZmaWNlUmVsYXRpb25Hcm91cEJsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVUaW1lbGluZSA9IDxOb2RlPihcbiAgYmxvY2s6IEJhY2tvZmZpY2VUaW1lbGluZUJsb2NrU3BlYzxOb2RlPixcbik6IEJhY2tvZmZpY2VUaW1lbGluZUJsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVBdWRpdCA9IDxOb2RlPihcbiAgYmxvY2s6IEJhY2tvZmZpY2VBdWRpdEJsb2NrU3BlYzxOb2RlPixcbik6IEJhY2tvZmZpY2VBdWRpdEJsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVSZWZlcmVuY2VHcm91cCA9IDxOb2RlPihcbiAgYmxvY2s6IEJhY2tvZmZpY2VSZWZlcmVuY2VHcm91cEJsb2NrU3BlYzxOb2RlPixcbik6IEJhY2tvZmZpY2VSZWZlcmVuY2VHcm91cEJsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVQYXlsb2FkID0gPE5vZGU+KFxuICBibG9jazogQmFja29mZmljZVBheWxvYWRCbG9ja1NwZWM8Tm9kZT4sXG4pOiBCYWNrb2ZmaWNlUGF5bG9hZEJsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVUZWNobmljYWxGYWN0cyA9IDxOb2RlPihcbiAgYmxvY2s6IEJhY2tvZmZpY2VUZWNobmljYWxGYWN0c0Jsb2NrU3BlYzxOb2RlPixcbik6IEJhY2tvZmZpY2VUZWNobmljYWxGYWN0c0Jsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVUb29sRmFjZXQgPSA8VCBleHRlbmRzIEJhY2tvZmZpY2VUb29sRmFjZXRDb25maWc+KFxuICBjb25maWc6IFQsXG4pOiBUID0+IHtcbiAgcmV0dXJuIGNvbmZpZztcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVMaXN0RGV0YWlsTWFuaWZlc3QgPSA8XG4gIFRGYWNldHMgZXh0ZW5kcyBCYWNrb2ZmaWNlTGlzdERldGFpbEZhY2V0TG9hZGVyTWFwLFxuICBUQ29uZmlnIGV4dGVuZHMgT21pdDxCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtLCAna2luZCcgfCAnZmFjZXRzJz4gJiB7XG4gICAgZmFjZXRzOiBURmFjZXRzO1xuICB9LFxuPihcbiAgY29uZmlnOiBUQ29uZmlnLFxuKTogVENvbmZpZyAmIHsga2luZDogJ2xpc3QtZGV0YWlsJyB9ID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5jb25maWcsXG4gICAga2luZDogJ2xpc3QtZGV0YWlsJyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVUb29sTWFuaWZlc3QgPSA8XG4gIFRGYWNldHMgZXh0ZW5kcyBCYWNrb2ZmaWNlVG9vbEZhY2V0TG9hZGVyTWFwLFxuICBUQ29uZmlnIGV4dGVuZHMgT21pdDxcbiAgICBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtLFxuICAgICdraW5kJyB8ICdoYXNMaXN0JyB8ICdkZXRhaWxQYWdlcycgfCAnZGVmYXVsdERldGFpbFBhZ2VJZCcgfCAnZmFjZXRzJ1xuICA+ICYge1xuICAgIGZhY2V0czogVEZhY2V0cztcbiAgfSxcbj4oXG4gIGNvbmZpZzogVENvbmZpZyxcbik6IFRDb25maWcgJiB7XG4gIGtpbmQ6ICd0b29sJztcbiAgaGFzTGlzdDogZmFsc2U7XG4gIGRldGFpbFBhZ2VzOiB1bmRlZmluZWQ7XG4gIGRlZmF1bHREZXRhaWxQYWdlSWQ6IHVuZGVmaW5lZDtcbn0gPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmNvbmZpZyxcbiAgICBraW5kOiAndG9vbCcsXG4gICAgaGFzTGlzdDogZmFsc2UsXG4gICAgZGV0YWlsUGFnZXM6IHVuZGVmaW5lZCxcbiAgICBkZWZhdWx0RGV0YWlsUGFnZUlkOiB1bmRlZmluZWQsXG4gIH07XG59O1xuIl19
301
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBME5BLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLENBRzdDLE1BQWMsRUFDTixFQUFFO0lBQ1YsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FDbkMsSUFBdUIsRUFDVSxFQUFFO0lBQ25DLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxJQUF1QixFQUNjLEVBQUU7SUFDdkMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLENBS2hELElBQXVCLEVBQ2dDLEVBQUU7SUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLEdBRWhELEVBQUU7SUFDSixPQUFPLENBSUwsTUFBYyxFQUNrQyxFQUFFO1FBQ2xELE9BQU87WUFDTCxHQUFHLE1BQU07WUFDVCxVQUFVLEVBQUUsT0FBTztTQUN5QyxDQUFDO0lBQ2pFLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLENBQ25ELE1BQXFELEVBQ1MsRUFBRTtJQUNoRSxPQUFPO1FBQ0wsR0FBRyxNQUFNO1FBQ1QsVUFBVSxFQUFFLFFBQVE7S0FDckIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLENBQ2pELElBQVksRUFDbUIsRUFBRTtJQUNqQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU07UUFDWixJQUFJO0tBQ0wsQ0FBQztBQUNK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QUU7SUFDckMsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FDekIsS0FBcUMsRUFDTCxFQUFFO0lBQ2xDLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FDbEMsS0FBOEMsRUFDTCxFQUFFO0lBQzNDLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQzNCLEtBQXVDLEVBQ0wsRUFBRTtJQUNwQyxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQ2xDLEtBQThDLEVBQ0wsRUFBRTtJQUMzQyxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUM3QixNQUFTLEVBQ04sRUFBRTtJQUNMLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBTXRDLE1BQWUsRUFDb0IsRUFBRTtJQUNyQyxPQUFPO1FBQ0wsR0FBRyxNQUFNO1FBQ1QsSUFBSSxFQUFFLGFBQWE7S0FDcEIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBU2hDLE1BQWUsRUFNZixFQUFFO0lBQ0YsT0FBTztRQUNMLEdBQUcsTUFBTTtRQUNULElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFLEtBQUs7UUFDZCxXQUFXLEVBQUUsU0FBUztRQUN0QixtQkFBbUIsRUFBRSxTQUFTO0tBQy9CLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEdyYXBoUUxUYWdnZWROb2RlLCBPcGVyYXRpb25UeXBlIH0gZnJvbSAncmVsYXktcnVudGltZSc7XG5pbXBvcnQgdHlwZSB7XG4gIEJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdENvbmZpZyxcbiAgQmFja29mZmljZUF1ZGl0QmxvY2tTcGVjLFxuICBCYWNrb2ZmaWNlQ291bnRRdWVyeUlucHV0LFxuICBCYWNrb2ZmaWNlQ29udGV4dFN0YWNrQmxvY2tTcGVjLFxuICBCYWNrb2ZmaWNlRGFzaGJvYXJkQ29uZmlnLFxuICBCYWNrb2ZmaWNlRGFzaGJvYXJkQ29udGV4dCxcbiAgQmFja29mZmljZURhc2hib2FyZEVudGl0eUxpc3RUYXJnZXQsXG4gIEJhY2tvZmZpY2VEYXNoYm9hcmRIcmVmVGFyZ2V0LFxuICBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0VmFyaWFibGVzLFxuICBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0LFxuICBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWcsXG4gIEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRDb25maWcsXG4gIEJhY2tvZmZpY2VNZXRyaWNHcm91cEJsb2NrU3BlYyxcbiAgQmFja29mZmljZVBheWxvYWRCbG9ja1NwZWMsXG4gIEJhY2tvZmZpY2VSZWZlcmVuY2VHcm91cEJsb2NrU3BlYyxcbiAgQmFja29mZmljZVJlbGF0aW9uR3JvdXBCbG9ja1NwZWMsXG4gIEJhY2tvZmZpY2VTZW1hbnRpY0RldGFpbEJsb2NrU3BlYyxcbiAgQmFja29mZmljZVN0YXRlR3JvdXBCbG9ja1NwZWMsXG4gIEJhY2tvZmZpY2VTdW1tYXJ5QmxvY2tTcGVjLFxuICBCYWNrb2ZmaWNlVGVjaG5pY2FsRmFjdHNCbG9ja1NwZWMsXG4gIEJhY2tvZmZpY2VUaW1lbGluZUJsb2NrU3BlYyxcbiAgQmFja29mZmljZUVudGl0eUxpc3RDb25maWcsXG4gIEJhY2tvZmZpY2VFbnRpdHlDb3VudENvbmZpZyxcbiAgQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbSxcbiAgQmFja29mZmljZUVudGl0eVBpY2tlckNvbmZpZyxcbiAgQmFja29mZmljZUZpbHRlclBsYWNlbWVudCxcbiAgQmFja29mZmljZUZpbHRlclNwZWMsXG4gIEJhY2tvZmZpY2VGcmFnbWVudFNwZWMsXG4gIEJhY2tvZmZpY2VMaXN0RGV0YWlsRmFjZXRMb2FkZXJNYXAsXG4gIEJhY2tvZmZpY2VMaXN0RmFjZXRDb25maWcsXG4gIEJhY2tvZmZpY2VMaXN0UXVlcnlJbnB1dCxcbiAgQmFja29mZmljZU9wZXJhdGlvblNvcnQsXG4gIEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZSxcbiAgQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnLFxuICBCYWNrb2ZmaWNlUGlja2VyUXVlcnlJbnB1dCxcbiAgQmFja29mZmljZVBhZ2luYXRpb25GcmFnbWVudFNwZWMsXG4gIEJhY2tvZmZpY2VRdWVyeVNwZWMsXG4gIEJhY2tvZmZpY2VSZWxhdGlvbkZpbHRlclNwZWMsXG4gIEJhY2tvZmZpY2VTb3J0U3BlYyxcbiAgQmFja29mZmljZVRvb2xFbnRpdHlDb25maWcsXG4gIEJhY2tvZmZpY2VUb29sRmFjZXRDb25maWcsXG4gIEJhY2tvZmZpY2VUb29sRmFjZXRMb2FkZXJNYXAsXG4gIEkxOG5MYWJlbCxcbn0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgRmllbGRLZXlPZlR5cGU8V2hlcmUsIFZhbHVlPiA9IEV4dHJhY3Q8XG4gIHtcbiAgICBbS2V5IGluIGtleW9mIFdoZXJlXTogTm9uTnVsbGFibGU8V2hlcmVbS2V5XT4gZXh0ZW5kcyBWYWx1ZSA/IEtleSA6IG5ldmVyO1xuICB9W2tleW9mIFdoZXJlXSxcbiAgc3RyaW5nXG4+O1xuXG50eXBlIFN0cmluZ0ZpZWxkS2V5PFdoZXJlPiA9IEZpZWxkS2V5T2ZUeXBlPFdoZXJlLCBzdHJpbmc+O1xudHlwZSBCb29sZWFuRmllbGRLZXk8V2hlcmU+ID0gRmllbGRLZXlPZlR5cGU8V2hlcmUsIGJvb2xlYW4+O1xudHlwZSBOdW1iZXJGaWVsZEtleTxXaGVyZT4gPSBGaWVsZEtleU9mVHlwZTxXaGVyZSwgbnVtYmVyPjtcblxudHlwZSBTdGFuZGFyZExpc3RWYXJpYWJsZXM8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIHdoZXJlPzogVFdoZXJlIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgc29ydD86IFRTb3J0IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgY291bnQ6IG51bWJlcjtcbiAgY3Vyc29yPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbn07XG5cbnR5cGUgU3RhbmRhcmRQaWNrZXJWYXJpYWJsZXM8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIHdoZXJlPzogVFdoZXJlIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgY291bnQ6IG51bWJlcjtcbiAgY3Vyc29yPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbn07XG5cbnR5cGUgU3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPiA9XG4gIFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddIGV4dGVuZHMgU3RhbmRhcmRMaXN0VmFyaWFibGVzPFRPcGVyYXRpb24+XG4gICAgPyBUT3BlcmF0aW9uXG4gICAgOiBuZXZlcjtcblxudHlwZSBTdHJpY3RTdGFuZGFyZFBpY2tlck9wZXJhdGlvbjxUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZT4gPVxuICBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXSBleHRlbmRzIFN0YW5kYXJkUGlja2VyVmFyaWFibGVzPFRPcGVyYXRpb24+XG4gICAgPyBUT3BlcmF0aW9uXG4gICAgOiBuZXZlcjtcblxudHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRLaW5kID0gRXh0cmFjdDxcbiAgQmFja29mZmljZURhc2hib2FyZFdpZGdldCxcbiAgeyBkYXRhU291cmNlOiAncXVlcnknIH1cbj5bJ2tpbmQnXTtcblxudHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0S2luZCA9IEV4dHJhY3Q8XG4gIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXQsXG4gIHsgZGF0YVNvdXJjZTogJ3N0YXRpYycgfVxuPlsna2luZCddO1xuXG50eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxcbiAgS2luZCBleHRlbmRzIEJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldEtpbmQsXG4+ID0gRXh0cmFjdDxCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0LCB7IGRhdGFTb3VyY2U6ICdxdWVyeSc7IGtpbmQ6IEtpbmQgfT47XG5cbnR5cGUgQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldDxcbiAgS2luZCBleHRlbmRzIEJhY2tvZmZpY2VEYXNoYm9hcmRTdGF0aWNXaWRnZXRLaW5kLFxuPiA9IEV4dHJhY3Q8QmFja29mZmljZURhc2hib2FyZFdpZGdldCwgeyBkYXRhU291cmNlOiAnc3RhdGljJzsga2luZDogS2luZCB9PjtcblxudHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRSZXN1bHQ8XG4gIEtpbmQgZXh0ZW5kcyBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRLaW5kLFxuPiA9IFJldHVyblR5cGU8QmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0PEtpbmQ+WydyZXNvbHZlJ10+O1xuXG5leHBvcnQgdHlwZSBEZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRJbnB1dDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIEtpbmQgZXh0ZW5kcyBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRLaW5kLFxuPiA9IE9taXQ8XG4gIEJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldDxLaW5kPixcbiAgJ2RhdGFTb3VyY2UnIHwgJ3ZhcmlhYmxlcycgfCAncmVzb2x2ZSdcbj4gJiB7XG4gIHZhcmlhYmxlczogQmFja29mZmljZURhc2hib2FyZFdpZGdldFZhcmlhYmxlczxUT3BlcmF0aW9uPjtcbiAgcmVzb2x2ZTogKFxuICAgIGRhdGE6IFRPcGVyYXRpb25bJ3Jlc3BvbnNlJ10sXG4gICAgY29udGV4dDogQmFja29mZmljZURhc2hib2FyZENvbnRleHQsXG4gICkgPT4gQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0UmVzdWx0PEtpbmQ+O1xufTtcblxudHlwZSBBbnlEZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRJbnB1dDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4+ID0ge1xuICBbS2luZCBpbiBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXRLaW5kXTogRGVmaW5lQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0SW5wdXQ8XG4gICAgVE9wZXJhdGlvbixcbiAgICBLaW5kXG4gID47XG59W0JhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldEtpbmRdO1xuXG5leHBvcnQgdHlwZSBEZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0SW5wdXQ8XG4gIEtpbmQgZXh0ZW5kcyBCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0S2luZCxcbj4gPSBPbWl0PEJhY2tvZmZpY2VEYXNoYm9hcmRTdGF0aWNXaWRnZXQ8S2luZD4sICdkYXRhU291cmNlJz47XG5cbnR5cGUgQW55RGVmaW5lQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldElucHV0ID0ge1xuICBbS2luZCBpbiBCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0S2luZF06IERlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRTdGF0aWNXaWRnZXRJbnB1dDxLaW5kPjtcbn1bQmFja29mZmljZURhc2hib2FyZFN0YXRpY1dpZGdldEtpbmRdO1xuXG5leHBvcnQgdHlwZSBEZWZpbmVCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3RJbnB1dDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgTGlzdEZyYWdtZW50RGF0YSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4gIFRDb3VudE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUgPSBhbnksXG4+ID0gT21pdDxcbiAgQmFja29mZmljZUNvbm5lY3Rpb25MaXN0Q29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmUsXG4gICAgVFNvcnQsXG4gICAgVENvdW50T3BlcmF0aW9uXG4gID4sXG4gICdraW5kJyB8ICdidWlsZFF1ZXJ5VmFyaWFibGVzJ1xuPiAmIHtcbiAgYnVpbGRRdWVyeVZhcmlhYmxlcz86IChcbiAgICBpbnB1dDogQmFja29mZmljZUxpc3RRdWVyeUlucHV0PFRPcGVyYXRpb24sIFRXaGVyZSwgVFNvcnQ+LFxuICApID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddO1xufTtcblxuZXhwb3J0IHR5cGUgRGVmaW5lQmFja29mZmljZUxpc3RGYWNldElucHV0PFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBMaXN0RnJhZ21lbnREYXRhLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbiAgVENvdW50T3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSA9IGFueSxcbj4gPSBPbWl0PFxuICBCYWNrb2ZmaWNlTGlzdEZhY2V0Q29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmUsXG4gICAgVFNvcnQsXG4gICAgVENvdW50T3BlcmF0aW9uXG4gID4sXG4gICdsaXN0J1xuPiAmIHtcbiAgbGlzdDogQmFja29mZmljZUVudGl0eUxpc3RDb25maWc8XG4gICAgVE9wZXJhdGlvbixcbiAgICBSb3dSZWYsXG4gICAgUm93VmlldyxcbiAgICBMaXN0RnJhZ21lbnREYXRhLFxuICAgIFRXaGVyZSxcbiAgICBUU29ydCxcbiAgICBUQ291bnRPcGVyYXRpb25cbiAgPjtcbn07XG5cbmV4cG9ydCB0eXBlIERlZmluZUJhY2tvZmZpY2VQaWNrZXJJbnB1dDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgUGlja2VyRnJhZ21lbnREYXRhLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4gPSBPbWl0PFxuICBCYWNrb2ZmaWNlRW50aXR5UGlja2VyQ29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgUGlja2VyRnJhZ21lbnREYXRhLFxuICAgIFRXaGVyZVxuICA+LFxuICAnYnVpbGRRdWVyeVZhcmlhYmxlcydcbj4gJiB7XG4gIGJ1aWxkUXVlcnlWYXJpYWJsZXM/OiAoXG4gICAgaW5wdXQ6IEJhY2tvZmZpY2VQaWNrZXJRdWVyeUlucHV0PFRPcGVyYXRpb24sIFRXaGVyZT4sXG4gICkgPT4gVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZURhc2hib2FyZENvbmZpZyA9IDxcbiAgY29uc3QgQ29uZmlnIGV4dGVuZHMgQmFja29mZmljZURhc2hib2FyZENvbmZpZyxcbj4oXG4gIGNvbmZpZzogQ29uZmlnLFxuKTogQ29uZmlnID0+IHtcbiAgcmV0dXJuIGNvbmZpZztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlUXVlcnkgPSA8VE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGU+KFxuICBub2RlOiBHcmFwaFFMVGFnZ2VkTm9kZSxcbik6IEJhY2tvZmZpY2VRdWVyeVNwZWM8VE9wZXJhdGlvbj4gPT4ge1xuICByZXR1cm4geyBub2RlIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZUZyYWdtZW50ID0gPFRLZXksIFREYXRhPihcbiAgbm9kZTogR3JhcGhRTFRhZ2dlZE5vZGUsXG4pOiBCYWNrb2ZmaWNlRnJhZ21lbnRTcGVjPFRLZXksIFREYXRhPiA9PiB7XG4gIHJldHVybiB7IG5vZGUgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlUGFnaW5hdGlvbkZyYWdtZW50ID0gPFxuICBUUXVlcnkgZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUS2V5LFxuICBURGF0YSxcbj4oXG4gIG5vZGU6IEdyYXBoUUxUYWdnZWROb2RlLFxuKTogQmFja29mZmljZVBhZ2luYXRpb25GcmFnbWVudFNwZWM8VFF1ZXJ5LCBUS2V5LCBURGF0YT4gPT4ge1xuICByZXR1cm4geyBub2RlIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0ID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbj4oKSA9PiB7XG4gIHJldHVybiA8XG4gICAgY29uc3QgV2lkZ2V0IGV4dGVuZHNcbiAgICAgIEFueURlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRRdWVyeVdpZGdldElucHV0PFRPcGVyYXRpb24+LFxuICA+KFxuICAgIHdpZGdldDogV2lkZ2V0LFxuICApOiBCYWNrb2ZmaWNlRGFzaGJvYXJkUXVlcnlXaWRnZXQ8V2lkZ2V0WydraW5kJ10+ID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ud2lkZ2V0LFxuICAgICAgZGF0YVNvdXJjZTogJ3F1ZXJ5JyxcbiAgICB9IGFzIHVua25vd24gYXMgQmFja29mZmljZURhc2hib2FyZFF1ZXJ5V2lkZ2V0PFdpZGdldFsna2luZCddPjtcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdGljV2lkZ2V0ID0gKFxuICB3aWRnZXQ6IEFueURlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRTdGF0aWNXaWRnZXRJbnB1dCxcbik6IEV4dHJhY3Q8QmFja29mZmljZURhc2hib2FyZFdpZGdldCwgeyBkYXRhU291cmNlOiAnc3RhdGljJyB9PiA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4ud2lkZ2V0LFxuICAgIGRhdGFTb3VyY2U6ICdzdGF0aWMnLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VEYXNoYm9hcmRIcmVmVGFyZ2V0ID0gKFxuICBocmVmOiBzdHJpbmcsXG4pOiBCYWNrb2ZmaWNlRGFzaGJvYXJkSHJlZlRhcmdldCA9PiB7XG4gIHJldHVybiB7XG4gICAga2luZDogJ2hyZWYnLFxuICAgIGhyZWYsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZURhc2hib2FyZExpc3RUYXJnZXQgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuPigpID0+IHtcbiAgcmV0dXJuIDxcbiAgICBjb25zdCBUYXJnZXQgZXh0ZW5kcyBPbWl0PFxuICAgICAgQmFja29mZmljZURhc2hib2FyZEVudGl0eUxpc3RUYXJnZXQ8XG4gICAgICAgIEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgICAgICAgQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj5cbiAgICAgID4sXG4gICAgICAna2luZCdcbiAgICA+LFxuICA+KFxuICAgIHRhcmdldDogVGFyZ2V0LFxuICApOiBCYWNrb2ZmaWNlRGFzaGJvYXJkRW50aXR5TGlzdFRhcmdldDxcbiAgICBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gICAgQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj5cbiAgPiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRhcmdldCxcbiAgICAgIGtpbmQ6ICdlbnRpdHktbGlzdCcsXG4gICAgfTtcbiAgfTtcbn07XG5cbmNvbnN0IGJ1aWxkU3RhbmRhcmRMaXN0VmFyaWFibGVzID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+KFxuICBpbnB1dDogQmFja29mZmljZUxpc3RRdWVyeUlucHV0PFRPcGVyYXRpb24sIFRXaGVyZSwgVFNvcnQ+LFxuKTogVE9wZXJhdGlvblsndmFyaWFibGVzJ10gPT4ge1xuICByZXR1cm4ge1xuICAgIHdoZXJlOiBpbnB1dC53aGVyZSxcbiAgICBzb3J0OiBpbnB1dC5zb3J0LFxuICAgIGNvdW50OiBpbnB1dC5jb3VudCxcbiAgICBjdXJzb3I6IGlucHV0LmN1cnNvcixcbiAgfTtcbn07XG5cbmNvbnN0IGJ1aWxkU3RhbmRhcmRQaWNrZXJWYXJpYWJsZXMgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4oXG4gIGlucHV0OiBCYWNrb2ZmaWNlUGlja2VyUXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmU+LFxuKTogVE9wZXJhdGlvblsndmFyaWFibGVzJ10gPT4ge1xuICBjb25zdCBzZWFyY2ggPSBpbnB1dC5zZWFyY2gudHJpbSgpO1xuICBsZXQgd2hlcmU6IFRXaGVyZSB8IG51bGwgPSBudWxsO1xuICBpZiAoaW5wdXQuc2NvcGUgIT0gbnVsbCkge1xuICAgIGNvbnN0IHNjb3BlZFdoZXJlID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXMoaW5wdXQuc2NvcGUpLmZpbHRlcigoWywgdmFsdWVdKSA9PiB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLnRyaW0oKSAhPT0gJyc7XG4gICAgICB9KSxcbiAgICApO1xuICAgIHdoZXJlID0gc2NvcGVkV2hlcmUgYXMgVFdoZXJlO1xuICB9XG4gIGxldCBzZWFyY2hWYXJpYWJsZTogc3RyaW5nIHwgbnVsbCA9IHNlYXJjaDtcbiAgaWYgKHNlYXJjaCA9PT0gJycpIHtcbiAgICBzZWFyY2hWYXJpYWJsZSA9IG51bGw7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB3aGVyZSxcbiAgICBzZWFyY2g6IHNlYXJjaFZhcmlhYmxlLFxuICAgIGNvdW50OiAyMCxcbiAgICBjdXJzb3I6IG51bGwsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZUNvbm5lY3Rpb25MaXN0ID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVENvdW50T3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbj4oKSA9PiB7XG4gIHJldHVybiA8Um93UmVmLCBSb3dWaWV3LCBMaXN0RnJhZ21lbnREYXRhPihcbiAgICBjb25maWc6IERlZmluZUJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdElucHV0PFxuICAgICAgU3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+LFxuICAgICAgUm93UmVmLFxuICAgICAgUm93VmlldyxcbiAgICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgICBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8U3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+PixcbiAgICAgIEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uPj4sXG4gICAgICBUQ291bnRPcGVyYXRpb25cbiAgICA+LFxuICApOiBCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3RDb25maWc8XG4gICAgU3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+LFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uPj4sXG4gICAgQmFja29mZmljZU9wZXJhdGlvblNvcnQ8U3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+PixcbiAgICBUQ291bnRPcGVyYXRpb25cbiAgPiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGtpbmQ6ICdjb25uZWN0aW9uJyxcbiAgICAgIGJ1aWxkUXVlcnlWYXJpYWJsZXM6XG4gICAgICAgIGNvbmZpZy5idWlsZFF1ZXJ5VmFyaWFibGVzID8/IGJ1aWxkU3RhbmRhcmRMaXN0VmFyaWFibGVzLFxuICAgIH07XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZUN1c3RvbUNvbm5lY3Rpb25MaXN0ID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVENvdW50T3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+KCkgPT4ge1xuICByZXR1cm4gPFJvd1JlZiwgUm93VmlldywgTGlzdEZyYWdtZW50RGF0YT4oXG4gICAgY29uZmlnOiBEZWZpbmVCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3RJbnB1dDxcbiAgICAgIFRPcGVyYXRpb24sXG4gICAgICBSb3dSZWYsXG4gICAgICBSb3dWaWV3LFxuICAgICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICAgIFRXaGVyZSxcbiAgICAgIFRTb3J0LFxuICAgICAgVENvdW50T3BlcmF0aW9uXG4gICAgPiAmIHtcbiAgICAgIGJ1aWxkUXVlcnlWYXJpYWJsZXM6IChcbiAgICAgICAgaW5wdXQ6IEJhY2tvZmZpY2VMaXN0UXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmUsIFRTb3J0PixcbiAgICAgICkgPT4gVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG4gICAgfSxcbiAgKTogQmFja29mZmljZUNvbm5lY3Rpb25MaXN0Q29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmUsXG4gICAgVFNvcnQsXG4gICAgVENvdW50T3BlcmF0aW9uXG4gID4gPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBraW5kOiAnY29ubmVjdGlvbicsXG4gICAgfTtcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlTGlzdEZhY2V0ID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVENvdW50T3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbj4oKSA9PiB7XG4gIHJldHVybiA8Um93UmVmLCBSb3dWaWV3LCBMaXN0RnJhZ21lbnREYXRhPihcbiAgICBjb25maWc6IERlZmluZUJhY2tvZmZpY2VMaXN0RmFjZXRJbnB1dDxcbiAgICAgIFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uPixcbiAgICAgIFJvd1JlZixcbiAgICAgIFJvd1ZpZXcsXG4gICAgICBMaXN0RnJhZ21lbnREYXRhLFxuICAgICAgQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFN0cmljdFN0YW5kYXJkTGlzdE9wZXJhdGlvbjxUT3BlcmF0aW9uPj4sXG4gICAgICBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxTdHJpY3RTdGFuZGFyZExpc3RPcGVyYXRpb248VE9wZXJhdGlvbj4+LFxuICAgICAgVENvdW50T3BlcmF0aW9uXG4gICAgPixcbiAgKTogQmFja29mZmljZUxpc3RGYWNldENvbmZpZzxcbiAgICBTdHJpY3RTdGFuZGFyZExpc3RPcGVyYXRpb248VE9wZXJhdGlvbj4sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8U3RyaWN0U3RhbmRhcmRMaXN0T3BlcmF0aW9uPFRPcGVyYXRpb24+PixcbiAgICBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxTdHJpY3RTdGFuZGFyZExpc3RPcGVyYXRpb248VE9wZXJhdGlvbj4+LFxuICAgIFRDb3VudE9wZXJhdGlvblxuICA+ID0+IHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VDdXN0b21MaXN0RmFjZXQgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUQ291bnRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4oKSA9PiB7XG4gIHJldHVybiA8Um93UmVmLCBSb3dWaWV3LCBMaXN0RnJhZ21lbnREYXRhPihcbiAgICBjb25maWc6IERlZmluZUJhY2tvZmZpY2VMaXN0RmFjZXRJbnB1dDxcbiAgICAgIFRPcGVyYXRpb24sXG4gICAgICBSb3dSZWYsXG4gICAgICBSb3dWaWV3LFxuICAgICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICAgIFRXaGVyZSxcbiAgICAgIFRTb3J0LFxuICAgICAgVENvdW50T3BlcmF0aW9uXG4gICAgPixcbiAgKTogQmFja29mZmljZUxpc3RGYWNldENvbmZpZzxcbiAgICBUT3BlcmF0aW9uLFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgVFdoZXJlLFxuICAgIFRTb3J0LFxuICAgIFRDb3VudE9wZXJhdGlvblxuICA+ID0+IHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VQaWNrZXIgPSA8VE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGU+KCkgPT4ge1xuICByZXR1cm4gPFJvd1JlZiwgUm93VmlldywgUGlja2VyRnJhZ21lbnREYXRhPihcbiAgICBjb25maWc6IERlZmluZUJhY2tvZmZpY2VQaWNrZXJJbnB1dDxcbiAgICAgIFN0cmljdFN0YW5kYXJkUGlja2VyT3BlcmF0aW9uPFRPcGVyYXRpb24+LFxuICAgICAgUm93UmVmLFxuICAgICAgUm93VmlldyxcbiAgICAgIFBpY2tlckZyYWdtZW50RGF0YVxuICAgID4sXG4gICk6IEJhY2tvZmZpY2VFbnRpdHlQaWNrZXJDb25maWc8XG4gICAgU3RyaWN0U3RhbmRhcmRQaWNrZXJPcGVyYXRpb248VE9wZXJhdGlvbj4sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgUGlja2VyRnJhZ21lbnREYXRhXG4gID4gPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBidWlsZFF1ZXJ5VmFyaWFibGVzOlxuICAgICAgICBjb25maWcuYnVpbGRRdWVyeVZhcmlhYmxlcyA/PyBidWlsZFN0YW5kYXJkUGlja2VyVmFyaWFibGVzLFxuICAgIH07XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZUN1c3RvbVBpY2tlciA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPigpID0+IHtcbiAgcmV0dXJuIDxSb3dSZWYsIFJvd1ZpZXcsIFBpY2tlckZyYWdtZW50RGF0YT4oXG4gICAgY29uZmlnOiBEZWZpbmVCYWNrb2ZmaWNlUGlja2VySW5wdXQ8XG4gICAgICBUT3BlcmF0aW9uLFxuICAgICAgUm93UmVmLFxuICAgICAgUm93VmlldyxcbiAgICAgIFBpY2tlckZyYWdtZW50RGF0YSxcbiAgICAgIFRXaGVyZVxuICAgID4gJiB7XG4gICAgICBidWlsZFF1ZXJ5VmFyaWFibGVzOiAoXG4gICAgICAgIGlucHV0OiBCYWNrb2ZmaWNlUGlja2VyUXVlcnlJbnB1dDxUT3BlcmF0aW9uLCBUV2hlcmU+LFxuICAgICAgKSA9PiBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXTtcbiAgICB9LFxuICApOiBCYWNrb2ZmaWNlRW50aXR5UGlja2VyQ29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgUGlja2VyRnJhZ21lbnREYXRhLFxuICAgIFRXaGVyZVxuICA+ID0+IHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VQaWNrZXJGYWNldCA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4+KCkgPT4ge1xuICByZXR1cm4gPFJvd1JlZiwgUm93VmlldywgUGlja2VyRnJhZ21lbnREYXRhPihcbiAgICBjb25maWc6IEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZzxcbiAgICAgIFN0cmljdFN0YW5kYXJkUGlja2VyT3BlcmF0aW9uPFRPcGVyYXRpb24+LFxuICAgICAgUm93UmVmLFxuICAgICAgUm93VmlldyxcbiAgICAgIFBpY2tlckZyYWdtZW50RGF0YVxuICAgID4sXG4gICk6IEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZzxcbiAgICBTdHJpY3RTdGFuZGFyZFBpY2tlck9wZXJhdGlvbjxUT3BlcmF0aW9uPixcbiAgICBSb3dSZWYsXG4gICAgUm93VmlldyxcbiAgICBQaWNrZXJGcmFnbWVudERhdGFcbiAgPiA9PiB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlQ3VzdG9tUGlja2VyRmFjZXQgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4oKSA9PiB7XG4gIHJldHVybiA8Um93UmVmLCBSb3dWaWV3LCBQaWNrZXJGcmFnbWVudERhdGE+KFxuICAgIGNvbmZpZzogQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnPFxuICAgICAgVE9wZXJhdGlvbixcbiAgICAgIFJvd1JlZixcbiAgICAgIFJvd1ZpZXcsXG4gICAgICBQaWNrZXJGcmFnbWVudERhdGEsXG4gICAgICBUV2hlcmVcbiAgICA+LFxuICApOiBCYWNrb2ZmaWNlUGlja2VyRmFjZXRDb25maWc8XG4gICAgVE9wZXJhdGlvbixcbiAgICBSb3dSZWYsXG4gICAgUm93VmlldyxcbiAgICBQaWNrZXJGcmFnbWVudERhdGEsXG4gICAgVFdoZXJlXG4gID4gPT4ge1xuICAgIHJldHVybiBjb25maWc7XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQmFja29mZmljZVJlbGF0aW9uRmlsdGVyID0gPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4+KCkgPT4ge1xuICByZXR1cm4gKFxuICAgIHJlbGF0aW9uOiBCYWNrb2ZmaWNlUmVsYXRpb25GaWx0ZXJTcGVjPFRPcGVyYXRpb24sIFRXaGVyZT4sXG4gICk6IEJhY2tvZmZpY2VSZWxhdGlvbkZpbHRlclNwZWM8VE9wZXJhdGlvbiwgVFdoZXJlPiA9PiB7XG4gICAgcmV0dXJuIHJlbGF0aW9uO1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUJhY2tvZmZpY2VFbnRpdHlDb3VudCA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPigpID0+IHtcbiAgcmV0dXJuIChcbiAgICBjb3VudDogT21pdDxcbiAgICAgIEJhY2tvZmZpY2VFbnRpdHlDb3VudENvbmZpZzxUT3BlcmF0aW9uLCBUV2hlcmU+LFxuICAgICAgJ2J1aWxkVmFyaWFibGVzJyB8ICdnZXRDb3VudCdcbiAgICA+ICYge1xuICAgICAgYnVpbGRWYXJpYWJsZXM6IChcbiAgICAgICAgaW5wdXQ6IEJhY2tvZmZpY2VDb3VudFF1ZXJ5SW5wdXQ8VFdoZXJlPixcbiAgICAgICkgPT4gVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG4gICAgICBnZXRDb3VudDogKGRhdGE6IFRPcGVyYXRpb25bJ3Jlc3BvbnNlJ10pID0+IG51bWJlciB8IG51bGw7XG4gICAgfSxcbiAgKTogQmFja29mZmljZUVudGl0eUNvdW50Q29uZmlnPFRPcGVyYXRpb24sIFRXaGVyZT4gPT4ge1xuICAgIHJldHVybiBjb3VudDtcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlRmlsdGVycyA9IDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuPigpID0+IHtcbiAgcmV0dXJuIDxjb25zdCBGaWx0ZXJzIGV4dGVuZHMgcmVhZG9ubHkgQmFja29mZmljZUZpbHRlclNwZWM8VFdoZXJlPltdPihcbiAgICBmaWx0ZXJzOiBGaWx0ZXJzLFxuICApOiBGaWx0ZXJzID0+IHtcbiAgICByZXR1cm4gZmlsdGVycztcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlU29ydHMgPSA8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuPigpID0+IHtcbiAgcmV0dXJuIDxjb25zdCBTb3J0cyBleHRlbmRzIHJlYWRvbmx5IEJhY2tvZmZpY2VTb3J0U3BlYzxUU29ydD5bXT4oXG4gICAgc29ydHM6IFNvcnRzLFxuICApOiBTb3J0cyA9PiB7XG4gICAgcmV0dXJuIHNvcnRzO1xuICB9O1xufTtcblxudHlwZSBGaWx0ZXJDb25maWcgPSB7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIHBsYWNlbWVudD86IEJhY2tvZmZpY2VGaWx0ZXJQbGFjZW1lbnQ7XG4gIHBhdGg/OiByZWFkb25seSBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCBjb25zdCBlbnRpdHlJZEZpbHRlciA9IDxXaGVyZSwgS2V5IGV4dGVuZHMgU3RyaW5nRmllbGRLZXk8V2hlcmU+PihcbiAga2V5OiBLZXksXG4gIGNvbmZpZzogRmlsdGVyQ29uZmlnICYgeyBlbnRpdHk6IHN0cmluZyB9LFxuKTogQmFja29mZmljZUZpbHRlclNwZWM8V2hlcmU+ID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpZDoga2V5LFxuICAgIGtpbmQ6ICdlbnRpdHlJZCcsXG4gICAgZW50aXR5OiBjb25maWcuZW50aXR5LFxuICAgIGxhYmVsOiBjb25maWcubGFiZWwsXG4gICAgcGxhY2VtZW50OiBjb25maWcucGxhY2VtZW50LFxuICAgIHdoZXJlS2V5OiBrZXksXG4gICAgcGF0aDogY29uZmlnLnBhdGgsXG4gICAgdG9HcmFwaFFMOiAodmFsdWUpID0+IHtcbiAgICAgIHJldHVybiB7IFtrZXldOiB2YWx1ZSB9IGFzIFBhcnRpYWw8V2hlcmU+O1xuICAgIH0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgdGV4dEZpbHRlciA9IDxXaGVyZSwgS2V5IGV4dGVuZHMgU3RyaW5nRmllbGRLZXk8V2hlcmU+PihcbiAga2V5OiBLZXksXG4gIGNvbmZpZzogRmlsdGVyQ29uZmlnICYge1xuICAgIHBsYWNlaG9sZGVyTGFiZWw/OiBJMThuTGFiZWw7XG4gICAgcGxhY2Vob2xkZXJUZXh0PzogSTE4bkxhYmVsO1xuICB9LFxuKTogQmFja29mZmljZUZpbHRlclNwZWM8V2hlcmU+ID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpZDoga2V5LFxuICAgIGtpbmQ6ICd0ZXh0JyxcbiAgICBsYWJlbDogY29uZmlnLmxhYmVsLFxuICAgIHBsYWNlbWVudDogY29uZmlnLnBsYWNlbWVudCxcbiAgICB3aGVyZUtleToga2V5LFxuICAgIHBhdGg6IGNvbmZpZy5wYXRoLFxuICAgIHBsYWNlaG9sZGVyTGFiZWw6IGNvbmZpZy5wbGFjZWhvbGRlckxhYmVsLFxuICAgIHBsYWNlaG9sZGVyVGV4dDogY29uZmlnLnBsYWNlaG9sZGVyVGV4dCxcbiAgICB0b0dyYXBoUUw6ICh2YWx1ZSkgPT4ge1xuICAgICAgcmV0dXJuIHsgW2tleV06IHZhbHVlIH0gYXMgUGFydGlhbDxXaGVyZT47XG4gICAgfSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkYXRldGltZUZpbHRlciA9IDxXaGVyZSwgS2V5IGV4dGVuZHMgU3RyaW5nRmllbGRLZXk8V2hlcmU+PihcbiAga2V5OiBLZXksXG4gIGNvbmZpZzogRmlsdGVyQ29uZmlnICYge1xuICAgIG1vZGU/OiAnZnJvbScgfCAndG8nIHwgJ2V4YWN0JztcbiAgICBwbGFjZWhvbGRlckxhYmVsPzogSTE4bkxhYmVsO1xuICAgIHBsYWNlaG9sZGVyVGV4dD86IEkxOG5MYWJlbDtcbiAgfSxcbik6IEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFdoZXJlPiA9PiB7XG4gIHJldHVybiB7XG4gICAgaWQ6IGtleSxcbiAgICBraW5kOiAnZGF0ZXRpbWUnLFxuICAgIGxhYmVsOiBjb25maWcubGFiZWwsXG4gICAgcGxhY2VtZW50OiBjb25maWcucGxhY2VtZW50LFxuICAgIHdoZXJlS2V5OiBrZXksXG4gICAgcGF0aDogY29uZmlnLnBhdGgsXG4gICAgbW9kZTogY29uZmlnLm1vZGUsXG4gICAgcGxhY2Vob2xkZXJMYWJlbDogY29uZmlnLnBsYWNlaG9sZGVyTGFiZWwsXG4gICAgcGxhY2Vob2xkZXJUZXh0OiBjb25maWcucGxhY2Vob2xkZXJUZXh0LFxuICAgIHRvR3JhcGhRTDogKHZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4geyBba2V5XTogdmFsdWUgfSBhcyBQYXJ0aWFsPFdoZXJlPjtcbiAgICB9LFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG51bWJlckZpbHRlciA9IDxXaGVyZSwgS2V5IGV4dGVuZHMgTnVtYmVyRmllbGRLZXk8V2hlcmU+PihcbiAga2V5OiBLZXksXG4gIGNvbmZpZzogRmlsdGVyQ29uZmlnICYge1xuICAgIHBsYWNlaG9sZGVyTGFiZWw/OiBJMThuTGFiZWw7XG4gICAgcGxhY2Vob2xkZXJUZXh0PzogSTE4bkxhYmVsO1xuICAgIGlucHV0TW9kZT86ICdudW1lcmljJyB8ICdkZWNpbWFsJztcbiAgfSxcbik6IEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFdoZXJlPiA9PiB7XG4gIHJldHVybiB7XG4gICAgaWQ6IGtleSxcbiAgICBraW5kOiAnbnVtYmVyJyxcbiAgICBsYWJlbDogY29uZmlnLmxhYmVsLFxuICAgIHBsYWNlbWVudDogY29uZmlnLnBsYWNlbWVudCxcbiAgICB3aGVyZUtleToga2V5LFxuICAgIHBhdGg6IGNvbmZpZy5wYXRoLFxuICAgIHBsYWNlaG9sZGVyTGFiZWw6IGNvbmZpZy5wbGFjZWhvbGRlckxhYmVsLFxuICAgIHBsYWNlaG9sZGVyVGV4dDogY29uZmlnLnBsYWNlaG9sZGVyVGV4dCxcbiAgICBpbnB1dE1vZGU6IGNvbmZpZy5pbnB1dE1vZGUsXG4gICAgdG9HcmFwaFFMOiAodmFsdWUpID0+IHtcbiAgICAgIHJldHVybiB7IFtrZXldOiB2YWx1ZSB9IGFzIFBhcnRpYWw8V2hlcmU+O1xuICAgIH0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZW51bUZpbHRlciA9IDxXaGVyZSwgS2V5IGV4dGVuZHMgU3RyaW5nRmllbGRLZXk8V2hlcmU+PihcbiAga2V5OiBLZXksXG4gIGNvbmZpZzogRmlsdGVyQ29uZmlnICYge1xuICAgIG9wdGlvbnM6IHJlYWRvbmx5IEV4dHJhY3Q8Tm9uTnVsbGFibGU8V2hlcmVbS2V5XT4sIHN0cmluZz5bXTtcbiAgfSxcbik6IEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFdoZXJlPiA9PiB7XG4gIHJldHVybiB7XG4gICAgaWQ6IGtleSxcbiAgICBraW5kOiAnZW51bScsXG4gICAgbGFiZWw6IGNvbmZpZy5sYWJlbCxcbiAgICBwbGFjZW1lbnQ6IGNvbmZpZy5wbGFjZW1lbnQsXG4gICAgd2hlcmVLZXk6IGtleSxcbiAgICBwYXRoOiBjb25maWcucGF0aCxcbiAgICBvcHRpb25zOiBjb25maWcub3B0aW9ucy5tYXAoKHZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgbGFiZWw6ICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0pLFxuICAgIHRvR3JhcGhRTDogKHZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4geyBba2V5XTogdmFsdWUgfSBhcyBQYXJ0aWFsPFdoZXJlPjtcbiAgICB9LFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGJvb2xlYW5GaWx0ZXIgPSA8V2hlcmUsIEtleSBleHRlbmRzIEJvb2xlYW5GaWVsZEtleTxXaGVyZT4+KFxuICBrZXk6IEtleSxcbiAgY29uZmlnOiBGaWx0ZXJDb25maWcgJiB7XG4gICAgdHJ1ZUxhYmVsPzogSTE4bkxhYmVsO1xuICAgIGZhbHNlTGFiZWw/OiBJMThuTGFiZWw7XG4gIH0sXG4pOiBCYWNrb2ZmaWNlRmlsdGVyU3BlYzxXaGVyZT4gPT4ge1xuICByZXR1cm4ge1xuICAgIGlkOiBrZXksXG4gICAga2luZDogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiBjb25maWcubGFiZWwsXG4gICAgcGxhY2VtZW50OiBjb25maWcucGxhY2VtZW50LFxuICAgIHdoZXJlS2V5OiBrZXksXG4gICAgcGF0aDogY29uZmlnLnBhdGgsXG4gICAgdHJ1ZUxhYmVsOiBjb25maWcudHJ1ZUxhYmVsLFxuICAgIGZhbHNlTGFiZWw6IGNvbmZpZy5mYWxzZUxhYmVsLFxuICAgIHRvR3JhcGhRTDogKHZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4geyBba2V5XTogdmFsdWUgfSBhcyBQYXJ0aWFsPFdoZXJlPjtcbiAgICB9LFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGN1c3RvbUZpbHRlciA9IDxXaGVyZSwgVmFsdWU+KFxuICBmaWx0ZXI6IEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFdoZXJlPiAmIHtcbiAgICB0b0dyYXBoUUw6ICh2YWx1ZTogVmFsdWUpID0+IFBhcnRpYWw8V2hlcmU+O1xuICB9LFxuKTogQmFja29mZmljZUZpbHRlclNwZWM8V2hlcmU+ID0+IHtcbiAgcmV0dXJuIGZpbHRlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVCYWNrb2ZmaWNlVG9vbEVudGl0eSA9IDxcbiAgVCBleHRlbmRzIEJhY2tvZmZpY2VUb29sRW50aXR5Q29uZmlnLFxuPihcbiAgY29uZmlnOiBULFxuKTogVCA9PiB7XG4gIHJldHVybiBjb25maWc7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRGV0YWlsTGF5b3V0RmFjZXQgPSA8XG4gIFQgZXh0ZW5kcyBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWcsXG4+KFxuICBjb25maWc6IFQsXG4pOiBUID0+IHtcbiAgcmV0dXJuIGNvbmZpZztcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEZXRhaWxQYWdlRmFjZXQgPSA8XG4gIFQgZXh0ZW5kcyBCYWNrb2ZmaWNlRGV0YWlsUGFnZUZhY2V0Q29uZmlnLFxuPihcbiAgY29uZmlnOiBULFxuKTogVCA9PiB7XG4gIHJldHVybiBjb25maWc7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lRGV0YWlsQmxvY2tzID0gPE5vZGU+KCkgPT4ge1xuICByZXR1cm4gPFxuICAgIGNvbnN0IEJsb2NrcyBleHRlbmRzIHJlYWRvbmx5IEJhY2tvZmZpY2VTZW1hbnRpY0RldGFpbEJsb2NrU3BlYzxOb2RlPltdLFxuICA+KFxuICAgIGJsb2NrczogQmxvY2tzLFxuICApOiBCbG9ja3MgPT4ge1xuICAgIHJldHVybiBibG9ja3M7XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lU3VtbWFyeUJsb2NrID0gPE5vZGU+KFxuICBibG9jazogQmFja29mZmljZVN1bW1hcnlCbG9ja1NwZWM8Tm9kZT4sXG4pOiBCYWNrb2ZmaWNlU3VtbWFyeUJsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVNZXRyaWNHcm91cCA9IDxOb2RlPihcbiAgYmxvY2s6IEJhY2tvZmZpY2VNZXRyaWNHcm91cEJsb2NrU3BlYzxOb2RlPixcbik6IEJhY2tvZmZpY2VNZXRyaWNHcm91cEJsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVTdGF0ZUdyb3VwID0gPE5vZGU+KFxuICBibG9jazogQmFja29mZmljZVN0YXRlR3JvdXBCbG9ja1NwZWM8Tm9kZT4sXG4pOiBCYWNrb2ZmaWNlU3RhdGVHcm91cEJsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVDb250ZXh0U3RhY2sgPSA8Tm9kZT4oXG4gIGJsb2NrOiBCYWNrb2ZmaWNlQ29udGV4dFN0YWNrQmxvY2tTcGVjPE5vZGU+LFxuKTogQmFja29mZmljZUNvbnRleHRTdGFja0Jsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVSZWxhdGlvbkdyb3VwID0gPE5vZGU+KFxuICBibG9jazogQmFja29mZmljZVJlbGF0aW9uR3JvdXBCbG9ja1NwZWM8Tm9kZT4sXG4pOiBCYWNrb2ZmaWNlUmVsYXRpb25Hcm91cEJsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVUaW1lbGluZSA9IDxOb2RlPihcbiAgYmxvY2s6IEJhY2tvZmZpY2VUaW1lbGluZUJsb2NrU3BlYzxOb2RlPixcbik6IEJhY2tvZmZpY2VUaW1lbGluZUJsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVBdWRpdCA9IDxOb2RlPihcbiAgYmxvY2s6IEJhY2tvZmZpY2VBdWRpdEJsb2NrU3BlYzxOb2RlPixcbik6IEJhY2tvZmZpY2VBdWRpdEJsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVSZWZlcmVuY2VHcm91cCA9IDxOb2RlPihcbiAgYmxvY2s6IEJhY2tvZmZpY2VSZWZlcmVuY2VHcm91cEJsb2NrU3BlYzxOb2RlPixcbik6IEJhY2tvZmZpY2VSZWZlcmVuY2VHcm91cEJsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVQYXlsb2FkID0gPE5vZGU+KFxuICBibG9jazogQmFja29mZmljZVBheWxvYWRCbG9ja1NwZWM8Tm9kZT4sXG4pOiBCYWNrb2ZmaWNlUGF5bG9hZEJsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVUZWNobmljYWxGYWN0cyA9IDxOb2RlPihcbiAgYmxvY2s6IEJhY2tvZmZpY2VUZWNobmljYWxGYWN0c0Jsb2NrU3BlYzxOb2RlPixcbik6IEJhY2tvZmZpY2VUZWNobmljYWxGYWN0c0Jsb2NrU3BlYzxOb2RlPiA9PiB7XG4gIHJldHVybiBibG9jaztcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVUb29sRmFjZXQgPSA8VCBleHRlbmRzIEJhY2tvZmZpY2VUb29sRmFjZXRDb25maWc+KFxuICBjb25maWc6IFQsXG4pOiBUID0+IHtcbiAgcmV0dXJuIGNvbmZpZztcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVMaXN0RGV0YWlsTWFuaWZlc3QgPSA8XG4gIFRGYWNldHMgZXh0ZW5kcyBCYWNrb2ZmaWNlTGlzdERldGFpbEZhY2V0TG9hZGVyTWFwLFxuICBUQ29uZmlnIGV4dGVuZHMgT21pdDxCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtLCAna2luZCcgfCAnZmFjZXRzJz4gJiB7XG4gICAgZmFjZXRzOiBURmFjZXRzO1xuICB9LFxuPihcbiAgY29uZmlnOiBUQ29uZmlnLFxuKTogVENvbmZpZyAmIHsga2luZDogJ2xpc3QtZGV0YWlsJyB9ID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5jb25maWcsXG4gICAga2luZDogJ2xpc3QtZGV0YWlsJyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVUb29sTWFuaWZlc3QgPSA8XG4gIFRGYWNldHMgZXh0ZW5kcyBCYWNrb2ZmaWNlVG9vbEZhY2V0TG9hZGVyTWFwLFxuICBUQ29uZmlnIGV4dGVuZHMgT21pdDxcbiAgICBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtLFxuICAgICdraW5kJyB8ICdoYXNMaXN0JyB8ICdkZXRhaWxQYWdlcycgfCAnZGVmYXVsdERldGFpbFBhZ2VJZCcgfCAnZmFjZXRzJ1xuICA+ICYge1xuICAgIGZhY2V0czogVEZhY2V0cztcbiAgfSxcbj4oXG4gIGNvbmZpZzogVENvbmZpZyxcbik6IFRDb25maWcgJiB7XG4gIGtpbmQ6ICd0b29sJztcbiAgaGFzTGlzdDogZmFsc2U7XG4gIGRldGFpbFBhZ2VzOiB1bmRlZmluZWQ7XG4gIGRlZmF1bHREZXRhaWxQYWdlSWQ6IHVuZGVmaW5lZDtcbn0gPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmNvbmZpZyxcbiAgICBraW5kOiAndG9vbCcsXG4gICAgaGFzTGlzdDogZmFsc2UsXG4gICAgZGV0YWlsUGFnZXM6IHVuZGVmaW5lZCxcbiAgICBkZWZhdWx0RGV0YWlsUGFnZUlkOiB1bmRlZmluZWQsXG4gIH07XG59O1xuIl19
@@ -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":"AAeA,OAAO,KAAK,EACV,yBAAyB,EACzB,6BAA6B,EAC7B,gCAAgC,EAGjC,MAAM,aAAa,CAAC;AAyDrB,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;AAyIF,eAAO,MAAM,sBAAsB,EAAE,yBAKpC,CAAC"}
1
+ {"version":3,"file":"operation-bound-config.test-d.d.ts","sourceRoot":"","sources":["../../../src/type-tests/operation-bound-config.test-d.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,yBAAyB,EACzB,6BAA6B,EAC7B,gCAAgC,EAGjC,MAAM,aAAa,CAAC;AA8ErB,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"}