@simpleangularcontrols/sac-common 13.0.0-rc.14 → 13.0.0-rc.16

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 +1 @@
1
- {"version":3,"file":"basedatetimecontrol.d.ts","sourceRoot":"","sources":["../../../projects/sac-common/src/common/basedatetimecontrol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACH,iBAAiB,EAEjB,OAAO,EACP,UAAU,EACV,QAAQ,EAER,SAAS,EACT,MAAM,EAET,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,OAAO,MAAM,QAAQ,CAAC;;AAElC;;GAEG;AACH,8BACsB,sBAAuB,SAAQ,mBAAmB,CAAC,IAAI,CAAE,YAAW,MAAM,EAAE,SAAS,EAAE,OAAO;IAsH5G,SAAS,CAAC,UAAU,EAAE,UAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK;IApH1B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAE9D;;OAEG;IACH,SAAS,CAAC,cAAc,SAAM;IAE9B;;OAEG;IACH,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAEnD;;OAEG;IACI,eAAe,yBAAmB;IAEzC;;OAEG;IACI,aAAa,EAAE,OAAO,CAAS;IAEtC;;OAEG;IACa,UAAU,EAAE,OAAO,CAAS;IAE5C;;OAEG;IACI,MAAM,MAAsB;IAEnC;;OAEG;IACI,cAAc,yBAAmB;IAEjC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAEnD;;OAEG;IAEI,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAE7C;;OAEG;IACa,WAAW,EAAE,MAAM,CAAQ;IAE3C;;OAEG;IACI,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE1C;;OAEG;IACI,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEzC;;OAEG;IACI,YAAY,EAAE,MAAM,CAAK;IAEhC;;OAEG;IACI,WAAW,EAAE,MAAM,CAAK;IAE/B;;;;OAIG;IAEI,QAAQ,EAAE,MAAM,CAAsB;IAE7C;;OAEG;IACa,+BAA+B,EAAE,MAAM,CAA2D;IAElH;;OAEG;IACa,sCAAsC,EAAE,MAAM,CACK;IAEnE;;OAEG;IACa,yBAAyB,EAAE,MAAM,CAAqD;IAEtG;;OAEG;IACa,gCAAgC,EAAE,MAAM,CAA4D;IAMpH;;;;;OAKG;gBAEC,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,EAAE,QAAQ,EACR,UAAU,EAAE,UAAU,EACf,KAAK,EAAE,iBAAiB;IAS7C;;OAEG;IACH,IACW,MAAM,CAAC,MAAM,EAAE,UAAU,EAQnC;IAED,IAAW,OAAO,IAAI,UAAU,CAE/B;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,MAAM,CAO/B;IAED;;OAEG;IACH,IACW,WAAW,CAAC,CAAC,EAAE,MAAM,EAW/B;IAMD;;OAEG;aACa,uBAAuB,IAAI,MAAM;IAEjD;;OAEG;IACI,iBAAiB,IAAI,eAAe;IAW3C;;OAEG;aACa,yBAAyB,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;IAE5E;;OAEG;IACI,OAAO,CAAC,SAAS,KAAA,GAAG,MAAM,CAAC,MAAM;IAYxC;;OAEG;IACI,eAAe,IAAI,MAAM;IAIhC;;OAEG;IACI,cAAc,IAAI,MAAM;IAIxB,SAAS,IAAI,IAAI;IAIjB,WAAW,IAAI,IAAI;IAM1B;;OAEG;IACI,QAAQ,IAAI,IAAI;IASvB;;OAEG;IACI,cAAc,CAAC,CAAC,EAAE,MAAM;IAI/B;;OAEG;IACI,YAAY,CAAC,CAAC,EAAE,eAAe,GAAG,gBAAgB,GAAG,IAAI;IA2BhE;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;IAiBtC,SAAS,CAAC,cAAc,IAAI,MAAM;IAIlC,SAAS,CAAC,aAAa,IAAI,MAAM;IAIjC;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,MAAM;IAgCnC;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM;IA6BlC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAU9B;IAEF,OAAO,CAAC,iBAAiB;yCAjZP,sBAAsB;2CAAtB,sBAAsB;CAyZ3C"}
1
+ {"version":3,"file":"basedatetimecontrol.d.ts","sourceRoot":"","sources":["../../../projects/sac-common/src/common/basedatetimecontrol.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"radiobutton.d.ts","sourceRoot":"","sources":["../../../../projects/sac-common/src/controls/checkbox/radiobutton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAa,YAAY,EAAQ,QAAQ,EAAS,SAAS,EAAE,MAAM,EAAU,WAAW,EAAE,MAAM,eAAe,CAAC;;AAEvH;;GAEG;AACH,8BACsB,oBAAqB,YAAW,MAAM,EAAE,SAAS;IA2F/D,SAAS,CAAC,eAAe,EAAE,qBAAqB;IAEhD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IA1F7B;;OAEG;IACH,OAAO,CAAC,OAAO,CAAkB;IAEjC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;IAElE;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,mBAAmB,CAAQ;IAEjD;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC;IAEvC;;OAEG;IACH,aAAa,EAAE,OAAO,aAAa,CAAiB;IAEpD;;OAEG;IACI,MAAM,EAAE,MAAM,CAAQ;IAE7B;;OAEG;IAEI,OAAO,EAAE,OAAO,CAAC;IAExB;;OAEG;IAEI,QAAQ,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACa,QAAQ,EAAE,MAAM,CAAM;IAEtC;;OAEG;IAEI,YAAY,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;IAE/C;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAC;IAErB;;OAEG;IAEI,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAEvC;;OAEG;IAEI,YAAY,oBAAsB;IAEzC;;OAEG;IAEI,KAAK,EAAE,GAAG,CAAC;IAMlB;;;;;OAKG;gBAEW,eAAe,EAAE,qBAAqB,EACxC,UAAU,EAAE,mBAAmB,EACtB,QAAQ,EAAE,QAAQ;IAgBvC;;OAEG;IACH,IAAW,mBAAmB,IAAI,MAAM,CAEvC;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,aAAa,GAAG,IAAI,CAEjD;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,MAAM,CAM5B;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,MAAM,IAAI,OAAO,GAAG,MAAM,CAEpC;IAED;;OAEG;IACH,IACW,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,EAWpC;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,OAAO,CAE/B;IAMD;;OAEG;IACI,WAAW,IAAI,IAAI;IAO1B;;OAEG;IACI,WAAW,IAAI,IAAI;IAKnB,QAAQ,IAAI,IAAI;IASvB;;OAEG;IACH,OAAO,CAAC,eAAe;yCA3ML,oBAAoB;2CAApB,oBAAoB;CAsNzC"}
1
+ {"version":3,"file":"radiobutton.d.ts","sourceRoot":"","sources":["../../../../projects/sac-common/src/controls/checkbox/radiobutton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAa,YAAY,EAAQ,QAAQ,EAAS,SAAS,EAAE,MAAM,EAAU,WAAW,EAAE,MAAM,eAAe,CAAC;;AAEvH;;GAEG;AACH,8BACsB,oBAAqB,YAAW,MAAM,EAAE,SAAS;IA2F/D,SAAS,CAAC,eAAe,EAAE,qBAAqB;IAEhD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IA1F7B;;OAEG;IACH,OAAO,CAAC,OAAO,CAAkB;IAEjC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;IAElE;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,mBAAmB,CAAQ;IAEjD;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC;IAEvC;;OAEG;IACI,aAAa,EAAE,OAAO,aAAa,CAAiB;IAE3D;;OAEG;IACI,MAAM,EAAE,MAAM,CAAQ;IAE7B;;OAEG;IAEI,OAAO,EAAE,OAAO,CAAC;IAExB;;OAEG;IAEI,QAAQ,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACa,QAAQ,EAAE,MAAM,CAAM;IAEtC;;OAEG;IAEI,YAAY,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;IAE/C;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAC;IAErB;;OAEG;IAEI,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAEvC;;OAEG;IAEI,YAAY,oBAAsB;IAEzC;;OAEG;IAEI,KAAK,EAAE,GAAG,CAAC;IAMlB;;;;;OAKG;gBAEW,eAAe,EAAE,qBAAqB,EACxC,UAAU,EAAE,mBAAmB,EACtB,QAAQ,EAAE,QAAQ;IAgBvC;;OAEG;IACH,IAAW,mBAAmB,IAAI,MAAM,CAEvC;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,aAAa,GAAG,IAAI,CAEjD;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,MAAM,CAM5B;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,MAAM,IAAI,OAAO,GAAG,MAAM,CAEpC;IAED;;OAEG;IACH,IACW,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,EAWpC;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,OAAO,CAE/B;IAMD;;OAEG;IACI,WAAW,IAAI,IAAI;IAO1B;;OAEG;IACI,WAAW,IAAI,IAAI;IAKnB,QAAQ,IAAI,IAAI;IAavB;;OAEG;IACH,OAAO,CAAC,eAAe;yCA/ML,oBAAoB;2CAApB,oBAAoB;CA0NzC"}
@@ -1,8 +1,8 @@
1
- import { Injector } from '@angular/core';
2
- import { AbstractControl, ValidationErrors, Validator } from '@angular/forms';
3
1
  import { SacBaseModelControl } from '../../common/basemodelcontrol';
4
2
  import { SacFormLayoutCommon } from '../layout/formlayout';
5
3
  import { SacRadiobuttonCommon } from './radiobutton';
4
+ import { Injector } from '@angular/core';
5
+ import { AbstractControl, ValidationErrors, Validator } from '@angular/forms';
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
8
  * Basis Komponente für SacRadiobuttonsCommon. Extends SacBaseModelControl
@@ -31,7 +31,7 @@ export declare abstract class SacRadiobuttonsCommon extends SacBaseModelControl<
31
31
  */
32
32
  constructor(formlayout: SacFormLayoutCommon, injector: Injector);
33
33
  /**
34
- * GEtter für Radio Button Index
34
+ * Getter für Radio Button Index
35
35
  */
36
36
  GetRadionButtonIndex(): number;
37
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"radiobuttons.d.ts","sourceRoot":"","sources":["../../../../projects/sac-common/src/controls/checkbox/radiobuttons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,QAAQ,EAAS,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;;AAErD;;GAEG;AACH,8BACsB,qBACpB,SAAQ,mBAAmB,CAAC,GAAG,CAC/B,YAAW,SAAS;IAIpB;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAA8B;IACzD;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAAa;IAErC;;OAEG;IACa,yBAAyB,EAAE,MAAM,CACG;IACpD;;OAEG;IACa,gCAAgC,EAAE,MAAM,CACG;IAM3D;;;;OAIG;gBACiB,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ;IAQvE;;OAEG;IACI,oBAAoB,IAAI,MAAM;IAKrC;;OAEG;IACI,cAAc,IAAI,OAAO;IAUhC;;OAEG;IACI,mBAAmB,CAAC,WAAW,EAAE,oBAAoB;IAI5D;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,GAAG;IAQ5B;;OAEG;IACI,qBAAqB,CAAC,WAAW,EAAE,oBAAoB;IAQ9D;;OAEG;IACI,YAAY,CAAC,CAAC,EAAE,eAAe,GAAG,gBAAgB;IAazD;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,GAAG;yCAhHR,qBAAqB;2CAArB,qBAAqB;CA0H1C"}
1
+ {"version":3,"file":"radiobuttons.d.ts","sourceRoot":"","sources":["../../../../projects/sac-common/src/controls/checkbox/radiobuttons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAmB,QAAQ,EAAS,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;;AAE9E;;GAEG;AACH,8BACsB,qBAAsB,SAAQ,mBAAmB,CAAC,GAAG,CAAE,YAAW,SAAS;IAG7F;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAA8B;IAEzD;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAAa;IAErC;;OAEG;IACa,yBAAyB,EAAE,MAAM,CAAqD;IAEtG;;OAEG;IACa,gCAAgC,EAAE,MAAM,CAA4D;IAMpH;;;;OAIG;gBACiB,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ;IAQvE;;OAEG;IACI,oBAAoB,IAAI,MAAM;IAKrC;;OAEG;IACI,cAAc,IAAI,OAAO;IAUhC;;OAEG;IACI,mBAAmB,CAAC,WAAW,EAAE,oBAAoB;IAI5D;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,GAAG;IAQ5B;;OAEG;IACI,qBAAqB,CAAC,WAAW,EAAE,oBAAoB;IAQ9D;;OAEG;IACI,YAAY,CAAC,CAAC,EAAE,eAAe,GAAG,gBAAgB;IAazD;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,GAAG;yCA7GV,qBAAqB;2CAArB,qBAAqB;CAuH1C"}
@@ -1,4 +1,4 @@
1
- function cov_10tnjmv4ka(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/common/basedatetimecontrol.mjs";var hash="abb98f77750b724a23cd9fef0fc62c32997ee03c";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/common/basedatetimecontrol.mjs",statementMap:{"0":{start:{line:23,column:8},end:{line:23,column:36}},"1":{start:{line:24,column:8},end:{line:24,column:37}},"2":{start:{line:25,column:8},end:{line:25,column:27}},"3":{start:{line:30,column:8},end:{line:30,column:45}},"4":{start:{line:34,column:8},end:{line:34,column:33}},"5":{start:{line:38,column:8},end:{line:38,column:47}},"6":{start:{line:42,column:8},end:{line:42,column:35}},"7":{start:{line:46,column:8},end:{line:46,column:32}},"8":{start:{line:50,column:8},end:{line:50,column:41}},"9":{start:{line:54,column:8},end:{line:54,column:46}},"10":{start:{line:58,column:8},end:{line:58,column:32}},"11":{start:{line:62,column:8},end:{line:62,column:33}},"12":{start:{line:66,column:8},end:{line:66,column:32}},"13":{start:{line:70,column:8},end:{line:70,column:30}},"14":{start:{line:74,column:8},end:{line:74,column:29}},"15":{start:{line:80,column:8},end:{line:80,column:43}},"16":{start:{line:84,column:8},end:{line:84,column:103}},"17":{start:{line:88,column:8},end:{line:88,column:117}},"18":{start:{line:92,column:8},end:{line:92,column:91}},"19":{start:{line:96,column:8},end:{line:96,column:105}},"20":{start:{line:102,column:8},end:{line:111,column:10}},"21":{start:{line:104,column:12},end:{line:106,column:13}},"22":{start:{line:105,column:16},end:{line:105,column:23}},"23":{start:{line:107,column:12},end:{line:110,column:15}},"24":{start:{line:108,column:16},end:{line:108,column:39}},"25":{start:{line:109,column:16},end:{line:109,column:38}},"26":{start:{line:119,column:8},end:{line:121,column:9}},"27":{start:{line:120,column:12},end:{line:120,column:60}},"28":{start:{line:122,column:8},end:{line:122,column:38}},"29":{start:{line:123,column:8},end:{line:123,column:31}},"30":{start:{line:124,column:8},end:{line:124,column:35}},"31":{start:{line:127,column:8},end:{line:127,column:36}},"32":{start:{line:133,column:8},end:{line:139,column:9}},"33":{start:{line:134,column:12},end:{line:134,column:39}},"34":{start:{line:137,column:25},end:{line:137,column:52}},"35":{start:{line:138,column:12},end:{line:138,column:71}},"36":{start:{line:145,column:8},end:{line:145,column:32}},"37":{start:{line:146,column:19},end:{line:146,column:73}},"38":{start:{line:147,column:8},end:{line:147,column:58}},"39":{start:{line:148,column:8},end:{line:153,column:9}},"40":{start:{line:149,column:12},end:{line:149,column:39}},"41":{start:{line:152,column:12},end:{line:152,column:30}},"42":{start:{line:159,column:8},end:{line:159,column:159}},"43":{start:{line:165,column:21},end:{line:165,column:40}},"44":{start:{line:166,column:21},end:{line:166,column:42}},"45":{start:{line:167,column:22},end:{line:167,column:40}},"46":{start:{line:168,column:20},end:{line:168,column:37}},"47":{start:{line:169,column:22},end:{line:169,column:40}},"48":{start:{line:170,column:24},end:{line:170,column:44}},"49":{start:{line:171,column:24},end:{line:171,column:44}},"50":{start:{line:172,column:8},end:{line:172,column:80}},"51":{start:{line:178,column:8},end:{line:178,column:69}},"52":{start:{line:184,column:8},end:{line:184,column:68}},"53":{start:{line:191,column:8},end:{line:191,column:73}},"54":{start:{line:192,column:8},end:{line:192,column:73}},"55":{start:{line:198,column:8},end:{line:198,column:25}},"56":{start:{line:199,column:8},end:{line:199,column:33}},"57":{start:{line:201,column:8},end:{line:201,column:70}},"58":{start:{line:202,column:8},end:{line:202,column:70}},"59":{start:{line:208,column:8},end:{line:208,column:29}},"60":{start:{line:214,column:20},end:{line:214,column:24}},"61":{start:{line:215,column:8},end:{line:220,column:9}},"62":{start:{line:216,column:12},end:{line:216,column:140}},"63":{start:{line:217,column:12},end:{line:219,column:13}},"64":{start:{line:218,column:16},end:{line:218,column:29}},"65":{start:{line:221,column:8},end:{line:221,column:125}},"66":{start:{line:222,column:8},end:{line:224,column:9}},"67":{start:{line:223,column:12},end:{line:223,column:114}},"68":{start:{line:225,column:8},end:{line:225,column:21}},"69":{start:{line:231,column:8},end:{line:239,column:9}},"70":{start:{line:233,column:12},end:{line:233,column:37}},"71":{start:{line:235,column:12},end:{line:235,column:31}},"72":{start:{line:238,column:12},end:{line:238,column:55}},"73":{start:{line:240,column:8},end:{line:240,column:38}},"74":{start:{line:245,column:8},end:{line:245,column:82}},"75":{start:{line:248,column:8},end:{line:248,column:81}},"76":{start:{line:254,column:22},end:{line:254,column:179}},"77":{start:{line:255,column:8},end:{line:255,column:34}},"78":{start:{line:256,column:8},end:{line:271,column:9}},"79":{start:{line:259,column:16},end:{line:259,column:86}},"80":{start:{line:260,column:16},end:{line:260,column:22}},"81":{start:{line:263,column:16},end:{line:266,column:89}},"82":{start:{line:267,column:16},end:{line:267,column:22}},"83":{start:{line:269,column:16},end:{line:269,column:41}},"84":{start:{line:270,column:16},end:{line:270,column:22}},"85":{start:{line:272,column:8},end:{line:272,column:21}},"86":{start:{line:278,column:22},end:{line:278,column:178}},"87":{start:{line:279,column:8},end:{line:279,column:33}},"88":{start:{line:280,column:8},end:{line:288,column:9}},"89":{start:{line:283,column:16},end:{line:283,column:68}},"90":{start:{line:284,column:16},end:{line:284,column:22}},"91":{start:{line:286,column:16},end:{line:286,column:40}},"92":{start:{line:287,column:16},end:{line:287,column:22}},"93":{start:{line:289,column:8},end:{line:289,column:21}},"94":{start:{line:293,column:8},end:{line:295,column:9}},"95":{start:{line:294,column:12},end:{line:294,column:81}},"96":{start:{line:298,column:0},end:{line:298,column:305}},"97":{start:{line:299,column:0},end:{line:299,column:858}},"98":{start:{line:300,column:0},end:{line:327,column:20}},"99":{start:{line:302,column:42},end:{line:302,column:164}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:22,column:4},end:{line:22,column:5}},loc:{start:{line:22,column:57},end:{line:112,column:5}},line:22},"1":{name:"(anonymous_1)",decl:{start:{line:102,column:31},end:{line:102,column:32}},loc:{start:{line:102,column:37},end:{line:111,column:9}},line:102},"2":{name:"(anonymous_2)",decl:{start:{line:107,column:23},end:{line:107,column:24}},loc:{start:{line:107,column:29},end:{line:110,column:13}},line:107},"3":{name:"(anonymous_3)",decl:{start:{line:118,column:4},end:{line:118,column:5}},loc:{start:{line:118,column:23},end:{line:125,column:5}},line:118},"4":{name:"(anonymous_4)",decl:{start:{line:126,column:4},end:{line:126,column:5}},loc:{start:{line:126,column:18},end:{line:128,column:5}},line:126},"5":{name:"(anonymous_5)",decl:{start:{line:132,column:4},end:{line:132,column:5}},loc:{start:{line:132,column:22},end:{line:140,column:5}},line:132},"6":{name:"(anonymous_6)",decl:{start:{line:144,column:4},end:{line:144,column:5}},loc:{start:{line:144,column:23},end:{line:154,column:5}},line:144},"7":{name:"(anonymous_7)",decl:{start:{line:158,column:4},end:{line:158,column:5}},loc:{start:{line:158,column:24},end:{line:160,column:5}},line:158},"8":{name:"(anonymous_8)",decl:{start:{line:164,column:4},end:{line:164,column:5}},loc:{start:{line:164,column:23},end:{line:173,column:5}},line:164},"9":{name:"(anonymous_9)",decl:{start:{line:177,column:4},end:{line:177,column:5}},loc:{start:{line:177,column:22},end:{line:179,column:5}},line:177},"10":{name:"(anonymous_10)",decl:{start:{line:183,column:4},end:{line:183,column:5}},loc:{start:{line:183,column:21},end:{line:185,column:5}},line:183},"11":{name:"(anonymous_11)",decl:{start:{line:186,column:4},end:{line:186,column:5}},loc:{start:{line:186,column:16},end:{line:188,column:5}},line:186},"12":{name:"(anonymous_12)",decl:{start:{line:189,column:4},end:{line:189,column:5}},loc:{start:{line:189,column:18},end:{line:193,column:5}},line:189},"13":{name:"(anonymous_13)",decl:{start:{line:197,column:4},end:{line:197,column:5}},loc:{start:{line:197,column:15},end:{line:203,column:5}},line:197},"14":{name:"(anonymous_14)",decl:{start:{line:207,column:4},end:{line:207,column:5}},loc:{start:{line:207,column:22},end:{line:209,column:5}},line:207},"15":{name:"(anonymous_15)",decl:{start:{line:213,column:4},end:{line:213,column:5}},loc:{start:{line:213,column:20},end:{line:226,column:5}},line:213},"16":{name:"(anonymous_16)",decl:{start:{line:230,column:4},end:{line:230,column:5}},loc:{start:{line:230,column:22},end:{line:241,column:5}},line:230},"17":{name:"(anonymous_17)",decl:{start:{line:244,column:4},end:{line:244,column:5}},loc:{start:{line:244,column:21},end:{line:246,column:5}},line:244},"18":{name:"(anonymous_18)",decl:{start:{line:247,column:4},end:{line:247,column:5}},loc:{start:{line:247,column:20},end:{line:249,column:5}},line:247},"19":{name:"(anonymous_19)",decl:{start:{line:253,column:4},end:{line:253,column:5}},loc:{start:{line:253,column:22},end:{line:273,column:5}},line:253},"20":{name:"(anonymous_20)",decl:{start:{line:277,column:4},end:{line:277,column:5}},loc:{start:{line:277,column:21},end:{line:290,column:5}},line:277},"21":{name:"(anonymous_21)",decl:{start:{line:291,column:4},end:{line:291,column:5}},loc:{start:{line:291,column:24},end:{line:296,column:5}},line:291},"22":{name:"(anonymous_22)",decl:{start:{line:302,column:28},end:{line:302,column:29}},loc:{start:{line:302,column:40},end:{line:302,column:166}},line:302}},branchMap:{"0":{loc:{start:{line:104,column:12},end:{line:106,column:13}},type:"if",locations:[{start:{line:104,column:12},end:{line:106,column:13}},{start:{line:104,column:12},end:{line:106,column:13}}],line:104},"1":{loc:{start:{line:119,column:8},end:{line:121,column:9}},type:"if",locations:[{start:{line:119,column:8},end:{line:121,column:9}},{start:{line:119,column:8},end:{line:121,column:9}}],line:119},"2":{loc:{start:{line:133,column:8},end:{line:139,column:9}},type:"if",locations:[{start:{line:133,column:8},end:{line:139,column:9}},{start:{line:133,column:8},end:{line:139,column:9}}],line:133},"3":{loc:{start:{line:148,column:8},end:{line:153,column:9}},type:"if",locations:[{start:{line:148,column:8},end:{line:153,column:9}},{start:{line:148,column:8},end:{line:153,column:9}}],line:148},"4":{loc:{start:{line:215,column:8},end:{line:220,column:9}},type:"if",locations:[{start:{line:215,column:8},end:{line:220,column:9}},{start:{line:215,column:8},end:{line:220,column:9}}],line:215},"5":{loc:{start:{line:215,column:12},end:{line:215,column:75}},type:"binary-expr",locations:[{start:{line:215,column:12},end:{line:215,column:37}},{start:{line:215,column:41},end:{line:215,column:75}}],line:215},"6":{loc:{start:{line:217,column:12},end:{line:219,column:13}},type:"if",locations:[{start:{line:217,column:12},end:{line:219,column:13}},{start:{line:217,column:12},end:{line:219,column:13}}],line:217},"7":{loc:{start:{line:222,column:8},end:{line:224,column:9}},type:"if",locations:[{start:{line:222,column:8},end:{line:224,column:9}},{start:{line:222,column:8},end:{line:224,column:9}}],line:222},"8":{loc:{start:{line:231,column:8},end:{line:239,column:9}},type:"if",locations:[{start:{line:231,column:8},end:{line:239,column:9}},{start:{line:231,column:8},end:{line:239,column:9}}],line:231},"9":{loc:{start:{line:231,column:12},end:{line:231,column:65}},type:"binary-expr",locations:[{start:{line:231,column:12},end:{line:231,column:24}},{start:{line:231,column:28},end:{line:231,column:42}},{start:{line:231,column:46},end:{line:231,column:65}}],line:231},"10":{loc:{start:{line:245,column:15},end:{line:245,column:81}},type:"cond-expr",locations:[{start:{line:245,column:34},end:{line:245,column:77}},{start:{line:245,column:80},end:{line:245,column:81}}],line:245},"11":{loc:{start:{line:248,column:15},end:{line:248,column:80}},type:"cond-expr",locations:[{start:{line:248,column:34},end:{line:248,column:76}},{start:{line:248,column:79},end:{line:248,column:80}}],line:248},"12":{loc:{start:{line:256,column:8},end:{line:271,column:9}},type:"switch",locations:[{start:{line:257,column:12},end:{line:257,column:37}},{start:{line:258,column:12},end:{line:260,column:22}},{start:{line:261,column:12},end:{line:261,column:40}},{start:{line:262,column:12},end:{line:267,column:22}},{start:{line:268,column:12},end:{line:270,column:22}}],line:256},"13":{loc:{start:{line:280,column:8},end:{line:288,column:9}},type:"switch",locations:[{start:{line:281,column:12},end:{line:281,column:38}},{start:{line:282,column:12},end:{line:284,column:22}},{start:{line:285,column:12},end:{line:287,column:22}}],line:280},"14":{loc:{start:{line:293,column:8},end:{line:295,column:9}},type:"if",locations:[{start:{line:293,column:8},end:{line:295,column:9}},{start:{line:293,column:8},end:{line:295,column:9}}],line:293}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0],"10":[0,0],"11":[0,0],"12":[0,0,0,0,0],"13":[0,0,0],"14":[0,0]},inputSourceMap:{version:3,file:"basedatetimecontrol.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/common/basedatetimecontrol.ts"],names:[],mappings:"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",sourcesContent:["import { SacFormLayoutCommon } from '../controls/layout/formlayout';\nimport { IDateTimeControl } from '../interfaces/idatetimecontrol';\nimport { TooltipPosition } from '../utilities/enums';\nimport { PopUpHelper } from '../utilities/popuphelper';\nimport { Validation } from '../validation';\nimport { CreateValidationError } from '../validation/validationerrorcreator';\nimport { SacBaseModelControl } from './basemodelcontrol';\nimport {\n ChangeDetectorRef,\n Directive,\n DoCheck,\n ElementRef,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { AbstractControl, ValidationErrors } from '@angular/forms';\nimport * as moment_ from 'moment';\n\n/**\n * Base Klasse f\xFCr Date/Time Controls\n */\n@Directive()\nexport abstract class SacBaseDateTimeControl extends SacBaseModelControl<Date> implements OnInit, OnDestroy, DoCheck {\n // #region Properties\n\n /**\n * Helper class to display tooltip on correct position\n */\n private readonly popupHelper: PopUpHelper = new PopUpHelper();\n\n /**\n * das property enthielt das Value als string. Default ist ''\n */\n protected _valueAsString = '';\n\n /**\n * Containers for the datetime picker\n */\n protected pickercontainer: ElementRef<HTMLElement>;\n\n /**\n * Property for enum in Angular HTML template\n */\n public TooltipPosition = TooltipPosition;\n\n /**\n * Definiert ob der Date Selector angezeigt wird\n */\n public _showselector: boolean = false;\n\n /**\n * Definiert das Control als Required\n */\n @Input() public isrequired: boolean = false;\n\n /**\n * Moment JS Instance\n */\n public moment = moment_['default'];\n\n /**\n * Arrow Item of Picker Element. Required to set the position of arrow correctly\n */\n public pickerPosition = TooltipPosition;\n @ViewChild('pickerarrow', { static: false })\n public pickerarrow: ElementRef<HTMLElement> | null;\n\n /**\n * Name of the container for content (e.g. icon) on which the tooltip is displayed.\n */\n @ViewChild('pickerbutton', { static: true })\n public pickerbutton: ElementRef<HTMLElement>;\n\n /**\n * TextBox Placeholder\n */\n @Input() public placeholder: string = null;\n\n /**\n * Position of the picker arrow at the left\n */\n public posArrowLeft: number | null = null;\n\n /**\n * Position of the picker arrow at the top\n */\n public posArrowTop: number | null = null;\n\n /**\n * Position of the picker at the left\n */\n public posPopupLeft: number = 0;\n\n /**\n * Position of the picker at the top\n */\n public posPopupTop: number = 0;\n\n /**\n * Position of the datetime picker. Values: left|top|right|bottom|auto\n *\n * Value 'auto' can be combined with another value.\n */\n @Input()\n public position: string = 'bottomend|topend';\n\n /**\n * Resource Key f\xFCr Validation Message DateTimeFormat bei Control\n */\n @Input() public validationmessagedatetimeformat: string = this.validationKeyService.ValidationErrorDatetimeFormat;\n\n /**\n * Resource Key f\xFCr Validation Message DateTimeFormat in Validation Summary\n */\n @Input() public validationmessagedatetimeformatsummary: string =\n this.validationKeyService.ValidationErrorSummaryDatetimeFormat;\n\n /**\n * Resource Key f\xFCr Validation Message Required bei Control\n */\n @Input() public validationmessagerequired: string = this.validationKeyService.ValidationErrorRequired;\n\n /**\n * Resource Key f\xFCr Validation Message Required in Validation Summary\n */\n @Input() public validationmessagerequiredsummary: string = this.validationKeyService.ValidationErrorSummaryRequired;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Constructor\n * @param formlayout SacFormLayoutCommon to define scoped layout settings\n * @param injector Injector for injecting services\n * @param elementRef reference to html element\n */\n constructor(\n formlayout: SacFormLayoutCommon,\n injector: Injector,\n protected elementRef: ElementRef,\n private readonly cdRef: ChangeDetectorRef\n ) {\n super(formlayout, injector);\n }\n\n // #endregion Constructors\n\n // #region Public Getters And Setters\n\n /**\n * Setter for the name of the container for the tooltip. Is required as the tooltip can be hidden via ngIf.\n */\n @ViewChild('picker', { static: false })\n public set picker(picker: ElementRef) {\n if (picker !== undefined) {\n document.body.appendChild(picker.nativeElement);\n }\n\n this.pickercontainer = picker;\n this.onContentChange();\n this.cdRef.detectChanges();\n }\n\n public get tooltop(): ElementRef {\n return this.pickercontainer;\n }\n\n /**\n * getter f\xFCr valuestring\n */\n public get valuestring(): string {\n if (this.value === null) {\n return this._valueAsString;\n } else {\n const date = this.moment.utc(this.value);\n return date.local().format(this.GetDateTimeFormatString());\n }\n }\n\n /**\n * Das Input bekommt das value von typ string\n */\n @Input()\n public set valuestring(v: string) {\n this._valueAsString = v;\n let date: moment_.Moment = this.moment(v, [this.GetDateTimeFormatString()], true);\n\n date = this.ModifyParsedDateTimeValue(date).utc();\n\n if (date.isValid()) {\n this.value = date.toDate();\n } else {\n this.value = null;\n }\n }\n\n // #endregion Public Getters And Setters\n\n // #region Public Methods\n\n /**\n * Die methode returns dateTime in string\n */\n public abstract GetDateTimeFormatString(): string;\n\n /**\n * Returns the position of the tooltip\n */\n public GetPickerPosition(): TooltipPosition {\n return this.popupHelper.getDisplayPosition(\n this.pickerbutton,\n this.pickercontainer,\n this.getArrowWidth(),\n this.getArrowHeight(),\n this.position,\n false\n );\n }\n\n /**\n * Die methode modifiziert das eingegebene Value von typ Moment\n */\n public abstract ModifyParsedDateTimeValue(v: moment_.Moment): moment_.Moment;\n\n /**\n * JSON Date String in ein UTC DateTime Object konvertieren, welches vom Control verwendete werden kann\n */\n public getDate(timestamp): moment.Moment {\n const date = new Date(timestamp);\n const year = date.getUTCFullYear();\n const month = date.getUTCMonth();\n const day = date.getUTCDate();\n const hours = date.getUTCHours();\n const minutes = date.getUTCMinutes();\n const seconds = date.getUTCSeconds();\n\n return this.moment(Date.UTC(year, month, day, hours, minutes, seconds));\n }\n\n /**\n * Calculates the height of the tooltip\n */\n public getPickerHeight(): number {\n return this.popupHelper.getPopupHeight(this.pickercontainer);\n }\n\n /**\n * Calculates the width of the picker\n */\n public getPickerWidth(): number {\n return this.popupHelper.getPopupWidth(this.pickercontainer);\n }\n\n public ngDoCheck(): void {\n // this.onContentChange();\n }\n\n public ngOnDestroy(): void {\n // Unregister Event Listener\n window.removeEventListener('scroll', this.onContentChange, true);\n window.removeEventListener('resize', this.onContentChange, true);\n }\n\n /**\n * Init Event\n */\n public ngOnInit(): void {\n super.ngOnInit();\n this.setDateTimeFormat();\n\n // Register Event Listener\n window.addEventListener('scroll', this.onContentChange, true);\n window.addEventListener('resize', this.onContentChange, true);\n }\n\n /**\n * setzt das value von typ string zu property valuestring\n */\n public setValueString(v: string) {\n this.valuestring = v;\n }\n\n /**\n * Validator\n */\n public validateData(c: AbstractControl): ValidationErrors | null {\n let error: ValidationErrors | null = null;\n\n if (this.valuestring !== null && this.valuestring.indexOf('_') >= 0) {\n error = CreateValidationError(\n 'invalidtype',\n this.validationmessagedatetimeformat,\n this.validationmessagedatetimeformatsummary\n );\n\n if (error) {\n return error;\n }\n }\n\n error = Validation.isValidDate(\n this.validationmessagedatetimeformat,\n this.validationmessagedatetimeformatsummary\n )(c);\n\n if (this.isrequired) {\n error = Validation.required(this.validationmessagerequired, this.validationmessagerequiredsummary)(c);\n }\n\n return error;\n }\n\n /**\n * Overwrite WriteValue to Set correct Date Object\n */\n public writeValue(value: Date | string) {\n if (value === '' || value === null || value === undefined) {\n // Reset Value String, damit beim Update des Models auch das Input Feld geleert wird.\n this._valueAsString = '';\n // Set Internal Property\n this._value = null;\n } else {\n this._value = this.getDate(value).toDate();\n }\n\n super.writeValue(this._value);\n }\n\n // #endregion Public Methods\n\n // #region Protected Methods\n\n protected getArrowHeight(): number {\n return this.pickerarrow ? this.pickerarrow.nativeElement.offsetHeight : 0;\n }\n\n protected getArrowWidth(): number {\n return this.pickerarrow ? this.pickerarrow.nativeElement.offsetWidth : 0;\n }\n\n /**\n * Calculates the position of the tooltip from links\n */\n protected getPositionLeft(): number {\n const value = this.popupHelper.getPositionLeft(\n this.pickerbutton,\n this.pickercontainer,\n this.elementRef,\n this.getArrowWidth(),\n this.getArrowHeight(),\n this.position,\n false\n );\n this.posPopupLeft = value;\n\n switch (this.GetPickerPosition()) {\n case TooltipPosition.top:\n case TooltipPosition.bottom:\n this.posArrowLeft = this.getPickerWidth() / 2 - -this.getArrowWidth();\n break;\n case TooltipPosition.topend:\n case TooltipPosition.bottomend:\n this.posArrowLeft =\n this.getPickerWidth() -\n this.getArrowWidth() / 2 -\n this.popupHelper.getContainerWidth(this.pickerbutton, false) / 2;\n break;\n default:\n this.posArrowLeft = null;\n break;\n }\n\n return value;\n }\n\n /**\n * Calculates the position of the tooltip from the top\n */\n protected getPositionTop(): number {\n const value = this.popupHelper.getPositionTop(\n this.pickerbutton,\n this.pickercontainer,\n this.elementRef,\n this.getArrowWidth(),\n this.getArrowHeight(),\n this.position,\n false\n );\n this.posPopupTop = value;\n\n switch (this.GetPickerPosition()) {\n case TooltipPosition.left:\n case TooltipPosition.right:\n this.posArrowTop = this.getPickerHeight() / 2 - 6.5;\n break;\n default:\n this.posArrowTop = null;\n break;\n }\n\n return value;\n }\n\n // #endregion Protected Methods\n\n // #region Private Methods\n\n /**\n * method if content has changed and proportions need to be reset in the UI.\n */\n private readonly onContentChange = (): void => {\n // Do nothing if is not visible\n if (!this._showselector) {\n return;\n }\n\n setTimeout(() => {\n this.getPositionLeft();\n this.getPositionTop();\n });\n };\n\n private setDateTimeFormat(): void {\n // HACK: Add addition property to FormControl. Can be fixed if solution for ticket: https://github.com/angular/angular/issues/19686\n if (this.ngControl) {\n (this.ngControl as unknown as IDateTimeControl).datetimeformatstring = this.GetDateTimeFormatString();\n }\n }\n\n // #endregion Private Methods\n}\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"abb98f77750b724a23cd9fef0fc62c32997ee03c"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
1
+ function cov_10tnjmv4ka(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/common/basedatetimecontrol.mjs";var hash="c492f218b6f6290e627a8cfa2d037a5f1065408f";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/common/basedatetimecontrol.mjs",statementMap:{"0":{start:{line:23,column:8},end:{line:23,column:36}},"1":{start:{line:24,column:8},end:{line:24,column:37}},"2":{start:{line:25,column:8},end:{line:25,column:27}},"3":{start:{line:30,column:8},end:{line:30,column:45}},"4":{start:{line:34,column:8},end:{line:34,column:33}},"5":{start:{line:38,column:8},end:{line:38,column:47}},"6":{start:{line:42,column:8},end:{line:42,column:35}},"7":{start:{line:46,column:8},end:{line:46,column:32}},"8":{start:{line:50,column:8},end:{line:50,column:41}},"9":{start:{line:54,column:8},end:{line:54,column:46}},"10":{start:{line:58,column:8},end:{line:58,column:32}},"11":{start:{line:62,column:8},end:{line:62,column:33}},"12":{start:{line:66,column:8},end:{line:66,column:32}},"13":{start:{line:70,column:8},end:{line:70,column:30}},"14":{start:{line:74,column:8},end:{line:74,column:29}},"15":{start:{line:80,column:8},end:{line:80,column:43}},"16":{start:{line:84,column:8},end:{line:84,column:103}},"17":{start:{line:88,column:8},end:{line:88,column:117}},"18":{start:{line:92,column:8},end:{line:92,column:91}},"19":{start:{line:96,column:8},end:{line:96,column:105}},"20":{start:{line:102,column:8},end:{line:111,column:10}},"21":{start:{line:104,column:12},end:{line:106,column:13}},"22":{start:{line:105,column:16},end:{line:105,column:23}},"23":{start:{line:107,column:12},end:{line:110,column:15}},"24":{start:{line:108,column:16},end:{line:108,column:39}},"25":{start:{line:109,column:16},end:{line:109,column:38}},"26":{start:{line:119,column:8},end:{line:121,column:9}},"27":{start:{line:120,column:12},end:{line:120,column:60}},"28":{start:{line:122,column:8},end:{line:122,column:38}},"29":{start:{line:123,column:8},end:{line:123,column:31}},"30":{start:{line:124,column:8},end:{line:124,column:35}},"31":{start:{line:127,column:8},end:{line:127,column:36}},"32":{start:{line:133,column:8},end:{line:139,column:9}},"33":{start:{line:134,column:12},end:{line:134,column:39}},"34":{start:{line:137,column:25},end:{line:137,column:52}},"35":{start:{line:138,column:12},end:{line:138,column:71}},"36":{start:{line:145,column:8},end:{line:145,column:32}},"37":{start:{line:146,column:19},end:{line:146,column:73}},"38":{start:{line:147,column:8},end:{line:147,column:58}},"39":{start:{line:148,column:8},end:{line:153,column:9}},"40":{start:{line:149,column:12},end:{line:149,column:39}},"41":{start:{line:152,column:12},end:{line:152,column:30}},"42":{start:{line:159,column:8},end:{line:159,column:159}},"43":{start:{line:165,column:21},end:{line:165,column:40}},"44":{start:{line:166,column:21},end:{line:166,column:42}},"45":{start:{line:167,column:22},end:{line:167,column:40}},"46":{start:{line:168,column:20},end:{line:168,column:37}},"47":{start:{line:169,column:22},end:{line:169,column:40}},"48":{start:{line:170,column:24},end:{line:170,column:44}},"49":{start:{line:171,column:24},end:{line:171,column:44}},"50":{start:{line:172,column:8},end:{line:172,column:80}},"51":{start:{line:178,column:8},end:{line:178,column:69}},"52":{start:{line:184,column:8},end:{line:184,column:68}},"53":{start:{line:191,column:8},end:{line:191,column:73}},"54":{start:{line:192,column:8},end:{line:192,column:73}},"55":{start:{line:198,column:8},end:{line:198,column:25}},"56":{start:{line:199,column:8},end:{line:199,column:33}},"57":{start:{line:201,column:8},end:{line:201,column:70}},"58":{start:{line:202,column:8},end:{line:202,column:70}},"59":{start:{line:208,column:8},end:{line:208,column:29}},"60":{start:{line:214,column:20},end:{line:214,column:24}},"61":{start:{line:215,column:8},end:{line:220,column:9}},"62":{start:{line:216,column:12},end:{line:216,column:140}},"63":{start:{line:217,column:12},end:{line:219,column:13}},"64":{start:{line:218,column:16},end:{line:218,column:29}},"65":{start:{line:221,column:8},end:{line:221,column:125}},"66":{start:{line:222,column:8},end:{line:224,column:9}},"67":{start:{line:223,column:12},end:{line:223,column:114}},"68":{start:{line:225,column:8},end:{line:225,column:21}},"69":{start:{line:231,column:8},end:{line:239,column:9}},"70":{start:{line:233,column:12},end:{line:233,column:37}},"71":{start:{line:235,column:12},end:{line:235,column:31}},"72":{start:{line:238,column:12},end:{line:238,column:55}},"73":{start:{line:240,column:8},end:{line:240,column:38}},"74":{start:{line:245,column:8},end:{line:245,column:82}},"75":{start:{line:248,column:8},end:{line:248,column:81}},"76":{start:{line:254,column:22},end:{line:254,column:179}},"77":{start:{line:256,column:8},end:{line:261,column:9}},"78":{start:{line:257,column:12},end:{line:257,column:34}},"79":{start:{line:260,column:12},end:{line:260,column:38}},"80":{start:{line:262,column:8},end:{line:281,column:9}},"81":{start:{line:265,column:16},end:{line:265,column:86}},"82":{start:{line:266,column:16},end:{line:266,column:22}},"83":{start:{line:269,column:16},end:{line:272,column:89}},"84":{start:{line:274,column:16},end:{line:276,column:17}},"85":{start:{line:275,column:20},end:{line:275,column:56}},"86":{start:{line:277,column:16},end:{line:277,column:22}},"87":{start:{line:279,column:16},end:{line:279,column:41}},"88":{start:{line:280,column:16},end:{line:280,column:22}},"89":{start:{line:282,column:8},end:{line:282,column:21}},"90":{start:{line:288,column:22},end:{line:288,column:178}},"91":{start:{line:289,column:8},end:{line:289,column:33}},"92":{start:{line:290,column:8},end:{line:298,column:9}},"93":{start:{line:293,column:16},end:{line:293,column:68}},"94":{start:{line:294,column:16},end:{line:294,column:22}},"95":{start:{line:296,column:16},end:{line:296,column:40}},"96":{start:{line:297,column:16},end:{line:297,column:22}},"97":{start:{line:299,column:8},end:{line:299,column:21}},"98":{start:{line:303,column:8},end:{line:305,column:9}},"99":{start:{line:304,column:12},end:{line:304,column:81}},"100":{start:{line:308,column:0},end:{line:308,column:305}},"101":{start:{line:309,column:0},end:{line:309,column:858}},"102":{start:{line:310,column:0},end:{line:337,column:20}},"103":{start:{line:312,column:42},end:{line:312,column:164}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:22,column:4},end:{line:22,column:5}},loc:{start:{line:22,column:57},end:{line:112,column:5}},line:22},"1":{name:"(anonymous_1)",decl:{start:{line:102,column:31},end:{line:102,column:32}},loc:{start:{line:102,column:37},end:{line:111,column:9}},line:102},"2":{name:"(anonymous_2)",decl:{start:{line:107,column:23},end:{line:107,column:24}},loc:{start:{line:107,column:29},end:{line:110,column:13}},line:107},"3":{name:"(anonymous_3)",decl:{start:{line:118,column:4},end:{line:118,column:5}},loc:{start:{line:118,column:23},end:{line:125,column:5}},line:118},"4":{name:"(anonymous_4)",decl:{start:{line:126,column:4},end:{line:126,column:5}},loc:{start:{line:126,column:18},end:{line:128,column:5}},line:126},"5":{name:"(anonymous_5)",decl:{start:{line:132,column:4},end:{line:132,column:5}},loc:{start:{line:132,column:22},end:{line:140,column:5}},line:132},"6":{name:"(anonymous_6)",decl:{start:{line:144,column:4},end:{line:144,column:5}},loc:{start:{line:144,column:23},end:{line:154,column:5}},line:144},"7":{name:"(anonymous_7)",decl:{start:{line:158,column:4},end:{line:158,column:5}},loc:{start:{line:158,column:24},end:{line:160,column:5}},line:158},"8":{name:"(anonymous_8)",decl:{start:{line:164,column:4},end:{line:164,column:5}},loc:{start:{line:164,column:23},end:{line:173,column:5}},line:164},"9":{name:"(anonymous_9)",decl:{start:{line:177,column:4},end:{line:177,column:5}},loc:{start:{line:177,column:22},end:{line:179,column:5}},line:177},"10":{name:"(anonymous_10)",decl:{start:{line:183,column:4},end:{line:183,column:5}},loc:{start:{line:183,column:21},end:{line:185,column:5}},line:183},"11":{name:"(anonymous_11)",decl:{start:{line:186,column:4},end:{line:186,column:5}},loc:{start:{line:186,column:16},end:{line:188,column:5}},line:186},"12":{name:"(anonymous_12)",decl:{start:{line:189,column:4},end:{line:189,column:5}},loc:{start:{line:189,column:18},end:{line:193,column:5}},line:189},"13":{name:"(anonymous_13)",decl:{start:{line:197,column:4},end:{line:197,column:5}},loc:{start:{line:197,column:15},end:{line:203,column:5}},line:197},"14":{name:"(anonymous_14)",decl:{start:{line:207,column:4},end:{line:207,column:5}},loc:{start:{line:207,column:22},end:{line:209,column:5}},line:207},"15":{name:"(anonymous_15)",decl:{start:{line:213,column:4},end:{line:213,column:5}},loc:{start:{line:213,column:20},end:{line:226,column:5}},line:213},"16":{name:"(anonymous_16)",decl:{start:{line:230,column:4},end:{line:230,column:5}},loc:{start:{line:230,column:22},end:{line:241,column:5}},line:230},"17":{name:"(anonymous_17)",decl:{start:{line:244,column:4},end:{line:244,column:5}},loc:{start:{line:244,column:21},end:{line:246,column:5}},line:244},"18":{name:"(anonymous_18)",decl:{start:{line:247,column:4},end:{line:247,column:5}},loc:{start:{line:247,column:20},end:{line:249,column:5}},line:247},"19":{name:"(anonymous_19)",decl:{start:{line:253,column:4},end:{line:253,column:5}},loc:{start:{line:253,column:22},end:{line:283,column:5}},line:253},"20":{name:"(anonymous_20)",decl:{start:{line:287,column:4},end:{line:287,column:5}},loc:{start:{line:287,column:21},end:{line:300,column:5}},line:287},"21":{name:"(anonymous_21)",decl:{start:{line:301,column:4},end:{line:301,column:5}},loc:{start:{line:301,column:24},end:{line:306,column:5}},line:301},"22":{name:"(anonymous_22)",decl:{start:{line:312,column:28},end:{line:312,column:29}},loc:{start:{line:312,column:40},end:{line:312,column:166}},line:312}},branchMap:{"0":{loc:{start:{line:104,column:12},end:{line:106,column:13}},type:"if",locations:[{start:{line:104,column:12},end:{line:106,column:13}},{start:{line:104,column:12},end:{line:106,column:13}}],line:104},"1":{loc:{start:{line:119,column:8},end:{line:121,column:9}},type:"if",locations:[{start:{line:119,column:8},end:{line:121,column:9}},{start:{line:119,column:8},end:{line:121,column:9}}],line:119},"2":{loc:{start:{line:133,column:8},end:{line:139,column:9}},type:"if",locations:[{start:{line:133,column:8},end:{line:139,column:9}},{start:{line:133,column:8},end:{line:139,column:9}}],line:133},"3":{loc:{start:{line:148,column:8},end:{line:153,column:9}},type:"if",locations:[{start:{line:148,column:8},end:{line:153,column:9}},{start:{line:148,column:8},end:{line:153,column:9}}],line:148},"4":{loc:{start:{line:215,column:8},end:{line:220,column:9}},type:"if",locations:[{start:{line:215,column:8},end:{line:220,column:9}},{start:{line:215,column:8},end:{line:220,column:9}}],line:215},"5":{loc:{start:{line:215,column:12},end:{line:215,column:75}},type:"binary-expr",locations:[{start:{line:215,column:12},end:{line:215,column:37}},{start:{line:215,column:41},end:{line:215,column:75}}],line:215},"6":{loc:{start:{line:217,column:12},end:{line:219,column:13}},type:"if",locations:[{start:{line:217,column:12},end:{line:219,column:13}},{start:{line:217,column:12},end:{line:219,column:13}}],line:217},"7":{loc:{start:{line:222,column:8},end:{line:224,column:9}},type:"if",locations:[{start:{line:222,column:8},end:{line:224,column:9}},{start:{line:222,column:8},end:{line:224,column:9}}],line:222},"8":{loc:{start:{line:231,column:8},end:{line:239,column:9}},type:"if",locations:[{start:{line:231,column:8},end:{line:239,column:9}},{start:{line:231,column:8},end:{line:239,column:9}}],line:231},"9":{loc:{start:{line:231,column:12},end:{line:231,column:65}},type:"binary-expr",locations:[{start:{line:231,column:12},end:{line:231,column:24}},{start:{line:231,column:28},end:{line:231,column:42}},{start:{line:231,column:46},end:{line:231,column:65}}],line:231},"10":{loc:{start:{line:245,column:15},end:{line:245,column:81}},type:"cond-expr",locations:[{start:{line:245,column:34},end:{line:245,column:77}},{start:{line:245,column:80},end:{line:245,column:81}}],line:245},"11":{loc:{start:{line:248,column:15},end:{line:248,column:80}},type:"cond-expr",locations:[{start:{line:248,column:34},end:{line:248,column:76}},{start:{line:248,column:79},end:{line:248,column:80}}],line:248},"12":{loc:{start:{line:256,column:8},end:{line:261,column:9}},type:"if",locations:[{start:{line:256,column:8},end:{line:261,column:9}},{start:{line:256,column:8},end:{line:261,column:9}}],line:256},"13":{loc:{start:{line:262,column:8},end:{line:281,column:9}},type:"switch",locations:[{start:{line:263,column:12},end:{line:263,column:37}},{start:{line:264,column:12},end:{line:266,column:22}},{start:{line:267,column:12},end:{line:267,column:40}},{start:{line:268,column:12},end:{line:277,column:22}},{start:{line:278,column:12},end:{line:280,column:22}}],line:262},"14":{loc:{start:{line:274,column:16},end:{line:276,column:17}},type:"if",locations:[{start:{line:274,column:16},end:{line:276,column:17}},{start:{line:274,column:16},end:{line:276,column:17}}],line:274},"15":{loc:{start:{line:290,column:8},end:{line:298,column:9}},type:"switch",locations:[{start:{line:291,column:12},end:{line:291,column:38}},{start:{line:292,column:12},end:{line:294,column:22}},{start:{line:295,column:12},end:{line:297,column:22}}],line:290},"16":{loc:{start:{line:303,column:8},end:{line:305,column:9}},type:"if",locations:[{start:{line:303,column:8},end:{line:305,column:9}},{start:{line:303,column:8},end:{line:305,column:9}}],line:303}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0,0,0,0],"14":[0,0],"15":[0,0,0],"16":[0,0]},inputSourceMap:{version:3,file:"basedatetimecontrol.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/common/basedatetimecontrol.ts"],names:[],mappings:"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",sourcesContent:["import { SacFormLayoutCommon } from '../controls/layout/formlayout';\nimport { IDateTimeControl } from '../interfaces/idatetimecontrol';\nimport { TooltipPosition } from '../utilities/enums';\nimport { PopUpHelper } from '../utilities/popuphelper';\nimport { Validation } from '../validation';\nimport { CreateValidationError } from '../validation/validationerrorcreator';\nimport { SacBaseModelControl } from './basemodelcontrol';\nimport {\n ChangeDetectorRef,\n Directive,\n DoCheck,\n ElementRef,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { AbstractControl, ValidationErrors } from '@angular/forms';\nimport * as moment_ from 'moment';\n\n/**\n * Base Klasse f\xFCr Date/Time Controls\n */\n@Directive()\nexport abstract class SacBaseDateTimeControl extends SacBaseModelControl<Date> implements OnInit, OnDestroy, DoCheck {\n // #region Properties\n\n /**\n * Helper class to display tooltip on correct position\n */\n private readonly popupHelper: PopUpHelper = new PopUpHelper();\n\n /**\n * das property enthielt das Value als string. Default ist ''\n */\n protected _valueAsString = '';\n\n /**\n * Containers for the datetime picker\n */\n protected pickercontainer: ElementRef<HTMLElement>;\n\n /**\n * Property for enum in Angular HTML template\n */\n public TooltipPosition = TooltipPosition;\n\n /**\n * Definiert ob der Date Selector angezeigt wird\n */\n public _showselector: boolean = false;\n\n /**\n * Definiert das Control als Required\n */\n @Input() public isrequired: boolean = false;\n\n /**\n * Moment JS Instance\n */\n public moment = moment_['default'];\n\n /**\n * Arrow Item of Picker Element. Required to set the position of arrow correctly\n */\n public pickerPosition = TooltipPosition;\n @ViewChild('pickerarrow', { static: false })\n public pickerarrow: ElementRef<HTMLElement> | null;\n\n /**\n * Name of the container for content (e.g. icon) on which the tooltip is displayed.\n */\n @ViewChild('pickerbutton', { static: true })\n public pickerbutton: ElementRef<HTMLElement>;\n\n /**\n * TextBox Placeholder\n */\n @Input() public placeholder: string = null;\n\n /**\n * Position of the picker arrow at the left\n */\n public posArrowLeft: number | null = null;\n\n /**\n * Position of the picker arrow at the top\n */\n public posArrowTop: number | null = null;\n\n /**\n * Position of the picker at the left\n */\n public posPopupLeft: number = 0;\n\n /**\n * Position of the picker at the top\n */\n public posPopupTop: number = 0;\n\n /**\n * Position of the datetime picker. Values: left|top|right|bottom|auto\n *\n * Value 'auto' can be combined with another value.\n */\n @Input()\n public position: string = 'bottomend|topend';\n\n /**\n * Resource Key f\xFCr Validation Message DateTimeFormat bei Control\n */\n @Input() public validationmessagedatetimeformat: string = this.validationKeyService.ValidationErrorDatetimeFormat;\n\n /**\n * Resource Key f\xFCr Validation Message DateTimeFormat in Validation Summary\n */\n @Input() public validationmessagedatetimeformatsummary: string =\n this.validationKeyService.ValidationErrorSummaryDatetimeFormat;\n\n /**\n * Resource Key f\xFCr Validation Message Required bei Control\n */\n @Input() public validationmessagerequired: string = this.validationKeyService.ValidationErrorRequired;\n\n /**\n * Resource Key f\xFCr Validation Message Required in Validation Summary\n */\n @Input() public validationmessagerequiredsummary: string = this.validationKeyService.ValidationErrorSummaryRequired;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Constructor\n * @param formlayout SacFormLayoutCommon to define scoped layout settings\n * @param injector Injector for injecting services\n * @param elementRef reference to html element\n */\n constructor(\n formlayout: SacFormLayoutCommon,\n injector: Injector,\n protected elementRef: ElementRef,\n private readonly cdRef: ChangeDetectorRef\n ) {\n super(formlayout, injector);\n }\n\n // #endregion Constructors\n\n // #region Public Getters And Setters\n\n /**\n * Setter for the name of the container for the tooltip. Is required as the tooltip can be hidden via ngIf.\n */\n @ViewChild('picker', { static: false })\n public set picker(picker: ElementRef) {\n if (picker !== undefined) {\n document.body.appendChild(picker.nativeElement);\n }\n\n this.pickercontainer = picker;\n this.onContentChange();\n this.cdRef.detectChanges();\n }\n\n public get tooltop(): ElementRef {\n return this.pickercontainer;\n }\n\n /**\n * getter f\xFCr valuestring\n */\n public get valuestring(): string {\n if (this.value === null) {\n return this._valueAsString;\n } else {\n const date = this.moment.utc(this.value);\n return date.local().format(this.GetDateTimeFormatString());\n }\n }\n\n /**\n * Das Input bekommt das value von typ string\n */\n @Input()\n public set valuestring(v: string) {\n this._valueAsString = v;\n let date: moment_.Moment = this.moment(v, [this.GetDateTimeFormatString()], true);\n\n date = this.ModifyParsedDateTimeValue(date).utc();\n\n if (date.isValid()) {\n this.value = date.toDate();\n } else {\n this.value = null;\n }\n }\n\n // #endregion Public Getters And Setters\n\n // #region Public Methods\n\n /**\n * Die methode returns dateTime in string\n */\n public abstract GetDateTimeFormatString(): string;\n\n /**\n * Returns the position of the tooltip\n */\n public GetPickerPosition(): TooltipPosition {\n return this.popupHelper.getDisplayPosition(\n this.pickerbutton,\n this.pickercontainer,\n this.getArrowWidth(),\n this.getArrowHeight(),\n this.position,\n false\n );\n }\n\n /**\n * Die methode modifiziert das eingegebene Value von typ Moment\n */\n public abstract ModifyParsedDateTimeValue(v: moment_.Moment): moment_.Moment;\n\n /**\n * JSON Date String in ein UTC DateTime Object konvertieren, welches vom Control verwendete werden kann\n */\n public getDate(timestamp): moment.Moment {\n const date = new Date(timestamp);\n const year = date.getUTCFullYear();\n const month = date.getUTCMonth();\n const day = date.getUTCDate();\n const hours = date.getUTCHours();\n const minutes = date.getUTCMinutes();\n const seconds = date.getUTCSeconds();\n\n return this.moment(Date.UTC(year, month, day, hours, minutes, seconds));\n }\n\n /**\n * Calculates the height of the tooltip\n */\n public getPickerHeight(): number {\n return this.popupHelper.getPopupHeight(this.pickercontainer);\n }\n\n /**\n * Calculates the width of the picker\n */\n public getPickerWidth(): number {\n return this.popupHelper.getPopupWidth(this.pickercontainer);\n }\n\n public ngDoCheck(): void {\n // this.onContentChange();\n }\n\n public ngOnDestroy(): void {\n // Unregister Event Listener\n window.removeEventListener('scroll', this.onContentChange, true);\n window.removeEventListener('resize', this.onContentChange, true);\n }\n\n /**\n * Init Event\n */\n public ngOnInit(): void {\n super.ngOnInit();\n this.setDateTimeFormat();\n\n // Register Event Listener\n window.addEventListener('scroll', this.onContentChange, true);\n window.addEventListener('resize', this.onContentChange, true);\n }\n\n /**\n * setzt das value von typ string zu property valuestring\n */\n public setValueString(v: string) {\n this.valuestring = v;\n }\n\n /**\n * Validator\n */\n public validateData(c: AbstractControl): ValidationErrors | null {\n let error: ValidationErrors | null = null;\n\n if (this.valuestring !== null && this.valuestring.indexOf('_') >= 0) {\n error = CreateValidationError(\n 'invalidtype',\n this.validationmessagedatetimeformat,\n this.validationmessagedatetimeformatsummary\n );\n\n if (error) {\n return error;\n }\n }\n\n error = Validation.isValidDate(\n this.validationmessagedatetimeformat,\n this.validationmessagedatetimeformatsummary\n )(c);\n\n if (this.isrequired) {\n error = Validation.required(this.validationmessagerequired, this.validationmessagerequiredsummary)(c);\n }\n\n return error;\n }\n\n /**\n * Overwrite WriteValue to Set correct Date Object\n */\n public writeValue(value: Date | string) {\n if (value === '' || value === null || value === undefined) {\n // Reset Value String, damit beim Update des Models auch das Input Feld geleert wird.\n this._valueAsString = '';\n // Set Internal Property\n this._value = null;\n } else {\n this._value = this.getDate(value).toDate();\n }\n\n super.writeValue(this._value);\n }\n\n // #endregion Public Methods\n\n // #region Protected Methods\n\n protected getArrowHeight(): number {\n return this.pickerarrow ? this.pickerarrow.nativeElement.offsetHeight : 0;\n }\n\n protected getArrowWidth(): number {\n return this.pickerarrow ? this.pickerarrow.nativeElement.offsetWidth : 0;\n }\n\n /**\n * Calculates the position of the tooltip from links\n */\n protected getPositionLeft(): number {\n const value = this.popupHelper.getPositionLeft(\n this.pickerbutton,\n this.pickercontainer,\n this.elementRef,\n this.getArrowWidth(),\n this.getArrowHeight(),\n this.position,\n false\n );\n\n // Ensure that pop-ups never appear outside the visible area on the left\n if (value < 0) {\n this.posPopupLeft = 5;\n } else {\n this.posPopupLeft = value;\n }\n\n switch (this.GetPickerPosition()) {\n case TooltipPosition.top:\n case TooltipPosition.bottom:\n this.posArrowLeft = this.getPickerWidth() / 2 - -this.getArrowWidth();\n break;\n case TooltipPosition.topend:\n case TooltipPosition.bottomend:\n this.posArrowLeft =\n this.getPickerWidth() -\n this.getArrowWidth() / 2 -\n this.popupHelper.getContainerWidth(this.pickerbutton, false) / 2;\n\n // Correction by Arrow if popup is outside the left margin\n if (value < 0) {\n this.posArrowLeft -= value * -1 + 5;\n }\n break;\n default:\n this.posArrowLeft = null;\n break;\n }\n\n return value;\n }\n\n /**\n * Calculates the position of the tooltip from the top\n */\n protected getPositionTop(): number {\n const value = this.popupHelper.getPositionTop(\n this.pickerbutton,\n this.pickercontainer,\n this.elementRef,\n this.getArrowWidth(),\n this.getArrowHeight(),\n this.position,\n false\n );\n this.posPopupTop = value;\n\n switch (this.GetPickerPosition()) {\n case TooltipPosition.left:\n case TooltipPosition.right:\n this.posArrowTop = this.getPickerHeight() / 2 - 6.5;\n break;\n default:\n this.posArrowTop = null;\n break;\n }\n\n return value;\n }\n\n // #endregion Protected Methods\n\n // #region Private Methods\n\n /**\n * method if content has changed and proportions need to be reset in the UI.\n */\n private readonly onContentChange = (): void => {\n // Do nothing if is not visible\n if (!this._showselector) {\n return;\n }\n\n setTimeout(() => {\n this.getPositionLeft();\n this.getPositionTop();\n });\n };\n\n private setDateTimeFormat(): void {\n // HACK: Add addition property to FormControl. Can be fixed if solution for ticket: https://github.com/angular/angular/issues/19686\n if (this.ngControl) {\n (this.ngControl as unknown as IDateTimeControl).datetimeformatstring = this.GetDateTimeFormatString();\n }\n }\n\n // #endregion Private Methods\n}\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"c492f218b6f6290e627a8cfa2d037a5f1065408f"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
2
  cov_10tnjmv4ka=function(){return actualCoverage;};}return actualCoverage;}cov_10tnjmv4ka();import{TooltipPosition}from'../utilities/enums';import{PopUpHelper}from'../utilities/popuphelper';import{Validation}from'../validation';import{CreateValidationError}from'../validation/validationerrorcreator';import{SacBaseModelControl}from'./basemodelcontrol';import{Directive,Input,ViewChild}from'@angular/core';import*as moment_ from'moment';import*as i0 from"@angular/core";import*as i1 from"../controls/layout/formlayout";/**
3
3
  * Base Klasse für Date/Time Controls
4
4
  */export class SacBaseDateTimeControl extends SacBaseModelControl{// #endregion Properties
@@ -83,8 +83,10 @@ cov_10tnjmv4ka().s[71]++;this._value=null;}else{cov_10tnjmv4ka().b[8][1]++;cov_1
83
83
  // #region Protected Methods
84
84
  getArrowHeight(){cov_10tnjmv4ka().f[17]++;cov_10tnjmv4ka().s[74]++;return this.pickerarrow?(cov_10tnjmv4ka().b[10][0]++,this.pickerarrow.nativeElement.offsetHeight):(cov_10tnjmv4ka().b[10][1]++,0);}getArrowWidth(){cov_10tnjmv4ka().f[18]++;cov_10tnjmv4ka().s[75]++;return this.pickerarrow?(cov_10tnjmv4ka().b[11][0]++,this.pickerarrow.nativeElement.offsetWidth):(cov_10tnjmv4ka().b[11][1]++,0);}/**
85
85
  * Calculates the position of the tooltip from links
86
- */getPositionLeft(){cov_10tnjmv4ka().f[19]++;const value=(cov_10tnjmv4ka().s[76]++,this.popupHelper.getPositionLeft(this.pickerbutton,this.pickercontainer,this.elementRef,this.getArrowWidth(),this.getArrowHeight(),this.position,false));cov_10tnjmv4ka().s[77]++;this.posPopupLeft=value;cov_10tnjmv4ka().s[78]++;switch(this.GetPickerPosition()){case TooltipPosition.top:cov_10tnjmv4ka().b[12][0]++;case TooltipPosition.bottom:cov_10tnjmv4ka().b[12][1]++;cov_10tnjmv4ka().s[79]++;this.posArrowLeft=this.getPickerWidth()/2- -this.getArrowWidth();cov_10tnjmv4ka().s[80]++;break;case TooltipPosition.topend:cov_10tnjmv4ka().b[12][2]++;case TooltipPosition.bottomend:cov_10tnjmv4ka().b[12][3]++;cov_10tnjmv4ka().s[81]++;this.posArrowLeft=this.getPickerWidth()-this.getArrowWidth()/2-this.popupHelper.getContainerWidth(this.pickerbutton,false)/2;cov_10tnjmv4ka().s[82]++;break;default:cov_10tnjmv4ka().b[12][4]++;cov_10tnjmv4ka().s[83]++;this.posArrowLeft=null;cov_10tnjmv4ka().s[84]++;break;}cov_10tnjmv4ka().s[85]++;return value;}/**
86
+ */getPositionLeft(){cov_10tnjmv4ka().f[19]++;const value=(cov_10tnjmv4ka().s[76]++,this.popupHelper.getPositionLeft(this.pickerbutton,this.pickercontainer,this.elementRef,this.getArrowWidth(),this.getArrowHeight(),this.position,false));// Ensure that pop-ups never appear outside the visible area on the left
87
+ cov_10tnjmv4ka().s[77]++;if(value<0){cov_10tnjmv4ka().b[12][0]++;cov_10tnjmv4ka().s[78]++;this.posPopupLeft=5;}else{cov_10tnjmv4ka().b[12][1]++;cov_10tnjmv4ka().s[79]++;this.posPopupLeft=value;}cov_10tnjmv4ka().s[80]++;switch(this.GetPickerPosition()){case TooltipPosition.top:cov_10tnjmv4ka().b[13][0]++;case TooltipPosition.bottom:cov_10tnjmv4ka().b[13][1]++;cov_10tnjmv4ka().s[81]++;this.posArrowLeft=this.getPickerWidth()/2- -this.getArrowWidth();cov_10tnjmv4ka().s[82]++;break;case TooltipPosition.topend:cov_10tnjmv4ka().b[13][2]++;case TooltipPosition.bottomend:cov_10tnjmv4ka().b[13][3]++;cov_10tnjmv4ka().s[83]++;this.posArrowLeft=this.getPickerWidth()-this.getArrowWidth()/2-this.popupHelper.getContainerWidth(this.pickerbutton,false)/2;// Correction by Arrow if popup is outside the left margin
88
+ cov_10tnjmv4ka().s[84]++;if(value<0){cov_10tnjmv4ka().b[14][0]++;cov_10tnjmv4ka().s[85]++;this.posArrowLeft-=value*-1+5;}else{cov_10tnjmv4ka().b[14][1]++;}cov_10tnjmv4ka().s[86]++;break;default:cov_10tnjmv4ka().b[13][4]++;cov_10tnjmv4ka().s[87]++;this.posArrowLeft=null;cov_10tnjmv4ka().s[88]++;break;}cov_10tnjmv4ka().s[89]++;return value;}/**
87
89
  * Calculates the position of the tooltip from the top
88
- */getPositionTop(){cov_10tnjmv4ka().f[20]++;const value=(cov_10tnjmv4ka().s[86]++,this.popupHelper.getPositionTop(this.pickerbutton,this.pickercontainer,this.elementRef,this.getArrowWidth(),this.getArrowHeight(),this.position,false));cov_10tnjmv4ka().s[87]++;this.posPopupTop=value;cov_10tnjmv4ka().s[88]++;switch(this.GetPickerPosition()){case TooltipPosition.left:cov_10tnjmv4ka().b[13][0]++;case TooltipPosition.right:cov_10tnjmv4ka().b[13][1]++;cov_10tnjmv4ka().s[89]++;this.posArrowTop=this.getPickerHeight()/2-6.5;cov_10tnjmv4ka().s[90]++;break;default:cov_10tnjmv4ka().b[13][2]++;cov_10tnjmv4ka().s[91]++;this.posArrowTop=null;cov_10tnjmv4ka().s[92]++;break;}cov_10tnjmv4ka().s[93]++;return value;}setDateTimeFormat(){cov_10tnjmv4ka().f[21]++;cov_10tnjmv4ka().s[94]++;// HACK: Add addition property to FormControl. Can be fixed if solution for ticket: https://github.com/angular/angular/issues/19686
89
- if(this.ngControl){cov_10tnjmv4ka().b[14][0]++;cov_10tnjmv4ka().s[95]++;this.ngControl.datetimeformatstring=this.GetDateTimeFormatString();}else{cov_10tnjmv4ka().b[14][1]++;}}}cov_10tnjmv4ka().s[96]++;SacBaseDateTimeControl.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacBaseDateTimeControl,deps:[{token:i1.SacFormLayoutCommon},{token:i0.Injector},{token:i0.ElementRef},{token:i0.ChangeDetectorRef}],target:i0.ɵɵFactoryTarget.Directive});cov_10tnjmv4ka().s[97]++;SacBaseDateTimeControl.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"13.2.7",type:SacBaseDateTimeControl,inputs:{isrequired:"isrequired",placeholder:"placeholder",position:"position",validationmessagedatetimeformat:"validationmessagedatetimeformat",validationmessagedatetimeformatsummary:"validationmessagedatetimeformatsummary",validationmessagerequired:"validationmessagerequired",validationmessagerequiredsummary:"validationmessagerequiredsummary",valuestring:"valuestring"},viewQueries:[{propertyName:"pickerarrow",first:true,predicate:["pickerarrow"],descendants:true},{propertyName:"pickerbutton",first:true,predicate:["pickerbutton"],descendants:true,static:true},{propertyName:"picker",first:true,predicate:["picker"],descendants:true}],usesInheritance:true,ngImport:i0});cov_10tnjmv4ka().s[98]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacBaseDateTimeControl,decorators:[{type:Directive}],ctorParameters:function(){cov_10tnjmv4ka().f[22]++;cov_10tnjmv4ka().s[99]++;return[{type:i1.SacFormLayoutCommon},{type:i0.Injector},{type:i0.ElementRef},{type:i0.ChangeDetectorRef}];},propDecorators:{isrequired:[{type:Input}],pickerarrow:[{type:ViewChild,args:['pickerarrow',{static:false}]}],pickerbutton:[{type:ViewChild,args:['pickerbutton',{static:true}]}],placeholder:[{type:Input}],position:[{type:Input}],validationmessagedatetimeformat:[{type:Input}],validationmessagedatetimeformatsummary:[{type:Input}],validationmessagerequired:[{type:Input}],validationmessagerequiredsummary:[{type:Input}],picker:[{type:ViewChild,args:['picker',{static:false}]}],valuestring:[{type:Input}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZWRhdGV0aW1lY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbW1vbi9iYXNlZGF0ZXRpbWVjb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBRUgsU0FBUyxFQUlULEtBQUssRUFHTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7OztBQUVsQzs7R0FFRztBQUVILE1BQU0sT0FBZ0Isc0JBQXVCLFNBQVEsbUJBQXlCO0lBeUcxRSx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7OztPQUtHO0lBQ0gsWUFDSSxVQUErQixFQUMvQixRQUFrQixFQUNSLFVBQXNCLEVBQ2YsS0FBd0I7UUFFekMsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUhsQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ2YsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUF0SDdDLHFCQUFxQjtRQUVyQjs7V0FFRztRQUNjLGdCQUFXLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFFOUQ7O1dBRUc7UUFDTyxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQU85Qjs7V0FFRztRQUNJLG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBRXpDOztXQUVHO1FBQ0ksa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFdEM7O1dBRUc7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S0FBSztnQkE2QkssTUFBTTtzQkFEaEIsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQStCM0IsV0FBVztzQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0Zvcm1MYXlvdXRDb21tb24gfSBmcm9tICcuLi9jb250cm9scy9sYXlvdXQvZm9ybWxheW91dCc7XG5pbXBvcnQgeyBJRGF0ZVRpbWVDb250cm9sIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pZGF0ZXRpbWVjb250cm9sJztcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4uL3V0aWxpdGllcy9lbnVtcyc7XG5pbXBvcnQgeyBQb3BVcEhlbHBlciB9IGZyb20gJy4uL3V0aWxpdGllcy9wb3B1cGhlbHBlcic7XG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSAnLi4vdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBDcmVhdGVWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb25lcnJvcmNyZWF0b3InO1xuaW1wb3J0IHsgU2FjQmFzZU1vZGVsQ29udHJvbCB9IGZyb20gJy4vYmFzZW1vZGVsY29udHJvbCc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuXG4vKipcbiAqIEJhc2UgS2xhc3NlIGbDvHIgRGF0ZS9UaW1lIENvbnRyb2xzXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNhY0Jhc2VEYXRlVGltZUNvbnRyb2wgZXh0ZW5kcyBTYWNCYXNlTW9kZWxDb250cm9sPERhdGU+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIERvQ2hlY2sge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogSGVscGVyIGNsYXNzIHRvIGRpc3BsYXkgdG9vbHRpcCBvbiBjb3JyZWN0IHBvc2l0aW9uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3B1cEhlbHBlcjogUG9wVXBIZWxwZXIgPSBuZXcgUG9wVXBIZWxwZXIoKTtcblxuICAgIC8qKlxuICAgICAqIGRhcyBwcm9wZXJ0eSBlbnRoaWVsdCBkYXMgVmFsdWUgYWxzIHN0cmluZy4gRGVmYXVsdCBpc3QgJydcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3ZhbHVlQXNTdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIENvbnRhaW5lcnMgZm9yIHRoZSBkYXRldGltZSBwaWNrZXJcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcGlja2VyY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGZvciBlbnVtIGluIEFuZ3VsYXIgSFRNTCB0ZW1wbGF0ZVxuICAgICAqL1xuICAgIHB1YmxpYyBUb29sdGlwUG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb247XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmllcnQgb2IgZGVyIERhdGUgU2VsZWN0b3IgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgX3Nob3dzZWxlY3RvcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5pZXJ0IGRhcyBDb250cm9sIGFscyBSZXF1aXJlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc3JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBNb21lbnQgSlMgSW5zdGFuY2VcbiAgICAgKi9cbiAgICBwdWJsaWMgbW9tZW50ID0gbW9tZW50X1snZGVmYXVsdCddO1xuXG4gICAgLyoqXG4gICAgICogQXJyb3cgSXRlbSBvZiBQaWNrZXIgRWxlbWVudC4gUmVxdWlyZWQgdG8gc2V0IHRoZSBwb3NpdGlvbiBvZiBhcnJvdyBjb3JyZWN0bHlcbiAgICAgKi9cbiAgICBwdWJsaWMgcGlja2VyUG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb247XG4gICAgQFZpZXdDaGlsZCgncGlja2VyYXJyb3cnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgcGlja2VyYXJyb3c6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIE5hbWUgb2YgdGhlIGNvbnRhaW5lciBmb3IgY29udGVudCAoZS5nLiBpY29uKSBvbiB3aGljaCB0aGUgdG9vbHRpcCBpcyBkaXNwbGF5ZWQuXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgncGlja2VyYnV0dG9uJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBwdWJsaWMgcGlja2VyYnV0dG9uOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqIFRleHRCb3ggUGxhY2Vob2xkZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgcGlja2VyIGFycm93IGF0IHRoZSBsZWZ0XG4gICAgICovXG4gICAgcHVibGljIHBvc0Fycm93TGVmdDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgcGlja2VyIGFycm93IGF0IHRoZSB0b3BcbiAgICAgKi9cbiAgICBwdWJsaWMgcG9zQXJyb3dUb3A6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhdCB0aGUgbGVmdFxuICAgICAqL1xuICAgIHB1YmxpYyBwb3NQb3B1cExlZnQ6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgcGlja2VyIGF0IHRoZSB0b3BcbiAgICAgKi9cbiAgICBwdWJsaWMgcG9zUG9wdXBUb3A6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgZGF0ZXRpbWUgcGlja2VyLiBWYWx1ZXM6IGxlZnR8dG9wfHJpZ2h0fGJvdHRvbXxhdXRvXG4gICAgICpcbiAgICAgKiBWYWx1ZSAnYXV0bycgY2FuIGJlIGNvbWJpbmVkIHdpdGggYW5vdGhlciB2YWx1ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwb3NpdGlvbjogc3RyaW5nID0gJ2JvdHRvbWVuZHx0b3BlbmQnO1xuXG4gICAgLyoqXG4gICAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIERhdGVUaW1lRm9ybWF0IGJlaSBDb250cm9sXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlZGF0ZXRpbWVmb3JtYXQ6IHN0cmluZyA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yRGF0ZXRpbWVGb3JtYXQ7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgRGF0ZVRpbWVGb3JtYXQgaW4gVmFsaWRhdGlvbiBTdW1tYXJ5XG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlZGF0ZXRpbWVmb3JtYXRzdW1tYXJ5OiBzdHJpbmcgPVxuICAgICAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlEYXRldGltZUZvcm1hdDtcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBiZWkgQ29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkOiBzdHJpbmcgPSB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclJlcXVpcmVkO1xuXG4gICAgLyoqXG4gICAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGluIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkc3VtbWFyeTogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5UmVxdWlyZWQ7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSBmb3JtbGF5b3V0IFNhY0Zvcm1MYXlvdXRDb21tb24gdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgICAqIEBwYXJhbSBlbGVtZW50UmVmIHJlZmVyZW5jZSB0byBodG1sIGVsZW1lbnRcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZm9ybWxheW91dDogU2FjRm9ybUxheW91dENvbW1vbixcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZm9ybWxheW91dCwgaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBTZXR0ZXIgZm9yIHRoZSBuYW1lIG9mIHRoZSBjb250YWluZXIgZm9yIHRoZSB0b29sdGlwLiBJcyByZXF1aXJlZCBhcyB0aGUgdG9vbHRpcCBjYW4gYmUgaGlkZGVuIHZpYSBuZ0lmLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ3BpY2tlcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBzZXQgcGlja2VyKHBpY2tlcjogRWxlbWVudFJlZikge1xuICAgICAgICBpZiAocGlja2VyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGlja2VyLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5waWNrZXJjb250YWluZXIgPSBwaWNrZXI7XG4gICAgICAgIHRoaXMub25Db250ZW50Q2hhbmdlKCk7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdG9vbHRvcCgpOiBFbGVtZW50UmVmIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGlja2VyY29udGFpbmVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGdldHRlciBmw7xyIHZhbHVlc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIGdldCB2YWx1ZXN0cmluZygpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy52YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlQXNTdHJpbmc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5tb21lbnQudXRjKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIGRhdGUubG9jYWwoKS5mb3JtYXQodGhpcy5HZXREYXRlVGltZUZvcm1hdFN0cmluZygpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERhcyBJbnB1dCBiZWtvbW10IGRhcyB2YWx1ZSB2b24gdHlwIHN0cmluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCB2YWx1ZXN0cmluZyh2OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fdmFsdWVBc1N0cmluZyA9IHY7XG4gICAgICAgIGxldCBkYXRlOiBtb21lbnRfLk1vbWVudCA9IHRoaXMubW9tZW50KHYsIFt0aGlzLkdldERhdGVUaW1lRm9ybWF0U3RyaW5nKCldLCB0cnVlKTtcblxuICAgICAgICBkYXRlID0gdGhpcy5Nb2RpZnlQYXJzZWREYXRlVGltZVZhbHVlKGRhdGUpLnV0YygpO1xuXG4gICAgICAgIGlmIChkYXRlLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGUudG9EYXRlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIERpZSBtZXRob2RlIHJldHVybnMgZGF0ZVRpbWUgaW4gc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IEdldERhdGVUaW1lRm9ybWF0U3RyaW5nKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwXG4gICAgICovXG4gICAgcHVibGljIEdldFBpY2tlclBvc2l0aW9uKCk6IFRvb2x0aXBQb3NpdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldERpc3BsYXlQb3NpdGlvbihcbiAgICAgICAgICAgIHRoaXMucGlja2VyYnV0dG9uLFxuICAgICAgICAgICAgdGhpcy5waWNrZXJjb250YWluZXIsXG4gICAgICAgICAgICB0aGlzLmdldEFycm93V2lkdGgoKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dIZWlnaHQoKSxcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpZSBtZXRob2RlIG1vZGlmaXppZXJ0IGRhcyBlaW5nZWdlYmVuZSBWYWx1ZSB2b24gdHlwIE1vbWVudFxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBNb2RpZnlQYXJzZWREYXRlVGltZVZhbHVlKHY6IG1vbWVudF8uTW9tZW50KTogbW9tZW50Xy5Nb21lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBKU09OIERhdGUgU3RyaW5nIGluIGVpbiBVVEMgRGF0ZVRpbWUgT2JqZWN0IGtvbnZlcnRpZXJlbiwgd2VsY2hlcyB2b20gQ29udHJvbCB2ZXJ3ZW5kZXRlIHdlcmRlbiBrYW5uXG4gICAgICovXG4gICAgcHVibGljIGdldERhdGUodGltZXN0YW1wKTogbW9tZW50Lk1vbWVudCB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aW1lc3RhbXApO1xuICAgICAgICBjb25zdCB5ZWFyID0gZGF0ZS5nZXRVVENGdWxsWWVhcigpO1xuICAgICAgICBjb25zdCBtb250aCA9IGRhdGUuZ2V0VVRDTW9udGgoKTtcbiAgICAgICAgY29uc3QgZGF5ID0gZGF0ZS5nZXRVVENEYXRlKCk7XG4gICAgICAgIGNvbnN0IGhvdXJzID0gZGF0ZS5nZXRVVENIb3VycygpO1xuICAgICAgICBjb25zdCBtaW51dGVzID0gZGF0ZS5nZXRVVENNaW51dGVzKCk7XG4gICAgICAgIGNvbnN0IHNlY29uZHMgPSBkYXRlLmdldFVUQ1NlY29uZHMoKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5tb21lbnQoRGF0ZS5VVEMoeWVhciwgbW9udGgsIGRheSwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgb2YgdGhlIHRvb2x0aXBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UGlja2VySGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldFBvcHVwSGVpZ2h0KHRoaXMucGlja2VyY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiB0aGUgcGlja2VyXG4gICAgICovXG4gICAgcHVibGljIGdldFBpY2tlcldpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldFBvcHVwV2lkdGgodGhpcy5waWNrZXJjb250YWluZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIC8vIHRoaXMub25Db250ZW50Q2hhbmdlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvLyBVbnJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdCBFdmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5zZXREYXRlVGltZUZvcm1hdCgpO1xuXG4gICAgICAgIC8vIFJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2V0enQgZGFzIHZhbHVlIHZvbiB0eXAgc3RyaW5nIHp1IHByb3BlcnR5IHZhbHVlc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIHNldFZhbHVlU3RyaW5nKHY6IHN0cmluZykge1xuICAgICAgICB0aGlzLnZhbHVlc3RyaW5nID0gdjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3JcbiAgICAgKi9cbiAgICBwdWJsaWMgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgbGV0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWVzdHJpbmcgIT09IG51bGwgJiYgdGhpcy52YWx1ZXN0cmluZy5pbmRleE9mKCdfJykgPj0gMCkge1xuICAgICAgICAgICAgZXJyb3IgPSBDcmVhdGVWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgICAgICAgJ2ludmFsaWR0eXBlJyxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlZGF0ZXRpbWVmb3JtYXQsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0c3VtbWFyeVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLmlzVmFsaWREYXRlKFxuICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0LFxuICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0c3VtbWFyeVxuICAgICAgICApKGMpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzcmVxdWlyZWQpIHtcbiAgICAgICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5yZXF1aXJlZCh0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQsIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZHN1bW1hcnkpKGMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE92ZXJ3cml0ZSBXcml0ZVZhbHVlIHRvIFNldCBjb3JyZWN0IERhdGUgT2JqZWN0XG4gICAgICovXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IERhdGUgfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBSZXNldCBWYWx1ZSBTdHJpbmcsIGRhbWl0IGJlaW0gVXBkYXRlIGRlcyBNb2RlbHMgYXVjaCBkYXMgSW5wdXQgRmVsZCBnZWxlZXJ0IHdpcmQuXG4gICAgICAgICAgICB0aGlzLl92YWx1ZUFzU3RyaW5nID0gJyc7XG4gICAgICAgICAgICAvLyBTZXQgSW50ZXJuYWwgUHJvcGVydHlcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5nZXREYXRlKHZhbHVlKS50b0RhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodGhpcy5fdmFsdWUpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcblxuICAgIHByb3RlY3RlZCBnZXRBcnJvd0hlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrZXJhcnJvdyA/IHRoaXMucGlja2VyYXJyb3cubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgOiAwO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRBcnJvd1dpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlcmFycm93ID8gdGhpcy5waWNrZXJhcnJvdy5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBmcm9tIGxpbmtzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldFBvc2l0aW9uTGVmdCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucG9wdXBIZWxwZXIuZ2V0UG9zaXRpb25MZWZ0KFxuICAgICAgICAgICAgdGhpcy5waWNrZXJidXR0b24sXG4gICAgICAgICAgICB0aGlzLnBpY2tlcmNvbnRhaW5lcixcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZixcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dXaWR0aCgpLFxuICAgICAgICAgICAgdGhpcy5nZXRBcnJvd0hlaWdodCgpLFxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbixcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucG9zUG9wdXBMZWZ0ID0gdmFsdWU7XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLkdldFBpY2tlclBvc2l0aW9uKCkpIHtcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnRvcDpcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbTpcbiAgICAgICAgICAgICAgICB0aGlzLnBvc0Fycm93TGVmdCA9IHRoaXMuZ2V0UGlja2VyV2lkdGgoKSAvIDIgLSAtdGhpcy5nZXRBcnJvd1dpZHRoKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi50b3BlbmQ6XG4gICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5ib3R0b21lbmQ6XG4gICAgICAgICAgICAgICAgdGhpcy5wb3NBcnJvd0xlZnQgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFBpY2tlcldpZHRoKCkgLVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFycm93V2lkdGgoKSAvIDIgLVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcHVwSGVscGVyLmdldENvbnRhaW5lcldpZHRoKHRoaXMucGlja2VyYnV0dG9uLCBmYWxzZSkgLyAyO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLnBvc0Fycm93TGVmdCA9IG51bGw7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9wXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldFBvc2l0aW9uVG9wKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3NpdGlvblRvcChcbiAgICAgICAgICAgIHRoaXMucGlja2VyYnV0dG9uLFxuICAgICAgICAgICAgdGhpcy5waWNrZXJjb250YWluZXIsXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgICAgICB0aGlzLmdldEFycm93V2lkdGgoKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dIZWlnaHQoKSxcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnBvc1BvcHVwVG9wID0gdmFsdWU7XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLkdldFBpY2tlclBvc2l0aW9uKCkpIHtcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmxlZnQ6XG4gICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5yaWdodDpcbiAgICAgICAgICAgICAgICB0aGlzLnBvc0Fycm93VG9wID0gdGhpcy5nZXRQaWNrZXJIZWlnaHQoKSAvIDIgLSA2LjU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMucG9zQXJyb3dUb3AgPSBudWxsO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBtZXRob2QgaWYgY29udGVudCBoYXMgY2hhbmdlZCBhbmQgcHJvcG9ydGlvbnMgbmVlZCB0byBiZSByZXNldCBpbiB0aGUgVUkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBvbkNvbnRlbnRDaGFuZ2UgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIC8vIERvIG5vdGhpbmcgaWYgaXMgbm90IHZpc2libGVcbiAgICAgICAgaWYgKCF0aGlzLl9zaG93c2VsZWN0b3IpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5nZXRQb3NpdGlvbkxlZnQoKTtcbiAgICAgICAgICAgIHRoaXMuZ2V0UG9zaXRpb25Ub3AoKTtcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgc2V0RGF0ZVRpbWVGb3JtYXQoKTogdm9pZCB7XG4gICAgICAgIC8vIEhBQ0s6IEFkZCBhZGRpdGlvbiBwcm9wZXJ0eSB0byBGb3JtQ29udHJvbC4gQ2FuIGJlIGZpeGVkIGlmIHNvbHV0aW9uIGZvciB0aWNrZXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE5Njg2XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgKHRoaXMubmdDb250cm9sIGFzIHVua25vd24gYXMgSURhdGVUaW1lQ29udHJvbCkuZGF0ZXRpbWVmb3JtYXRzdHJpbmcgPSB0aGlzLkdldERhdGVUaW1lRm9ybWF0U3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xufVxuIl19
90
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMTB0bmptdjRrYSIsImFjdHVhbENvdmVyYWdlIiwiVG9vbHRpcFBvc2l0aW9uIiwiUG9wVXBIZWxwZXIiLCJWYWxpZGF0aW9uIiwiQ3JlYXRlVmFsaWRhdGlvbkVycm9yIiwiU2FjQmFzZU1vZGVsQ29udHJvbCIsIkRpcmVjdGl2ZSIsIklucHV0IiwiVmlld0NoaWxkIiwibW9tZW50XyIsIlNhY0Jhc2VEYXRlVGltZUNvbnRyb2wiLCJjb25zdHJ1Y3RvciIsImZvcm1sYXlvdXQiLCJpbmplY3RvciIsImVsZW1lbnRSZWYiLCJjZFJlZiIsImYiLCJzIiwicG9wdXBIZWxwZXIiLCJfdmFsdWVBc1N0cmluZyIsIl9zaG93c2VsZWN0b3IiLCJpc3JlcXVpcmVkIiwibW9tZW50IiwicGlja2VyUG9zaXRpb24iLCJwbGFjZWhvbGRlciIsInBvc0Fycm93TGVmdCIsInBvc0Fycm93VG9wIiwicG9zUG9wdXBMZWZ0IiwicG9zUG9wdXBUb3AiLCJwb3NpdGlvbiIsInZhbGlkYXRpb25tZXNzYWdlZGF0ZXRpbWVmb3JtYXQiLCJ2YWxpZGF0aW9uS2V5U2VydmljZSIsIlZhbGlkYXRpb25FcnJvckRhdGV0aW1lRm9ybWF0IiwidmFsaWRhdGlvbm1lc3NhZ2VkYXRldGltZWZvcm1hdHN1bW1hcnkiLCJWYWxpZGF0aW9uRXJyb3JTdW1tYXJ5RGF0ZXRpbWVGb3JtYXQiLCJ2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkIiwiVmFsaWRhdGlvbkVycm9yUmVxdWlyZWQiLCJ2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkc3VtbWFyeSIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlSZXF1aXJlZCIsIm9uQ29udGVudENoYW5nZSIsImIiLCJzZXRUaW1lb3V0IiwiZ2V0UG9zaXRpb25MZWZ0IiwiZ2V0UG9zaXRpb25Ub3AiLCJwaWNrZXIiLCJ1bmRlZmluZWQiLCJkb2N1bWVudCIsImJvZHkiLCJhcHBlbmRDaGlsZCIsIm5hdGl2ZUVsZW1lbnQiLCJwaWNrZXJjb250YWluZXIiLCJkZXRlY3RDaGFuZ2VzIiwidG9vbHRvcCIsInZhbHVlc3RyaW5nIiwidmFsdWUiLCJkYXRlIiwidXRjIiwibG9jYWwiLCJmb3JtYXQiLCJHZXREYXRlVGltZUZvcm1hdFN0cmluZyIsInYiLCJNb2RpZnlQYXJzZWREYXRlVGltZVZhbHVlIiwiaXNWYWxpZCIsInRvRGF0ZSIsIkdldFBpY2tlclBvc2l0aW9uIiwiZ2V0RGlzcGxheVBvc2l0aW9uIiwicGlja2VyYnV0dG9uIiwiZ2V0QXJyb3dXaWR0aCIsImdldEFycm93SGVpZ2h0IiwiZ2V0RGF0ZSIsInRpbWVzdGFtcCIsIkRhdGUiLCJ5ZWFyIiwiZ2V0VVRDRnVsbFllYXIiLCJtb250aCIsImdldFVUQ01vbnRoIiwiZGF5IiwiZ2V0VVRDRGF0ZSIsImhvdXJzIiwiZ2V0VVRDSG91cnMiLCJtaW51dGVzIiwiZ2V0VVRDTWludXRlcyIsInNlY29uZHMiLCJnZXRVVENTZWNvbmRzIiwiVVRDIiwiZ2V0UGlja2VySGVpZ2h0IiwiZ2V0UG9wdXBIZWlnaHQiLCJnZXRQaWNrZXJXaWR0aCIsImdldFBvcHVwV2lkdGgiLCJuZ0RvQ2hlY2siLCJuZ09uRGVzdHJveSIsIndpbmRvdyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJuZ09uSW5pdCIsInNldERhdGVUaW1lRm9ybWF0IiwiYWRkRXZlbnRMaXN0ZW5lciIsInNldFZhbHVlU3RyaW5nIiwidmFsaWRhdGVEYXRhIiwiYyIsImVycm9yIiwiaW5kZXhPZiIsImlzVmFsaWREYXRlIiwicmVxdWlyZWQiLCJ3cml0ZVZhbHVlIiwiX3ZhbHVlIiwicGlja2VyYXJyb3ciLCJvZmZzZXRIZWlnaHQiLCJvZmZzZXRXaWR0aCIsInRvcCIsImJvdHRvbSIsInRvcGVuZCIsImJvdHRvbWVuZCIsImdldENvbnRhaW5lcldpZHRoIiwibGVmdCIsInJpZ2h0IiwibmdDb250cm9sIiwiZGF0ZXRpbWVmb3JtYXRzdHJpbmciLCJkZXBzIiwidG9rZW4iLCJpMSIsIlNhY0Zvcm1MYXlvdXRDb21tb24iLCJpMCIsIkluamVjdG9yIiwiRWxlbWVudFJlZiIsIkNoYW5nZURldGVjdG9yUmVmIiwidGFyZ2V0IiwiybXJtUZhY3RvcnlUYXJnZXQiLCJpbnB1dHMiLCJ2aWV3UXVlcmllcyIsInByb3BlcnR5TmFtZSIsImZpcnN0IiwicHJlZGljYXRlIiwiZGVzY2VuZGFudHMiLCJzdGF0aWMiLCJ1c2VzSW5oZXJpdGFuY2UiLCJuZ0ltcG9ydCIsImRlY29yYXRvcnMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb21tb24vYmFzZWRhdGV0aW1lY29udHJvbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNGb3JtTGF5b3V0Q29tbW9uIH0gZnJvbSAnLi4vY29udHJvbHMvbGF5b3V0L2Zvcm1sYXlvdXQnO1xuaW1wb3J0IHsgSURhdGVUaW1lQ29udHJvbCB9IGZyb20gJy4uL2ludGVyZmFjZXMvaWRhdGV0aW1lY29udHJvbCc7XG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuLi91dGlsaXRpZXMvZW51bXMnO1xuaW1wb3J0IHsgUG9wVXBIZWxwZXIgfSBmcm9tICcuLi91dGlsaXRpZXMvcG9wdXBoZWxwZXInO1xuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4uL3ZhbGlkYXRpb24nO1xuaW1wb3J0IHsgQ3JlYXRlVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uZXJyb3JjcmVhdG9yJztcbmltcG9ydCB7IFNhY0Jhc2VNb2RlbENvbnRyb2wgfSBmcm9tICcuL2Jhc2Vtb2RlbGNvbnRyb2wnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcblxuLyoqXG4gKiBCYXNlIEtsYXNzZSBmw7xyIERhdGUvVGltZSBDb250cm9sc1xuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNCYXNlRGF0ZVRpbWVDb250cm9sIGV4dGVuZHMgU2FjQmFzZU1vZGVsQ29udHJvbDxEYXRlPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBEb0NoZWNrIHtcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8qKlxuICAgICAqIEhlbHBlciBjbGFzcyB0byBkaXNwbGF5IHRvb2x0aXAgb24gY29ycmVjdCBwb3NpdGlvblxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9wdXBIZWxwZXI6IFBvcFVwSGVscGVyID0gbmV3IFBvcFVwSGVscGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiBkYXMgcHJvcGVydHkgZW50aGllbHQgZGFzIFZhbHVlIGFscyBzdHJpbmcuIERlZmF1bHQgaXN0ICcnXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF92YWx1ZUFzU3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBDb250YWluZXJzIGZvciB0aGUgZGF0ZXRpbWUgcGlja2VyXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHBpY2tlcmNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBmb3IgZW51bSBpbiBBbmd1bGFyIEhUTUwgdGVtcGxhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgVG9vbHRpcFBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5pZXJ0IG9iIGRlciBEYXRlIFNlbGVjdG9yIGFuZ2V6ZWlndCB3aXJkXG4gICAgICovXG4gICAgcHVibGljIF9zaG93c2VsZWN0b3I6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIERlZmluaWVydCBkYXMgQ29udHJvbCBhbHMgUmVxdWlyZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgaXNyZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogTW9tZW50IEpTIEluc3RhbmNlXG4gICAgICovXG4gICAgcHVibGljIG1vbWVudCA9IG1vbWVudF9bJ2RlZmF1bHQnXTtcblxuICAgIC8qKlxuICAgICAqIEFycm93IEl0ZW0gb2YgUGlja2VyIEVsZW1lbnQuIFJlcXVpcmVkIHRvIHNldCB0aGUgcG9zaXRpb24gb2YgYXJyb3cgY29ycmVjdGx5XG4gICAgICovXG4gICAgcHVibGljIHBpY2tlclBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uO1xuICAgIEBWaWV3Q2hpbGQoJ3BpY2tlcmFycm93JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIHBpY2tlcmFycm93OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBjb250YWluZXIgZm9yIGNvbnRlbnQgKGUuZy4gaWNvbikgb24gd2hpY2ggdGhlIHRvb2x0aXAgaXMgZGlzcGxheWVkLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ3BpY2tlcmJ1dHRvbicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHVibGljIHBpY2tlcmJ1dHRvbjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBUZXh0Qm94IFBsYWNlaG9sZGVyXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhcnJvdyBhdCB0aGUgbGVmdFxuICAgICAqL1xuICAgIHB1YmxpYyBwb3NBcnJvd0xlZnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhcnJvdyBhdCB0aGUgdG9wXG4gICAgICovXG4gICAgcHVibGljIHBvc0Fycm93VG9wOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBwaWNrZXIgYXQgdGhlIGxlZnRcbiAgICAgKi9cbiAgICBwdWJsaWMgcG9zUG9wdXBMZWZ0OiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhdCB0aGUgdG9wXG4gICAgICovXG4gICAgcHVibGljIHBvc1BvcHVwVG9wOiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIGRhdGV0aW1lIHBpY2tlci4gVmFsdWVzOiBsZWZ0fHRvcHxyaWdodHxib3R0b218YXV0b1xuICAgICAqXG4gICAgICogVmFsdWUgJ2F1dG8nIGNhbiBiZSBjb21iaW5lZCB3aXRoIGFub3RoZXIgdmFsdWUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcG9zaXRpb246IHN0cmluZyA9ICdib3R0b21lbmR8dG9wZW5kJztcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBEYXRlVGltZUZvcm1hdCBiZWkgQ29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0OiBzdHJpbmcgPSB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvckRhdGV0aW1lRm9ybWF0O1xuXG4gICAgLyoqXG4gICAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIERhdGVUaW1lRm9ybWF0IGluIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0c3VtbWFyeTogc3RyaW5nID1cbiAgICAgICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5RGF0ZXRpbWVGb3JtYXQ7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgYmVpIENvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZDogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JSZXF1aXJlZDtcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZHN1bW1hcnk6IHN0cmluZyA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeVJlcXVpcmVkO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZm9ybWxheW91dCBTYWNGb3JtTGF5b3V0Q29tbW9uIHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICAgKiBAcGFyYW0gZWxlbWVudFJlZiByZWZlcmVuY2UgdG8gaHRtbCBlbGVtZW50XG4gICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGZvcm1sYXlvdXQ6IFNhY0Zvcm1MYXlvdXRDb21tb24sXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZvcm1sYXlvdXQsIGluamVjdG9yKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLyoqXG4gICAgICogU2V0dGVyIGZvciB0aGUgbmFtZSBvZiB0aGUgY29udGFpbmVyIGZvciB0aGUgdG9vbHRpcC4gSXMgcmVxdWlyZWQgYXMgdGhlIHRvb2x0aXAgY2FuIGJlIGhpZGRlbiB2aWEgbmdJZi5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdwaWNrZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgc2V0IHBpY2tlcihwaWNrZXI6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgaWYgKHBpY2tlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBpY2tlci5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucGlja2VyY29udGFpbmVyID0gcGlja2VyO1xuICAgICAgICB0aGlzLm9uQ29udGVudENoYW5nZSgpO1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHRvb2x0b3AoKTogRWxlbWVudFJlZiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlcmNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBnZXR0ZXIgZsO8ciB2YWx1ZXN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdmFsdWVzdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl92YWx1ZUFzU3RyaW5nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMubW9tZW50LnV0Yyh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiBkYXRlLmxvY2FsKCkuZm9ybWF0KHRoaXMuR2V0RGF0ZVRpbWVGb3JtYXRTdHJpbmcoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEYXMgSW5wdXQgYmVrb21tdCBkYXMgdmFsdWUgdm9uIHR5cCBzdHJpbmdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgdmFsdWVzdHJpbmcodjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlQXNTdHJpbmcgPSB2O1xuICAgICAgICBsZXQgZGF0ZTogbW9tZW50Xy5Nb21lbnQgPSB0aGlzLm1vbWVudCh2LCBbdGhpcy5HZXREYXRlVGltZUZvcm1hdFN0cmluZygpXSwgdHJ1ZSk7XG5cbiAgICAgICAgZGF0ZSA9IHRoaXMuTW9kaWZ5UGFyc2VkRGF0ZVRpbWVWYWx1ZShkYXRlKS51dGMoKTtcblxuICAgICAgICBpZiAoZGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRlLnRvRGF0ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBEaWUgbWV0aG9kZSByZXR1cm5zIGRhdGVUaW1lIGluIHN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBHZXREYXRlVGltZUZvcm1hdFN0cmluZygpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcFxuICAgICAqL1xuICAgIHB1YmxpYyBHZXRQaWNrZXJQb3NpdGlvbigpOiBUb29sdGlwUG9zaXRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3B1cEhlbHBlci5nZXREaXNwbGF5UG9zaXRpb24oXG4gICAgICAgICAgICB0aGlzLnBpY2tlcmJ1dHRvbixcbiAgICAgICAgICAgIHRoaXMucGlja2VyY29udGFpbmVyLFxuICAgICAgICAgICAgdGhpcy5nZXRBcnJvd1dpZHRoKCksXG4gICAgICAgICAgICB0aGlzLmdldEFycm93SGVpZ2h0KCksXG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaWUgbWV0aG9kZSBtb2RpZml6aWVydCBkYXMgZWluZ2VnZWJlbmUgVmFsdWUgdm9uIHR5cCBNb21lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgTW9kaWZ5UGFyc2VkRGF0ZVRpbWVWYWx1ZSh2OiBtb21lbnRfLk1vbWVudCk6IG1vbWVudF8uTW9tZW50O1xuXG4gICAgLyoqXG4gICAgICogSlNPTiBEYXRlIFN0cmluZyBpbiBlaW4gVVRDIERhdGVUaW1lIE9iamVjdCBrb252ZXJ0aWVyZW4sIHdlbGNoZXMgdm9tIENvbnRyb2wgdmVyd2VuZGV0ZSB3ZXJkZW4ga2FublxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREYXRlKHRpbWVzdGFtcCk6IG1vbWVudC5Nb21lbnQge1xuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodGltZXN0YW1wKTtcbiAgICAgICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0VVRDRnVsbFllYXIoKTtcbiAgICAgICAgY29uc3QgbW9udGggPSBkYXRlLmdldFVUQ01vbnRoKCk7XG4gICAgICAgIGNvbnN0IGRheSA9IGRhdGUuZ2V0VVRDRGF0ZSgpO1xuICAgICAgICBjb25zdCBob3VycyA9IGRhdGUuZ2V0VVRDSG91cnMoKTtcbiAgICAgICAgY29uc3QgbWludXRlcyA9IGRhdGUuZ2V0VVRDTWludXRlcygpO1xuICAgICAgICBjb25zdCBzZWNvbmRzID0gZGF0ZS5nZXRVVENTZWNvbmRzKCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubW9tZW50KERhdGUuVVRDKHllYXIsIG1vbnRoLCBkYXksIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IG9mIHRoZSB0b29sdGlwXG4gICAgICovXG4gICAgcHVibGljIGdldFBpY2tlckhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3B1cEhlaWdodCh0aGlzLnBpY2tlcmNvbnRhaW5lcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIHBpY2tlclxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQaWNrZXJXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3B1cFdpZHRoKHRoaXMucGlja2VyY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICAvLyB0aGlzLm9uQ29udGVudENoYW5nZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gVW5yZWdpc3RlciBFdmVudCBMaXN0ZW5lclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluaXQgRXZlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuc2V0RGF0ZVRpbWVGb3JtYXQoKTtcblxuICAgICAgICAvLyBSZWdpc3RlciBFdmVudCBMaXN0ZW5lclxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHNldHp0IGRhcyB2YWx1ZSB2b24gdHlwIHN0cmluZyB6dSBwcm9wZXJ0eSB2YWx1ZXN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBzZXRWYWx1ZVN0cmluZyh2OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy52YWx1ZXN0cmluZyA9IHY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yXG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgICAgIGxldCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlc3RyaW5nICE9PSBudWxsICYmIHRoaXMudmFsdWVzdHJpbmcuaW5kZXhPZignXycpID49IDApIHtcbiAgICAgICAgICAgIGVycm9yID0gQ3JlYXRlVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgICAgICAgICdpbnZhbGlkdHlwZScsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0LFxuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VkYXRldGltZWZvcm1hdHN1bW1hcnlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5pc1ZhbGlkRGF0ZShcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VkYXRldGltZWZvcm1hdCxcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VkYXRldGltZWZvcm1hdHN1bW1hcnlcbiAgICAgICAgKShjKTtcblxuICAgICAgICBpZiAodGhpcy5pc3JlcXVpcmVkKSB7XG4gICAgICAgICAgICBlcnJvciA9IFZhbGlkYXRpb24ucmVxdWlyZWQodGhpcy52YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkLCB0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWRzdW1tYXJ5KShjKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlcnJvcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPdmVyd3JpdGUgV3JpdGVWYWx1ZSB0byBTZXQgY29ycmVjdCBEYXRlIE9iamVjdFxuICAgICAqL1xuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBEYXRlIHwgc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gUmVzZXQgVmFsdWUgU3RyaW5nLCBkYW1pdCBiZWltIFVwZGF0ZSBkZXMgTW9kZWxzIGF1Y2ggZGFzIElucHV0IEZlbGQgZ2VsZWVydCB3aXJkLlxuICAgICAgICAgICAgdGhpcy5fdmFsdWVBc1N0cmluZyA9ICcnO1xuICAgICAgICAgICAgLy8gU2V0IEludGVybmFsIFByb3BlcnR5XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuZ2V0RGF0ZSh2YWx1ZSkudG9EYXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHRoaXMuX3ZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgICBwcm90ZWN0ZWQgZ2V0QXJyb3dIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGlja2VyYXJyb3cgPyB0aGlzLnBpY2tlcmFycm93Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IDogMDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0QXJyb3dXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrZXJhcnJvdyA/IHRoaXMucGlja2VyYXJyb3cubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCA6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgZnJvbSBsaW5rc1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXRQb3NpdGlvbkxlZnQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnBvcHVwSGVscGVyLmdldFBvc2l0aW9uTGVmdChcbiAgICAgICAgICAgIHRoaXMucGlja2VyYnV0dG9uLFxuICAgICAgICAgICAgdGhpcy5waWNrZXJjb250YWluZXIsXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgICAgICB0aGlzLmdldEFycm93V2lkdGgoKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dIZWlnaHQoKSxcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnBvc1BvcHVwTGVmdCA9IHZhbHVlO1xuXG4gICAgICAgIHN3aXRjaCAodGhpcy5HZXRQaWNrZXJQb3NpdGlvbigpKSB7XG4gICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi50b3A6XG4gICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5ib3R0b206XG4gICAgICAgICAgICAgICAgdGhpcy5wb3NBcnJvd0xlZnQgPSB0aGlzLmdldFBpY2tlcldpZHRoKCkgLyAyIC0gLXRoaXMuZ2V0QXJyb3dXaWR0aCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24udG9wZW5kOlxuICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24uYm90dG9tZW5kOlxuICAgICAgICAgICAgICAgIHRoaXMucG9zQXJyb3dMZWZ0ID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRQaWNrZXJXaWR0aCgpIC1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRBcnJvd1dpZHRoKCkgLyAyIC1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3B1cEhlbHBlci5nZXRDb250YWluZXJXaWR0aCh0aGlzLnBpY2tlcmJ1dHRvbiwgZmFsc2UpIC8gMjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhpcy5wb3NBcnJvd0xlZnQgPSBudWxsO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvcFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXRQb3NpdGlvblRvcCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucG9wdXBIZWxwZXIuZ2V0UG9zaXRpb25Ub3AoXG4gICAgICAgICAgICB0aGlzLnBpY2tlcmJ1dHRvbixcbiAgICAgICAgICAgIHRoaXMucGlja2VyY29udGFpbmVyLFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLFxuICAgICAgICAgICAgdGhpcy5nZXRBcnJvd1dpZHRoKCksXG4gICAgICAgICAgICB0aGlzLmdldEFycm93SGVpZ2h0KCksXG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5wb3NQb3B1cFRvcCA9IHZhbHVlO1xuXG4gICAgICAgIHN3aXRjaCAodGhpcy5HZXRQaWNrZXJQb3NpdGlvbigpKSB7XG4gICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5sZWZ0OlxuICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24ucmlnaHQ6XG4gICAgICAgICAgICAgICAgdGhpcy5wb3NBcnJvd1RvcCA9IHRoaXMuZ2V0UGlja2VySGVpZ2h0KCkgLyAyIC0gNi41O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLnBvc0Fycm93VG9wID0gbnVsbDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogbWV0aG9kIGlmIGNvbnRlbnQgaGFzIGNoYW5nZWQgYW5kIHByb3BvcnRpb25zIG5lZWQgdG8gYmUgcmVzZXQgaW4gdGhlIFVJLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb25Db250ZW50Q2hhbmdlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAvLyBEbyBub3RoaW5nIGlmIGlzIG5vdCB2aXNpYmxlXG4gICAgICAgIGlmICghdGhpcy5fc2hvd3NlbGVjdG9yKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ2V0UG9zaXRpb25MZWZ0KCk7XG4gICAgICAgICAgICB0aGlzLmdldFBvc2l0aW9uVG9wKCk7XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBwcml2YXRlIHNldERhdGVUaW1lRm9ybWF0KCk6IHZvaWQge1xuICAgICAgICAvLyBIQUNLOiBBZGQgYWRkaXRpb24gcHJvcGVydHkgdG8gRm9ybUNvbnRyb2wuIENhbiBiZSBmaXhlZCBpZiBzb2x1dGlvbiBmb3IgdGlja2V0OiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xOTY4NlxuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgICh0aGlzLm5nQ29udHJvbCBhcyB1bmtub3duIGFzIElEYXRlVGltZUNvbnRyb2wpLmRhdGV0aW1lZm9ybWF0c3RyaW5nID0gdGhpcy5HZXREYXRlVGltZUZvcm1hdFN0cmluZygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcbn1cbiJdLCJtYXBwaW5ncyI6InF0akNBc0lJO0FBQUFBLGNBQUEsU0FBQUEsQ0FBQSxTQUFBQyxjQUFBLFdBQUFBLGNBQUEsRUFBQUQsY0FBQSxHQXBJSixPQUFTRSxlQUFlLEtBQVEsb0JBQW9CLENBQ3BELE9BQVNDLFdBQVcsS0FBUSwwQkFBMEIsQ0FDdEQsT0FBU0MsVUFBVSxLQUFRLGVBQWUsQ0FDMUMsT0FBU0MscUJBQXFCLEtBQVEsc0NBQXNDLENBQzVFLE9BQVNDLG1CQUFtQixLQUFRLG9CQUFvQixDQUN4RCxPQUVJQyxTQUFTLENBSVRDLEtBQUssQ0FHTEMsU0FBUyxLQUNOLGVBQWUsQ0FFdEIsTUFBTyxHQUFLLENBQUFDLE9BQU8sS0FBTSxRQUFRLEMsa0ZBRWpDOztHQUlBLE1BQU0sTUFBZ0IsQ0FBQUMsc0JBQXVCLFFBQVEsQ0FBQUwsbUJBQXlCLENBeUcxRTtBQUVBO0FBRUE7Ozs7O09BTUFNLFlB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
90
+ */getPositionTop(){cov_10tnjmv4ka().f[20]++;const value=(cov_10tnjmv4ka().s[90]++,this.popupHelper.getPositionTop(this.pickerbutton,this.pickercontainer,this.elementRef,this.getArrowWidth(),this.getArrowHeight(),this.position,false));cov_10tnjmv4ka().s[91]++;this.posPopupTop=value;cov_10tnjmv4ka().s[92]++;switch(this.GetPickerPosition()){case TooltipPosition.left:cov_10tnjmv4ka().b[15][0]++;case TooltipPosition.right:cov_10tnjmv4ka().b[15][1]++;cov_10tnjmv4ka().s[93]++;this.posArrowTop=this.getPickerHeight()/2-6.5;cov_10tnjmv4ka().s[94]++;break;default:cov_10tnjmv4ka().b[15][2]++;cov_10tnjmv4ka().s[95]++;this.posArrowTop=null;cov_10tnjmv4ka().s[96]++;break;}cov_10tnjmv4ka().s[97]++;return value;}setDateTimeFormat(){cov_10tnjmv4ka().f[21]++;cov_10tnjmv4ka().s[98]++;// HACK: Add addition property to FormControl. Can be fixed if solution for ticket: https://github.com/angular/angular/issues/19686
91
+ if(this.ngControl){cov_10tnjmv4ka().b[16][0]++;cov_10tnjmv4ka().s[99]++;this.ngControl.datetimeformatstring=this.GetDateTimeFormatString();}else{cov_10tnjmv4ka().b[16][1]++;}}}cov_10tnjmv4ka().s[100]++;SacBaseDateTimeControl.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacBaseDateTimeControl,deps:[{token:i1.SacFormLayoutCommon},{token:i0.Injector},{token:i0.ElementRef},{token:i0.ChangeDetectorRef}],target:i0.ɵɵFactoryTarget.Directive});cov_10tnjmv4ka().s[101]++;SacBaseDateTimeControl.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"13.2.7",type:SacBaseDateTimeControl,inputs:{isrequired:"isrequired",placeholder:"placeholder",position:"position",validationmessagedatetimeformat:"validationmessagedatetimeformat",validationmessagedatetimeformatsummary:"validationmessagedatetimeformatsummary",validationmessagerequired:"validationmessagerequired",validationmessagerequiredsummary:"validationmessagerequiredsummary",valuestring:"valuestring"},viewQueries:[{propertyName:"pickerarrow",first:true,predicate:["pickerarrow"],descendants:true},{propertyName:"pickerbutton",first:true,predicate:["pickerbutton"],descendants:true,static:true},{propertyName:"picker",first:true,predicate:["picker"],descendants:true}],usesInheritance:true,ngImport:i0});cov_10tnjmv4ka().s[102]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacBaseDateTimeControl,decorators:[{type:Directive}],ctorParameters:function(){cov_10tnjmv4ka().f[22]++;cov_10tnjmv4ka().s[103]++;return[{type:i1.SacFormLayoutCommon},{type:i0.Injector},{type:i0.ElementRef},{type:i0.ChangeDetectorRef}];},propDecorators:{isrequired:[{type:Input}],pickerarrow:[{type:ViewChild,args:['pickerarrow',{static:false}]}],pickerbutton:[{type:ViewChild,args:['pickerbutton',{static:true}]}],placeholder:[{type:Input}],position:[{type:Input}],validationmessagedatetimeformat:[{type:Input}],validationmessagedatetimeformatsummary:[{type:Input}],validationmessagerequired:[{type:Input}],validationmessagerequiredsummary:[{type:Input}],picker:[{type:ViewChild,args:['picker',{static:false}]}],valuestring:[{type:Input}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZWRhdGV0aW1lY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbW1vbi9iYXNlZGF0ZXRpbWVjb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBRUgsU0FBUyxFQUlULEtBQUssRUFHTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7OztBQUVsQzs7R0FFRztBQUVILE1BQU0sT0FBZ0Isc0JBQXVCLFNBQVEsbUJBQXlCO0lBeUcxRSx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7OztPQUtHO0lBQ0gsWUFDSSxVQUErQixFQUMvQixRQUFrQixFQUNSLFVBQXNCLEVBQ2YsS0FBd0I7UUFFekMsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUhsQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ2YsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUF0SDdDLHFCQUFxQjtRQUVyQjs7V0FFRztRQUNjLGdCQUFXLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFFOUQ7O1dBRUc7UUFDTyxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQU85Qjs7V0FFRztRQUNJLG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBRXpDOztXQUVHO1FBQ0ksa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFdEM7O1dBRUc7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Z0JBT3BDLFlBQVk7c0JBRGxCLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFNM0IsV0FBVztzQkFBMUIsS0FBSztnQkE0QkMsUUFBUTtzQkFEZCxLQUFLO2dCQU1VLCtCQUErQjtzQkFBOUMsS0FBSztnQkFLVSxzQ0FBc0M7c0JBQXJELEtBQUs7Z0JBTVUseUJBQXlCO3NCQUF4QyxLQUFLO2dCQUtVLGdDQUFnQztzQkFBL0MsS0FBSztnQkE2QkssTUFBTTtzQkFEaEIsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQStCM0IsV0FBVztzQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0Zvcm1MYXlvdXRDb21tb24gfSBmcm9tICcuLi9jb250cm9scy9sYXlvdXQvZm9ybWxheW91dCc7XG5pbXBvcnQgeyBJRGF0ZVRpbWVDb250cm9sIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pZGF0ZXRpbWVjb250cm9sJztcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4uL3V0aWxpdGllcy9lbnVtcyc7XG5pbXBvcnQgeyBQb3BVcEhlbHBlciB9IGZyb20gJy4uL3V0aWxpdGllcy9wb3B1cGhlbHBlcic7XG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSAnLi4vdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBDcmVhdGVWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb25lcnJvcmNyZWF0b3InO1xuaW1wb3J0IHsgU2FjQmFzZU1vZGVsQ29udHJvbCB9IGZyb20gJy4vYmFzZW1vZGVsY29udHJvbCc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuXG4vKipcbiAqIEJhc2UgS2xhc3NlIGbDvHIgRGF0ZS9UaW1lIENvbnRyb2xzXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNhY0Jhc2VEYXRlVGltZUNvbnRyb2wgZXh0ZW5kcyBTYWNCYXNlTW9kZWxDb250cm9sPERhdGU+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIERvQ2hlY2sge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogSGVscGVyIGNsYXNzIHRvIGRpc3BsYXkgdG9vbHRpcCBvbiBjb3JyZWN0IHBvc2l0aW9uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3B1cEhlbHBlcjogUG9wVXBIZWxwZXIgPSBuZXcgUG9wVXBIZWxwZXIoKTtcblxuICAgIC8qKlxuICAgICAqIGRhcyBwcm9wZXJ0eSBlbnRoaWVsdCBkYXMgVmFsdWUgYWxzIHN0cmluZy4gRGVmYXVsdCBpc3QgJydcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3ZhbHVlQXNTdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIENvbnRhaW5lcnMgZm9yIHRoZSBkYXRldGltZSBwaWNrZXJcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcGlja2VyY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGZvciBlbnVtIGluIEFuZ3VsYXIgSFRNTCB0ZW1wbGF0ZVxuICAgICAqL1xuICAgIHB1YmxpYyBUb29sdGlwUG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb247XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmllcnQgb2IgZGVyIERhdGUgU2VsZWN0b3IgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgX3Nob3dzZWxlY3RvcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5pZXJ0IGRhcyBDb250cm9sIGFscyBSZXF1aXJlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc3JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBNb21lbnQgSlMgSW5zdGFuY2VcbiAgICAgKi9cbiAgICBwdWJsaWMgbW9tZW50ID0gbW9tZW50X1snZGVmYXVsdCddO1xuXG4gICAgLyoqXG4gICAgICogQXJyb3cgSXRlbSBvZiBQaWNrZXIgRWxlbWVudC4gUmVxdWlyZWQgdG8gc2V0IHRoZSBwb3NpdGlvbiBvZiBhcnJvdyBjb3JyZWN0bHlcbiAgICAgKi9cbiAgICBwdWJsaWMgcGlja2VyUG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb247XG4gICAgQFZpZXdDaGlsZCgncGlja2VyYXJyb3cnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgcGlja2VyYXJyb3c6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIE5hbWUgb2YgdGhlIGNvbnRhaW5lciBmb3IgY29udGVudCAoZS5nLiBpY29uKSBvbiB3aGljaCB0aGUgdG9vbHRpcCBpcyBkaXNwbGF5ZWQuXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgncGlja2VyYnV0dG9uJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBwdWJsaWMgcGlja2VyYnV0dG9uOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqIFRleHRCb3ggUGxhY2Vob2xkZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgcGlja2VyIGFycm93IGF0IHRoZSBsZWZ0XG4gICAgICovXG4gICAgcHVibGljIHBvc0Fycm93TGVmdDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgcGlja2VyIGFycm93IGF0IHRoZSB0b3BcbiAgICAgKi9cbiAgICBwdWJsaWMgcG9zQXJyb3dUb3A6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhdCB0aGUgbGVmdFxuICAgICAqL1xuICAgIHB1YmxpYyBwb3NQb3B1cExlZnQ6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgcGlja2VyIGF0IHRoZSB0b3BcbiAgICAgKi9cbiAgICBwdWJsaWMgcG9zUG9wdXBUb3A6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgZGF0ZXRpbWUgcGlja2VyLiBWYWx1ZXM6IGxlZnR8dG9wfHJpZ2h0fGJvdHRvbXxhdXRvXG4gICAgICpcbiAgICAgKiBWYWx1ZSAnYXV0bycgY2FuIGJlIGNvbWJpbmVkIHdpdGggYW5vdGhlciB2YWx1ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwb3NpdGlvbjogc3RyaW5nID0gJ2JvdHRvbWVuZHx0b3BlbmQnO1xuXG4gICAgLyoqXG4gICAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIERhdGVUaW1lRm9ybWF0IGJlaSBDb250cm9sXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlZGF0ZXRpbWVmb3JtYXQ6IHN0cmluZyA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yRGF0ZXRpbWVGb3JtYXQ7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgRGF0ZVRpbWVGb3JtYXQgaW4gVmFsaWRhdGlvbiBTdW1tYXJ5XG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlZGF0ZXRpbWVmb3JtYXRzdW1tYXJ5OiBzdHJpbmcgPVxuICAgICAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlEYXRldGltZUZvcm1hdDtcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBiZWkgQ29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkOiBzdHJpbmcgPSB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclJlcXVpcmVkO1xuXG4gICAgLyoqXG4gICAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGluIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkc3VtbWFyeTogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5UmVxdWlyZWQ7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSBmb3JtbGF5b3V0IFNhY0Zvcm1MYXlvdXRDb21tb24gdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgICAqIEBwYXJhbSBlbGVtZW50UmVmIHJlZmVyZW5jZSB0byBodG1sIGVsZW1lbnRcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZm9ybWxheW91dDogU2FjRm9ybUxheW91dENvbW1vbixcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZm9ybWxheW91dCwgaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBTZXR0ZXIgZm9yIHRoZSBuYW1lIG9mIHRoZSBjb250YWluZXIgZm9yIHRoZSB0b29sdGlwLiBJcyByZXF1aXJlZCBhcyB0aGUgdG9vbHRpcCBjYW4gYmUgaGlkZGVuIHZpYSBuZ0lmLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ3BpY2tlcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBzZXQgcGlja2VyKHBpY2tlcjogRWxlbWVudFJlZikge1xuICAgICAgICBpZiAocGlja2VyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGlja2VyLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5waWNrZXJjb250YWluZXIgPSBwaWNrZXI7XG4gICAgICAgIHRoaXMub25Db250ZW50Q2hhbmdlKCk7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdG9vbHRvcCgpOiBFbGVtZW50UmVmIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGlja2VyY29udGFpbmVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGdldHRlciBmw7xyIHZhbHVlc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIGdldCB2YWx1ZXN0cmluZygpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy52YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlQXNTdHJpbmc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5tb21lbnQudXRjKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIGRhdGUubG9jYWwoKS5mb3JtYXQodGhpcy5HZXREYXRlVGltZUZvcm1hdFN0cmluZygpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERhcyBJbnB1dCBiZWtvbW10IGRhcyB2YWx1ZSB2b24gdHlwIHN0cmluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCB2YWx1ZXN0cmluZyh2OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fdmFsdWVBc1N0cmluZyA9IHY7XG4gICAgICAgIGxldCBkYXRlOiBtb21lbnRfLk1vbWVudCA9IHRoaXMubW9tZW50KHYsIFt0aGlzLkdldERhdGVUaW1lRm9ybWF0U3RyaW5nKCldLCB0cnVlKTtcblxuICAgICAgICBkYXRlID0gdGhpcy5Nb2RpZnlQYXJzZWREYXRlVGltZVZhbHVlKGRhdGUpLnV0YygpO1xuXG4gICAgICAgIGlmIChkYXRlLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGUudG9EYXRlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIERpZSBtZXRob2RlIHJldHVybnMgZGF0ZVRpbWUgaW4gc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IEdldERhdGVUaW1lRm9ybWF0U3RyaW5nKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwXG4gICAgICovXG4gICAgcHVibGljIEdldFBpY2tlclBvc2l0aW9uKCk6IFRvb2x0aXBQb3NpdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldERpc3BsYXlQb3NpdGlvbihcbiAgICAgICAgICAgIHRoaXMucGlja2VyYnV0dG9uLFxuICAgICAgICAgICAgdGhpcy5waWNrZXJjb250YWluZXIsXG4gICAgICAgICAgICB0aGlzLmdldEFycm93V2lkdGgoKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dIZWlnaHQoKSxcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpZSBtZXRob2RlIG1vZGlmaXppZXJ0IGRhcyBlaW5nZWdlYmVuZSBWYWx1ZSB2b24gdHlwIE1vbWVudFxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBNb2RpZnlQYXJzZWREYXRlVGltZVZhbHVlKHY6IG1vbWVudF8uTW9tZW50KTogbW9tZW50Xy5Nb21lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBKU09OIERhdGUgU3RyaW5nIGluIGVpbiBVVEMgRGF0ZVRpbWUgT2JqZWN0IGtvbnZlcnRpZXJlbiwgd2VsY2hlcyB2b20gQ29udHJvbCB2ZXJ3ZW5kZXRlIHdlcmRlbiBrYW5uXG4gICAgICovXG4gICAgcHVibGljIGdldERhdGUodGltZXN0YW1wKTogbW9tZW50Lk1vbWVudCB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aW1lc3RhbXApO1xuICAgICAgICBjb25zdCB5ZWFyID0gZGF0ZS5nZXRVVENGdWxsWWVhcigpO1xuICAgICAgICBjb25zdCBtb250aCA9IGRhdGUuZ2V0VVRDTW9udGgoKTtcbiAgICAgICAgY29uc3QgZGF5ID0gZGF0ZS5nZXRVVENEYXRlKCk7XG4gICAgICAgIGNvbnN0IGhvdXJzID0gZGF0ZS5nZXRVVENIb3VycygpO1xuICAgICAgICBjb25zdCBtaW51dGVzID0gZGF0ZS5nZXRVVENNaW51dGVzKCk7XG4gICAgICAgIGNvbnN0IHNlY29uZHMgPSBkYXRlLmdldFVUQ1NlY29uZHMoKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5tb21lbnQoRGF0ZS5VVEMoeWVhciwgbW9udGgsIGRheSwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgb2YgdGhlIHRvb2x0aXBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UGlja2VySGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldFBvcHVwSGVpZ2h0KHRoaXMucGlja2VyY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiB0aGUgcGlja2VyXG4gICAgICovXG4gICAgcHVibGljIGdldFBpY2tlcldpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldFBvcHVwV2lkdGgodGhpcy5waWNrZXJjb250YWluZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIC8vIHRoaXMub25Db250ZW50Q2hhbmdlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvLyBVbnJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdCBFdmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5zZXREYXRlVGltZUZvcm1hdCgpO1xuXG4gICAgICAgIC8vIFJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2V0enQgZGFzIHZhbHVlIHZvbiB0eXAgc3RyaW5nIHp1IHByb3BlcnR5IHZhbHVlc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIHNldFZhbHVlU3RyaW5nKHY6IHN0cmluZykge1xuICAgICAgICB0aGlzLnZhbHVlc3RyaW5nID0gdjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3JcbiAgICAgKi9cbiAgICBwdWJsaWMgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgbGV0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWVzdHJpbmcgIT09IG51bGwgJiYgdGhpcy52YWx1ZXN0cmluZy5pbmRleE9mKCdfJykgPj0gMCkge1xuICAgICAgICAgICAgZXJyb3IgPSBDcmVhdGVWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgICAgICAgJ2ludmFsaWR0eXBlJyxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlZGF0ZXRpbWVmb3JtYXQsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0c3VtbWFyeVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLmlzVmFsaWREYXRlKFxuICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0LFxuICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0c3VtbWFyeVxuICAgICAgICApKGMpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzcmVxdWlyZWQpIHtcbiAgICAgICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5yZXF1aXJlZCh0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQsIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZHN1bW1hcnkpKGMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE92ZXJ3cml0ZSBXcml0ZVZhbHVlIHRvIFNldCBjb3JyZWN0IERhdGUgT2JqZWN0XG4gICAgICovXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IERhdGUgfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBSZXNldCBWYWx1ZSBTdHJpbmcsIGRhbWl0IGJlaW0gVXBkYXRlIGRlcyBNb2RlbHMgYXVjaCBkYXMgSW5wdXQgRmVsZCBnZWxlZXJ0IHdpcmQuXG4gICAgICAgICAgICB0aGlzLl92YWx1ZUFzU3RyaW5nID0gJyc7XG4gICAgICAgICAgICAvLyBTZXQgSW50ZXJuYWwgUHJvcGVydHlcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5nZXREYXRlKHZhbHVlKS50b0RhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodGhpcy5fdmFsdWUpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcblxuICAgIHByb3RlY3RlZCBnZXRBcnJvd0hlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrZXJhcnJvdyA/IHRoaXMucGlja2VyYXJyb3cubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgOiAwO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRBcnJvd1dpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlcmFycm93ID8gdGhpcy5waWNrZXJhcnJvdy5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBmcm9tIGxpbmtzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldFBvc2l0aW9uTGVmdCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucG9wdXBIZWxwZXIuZ2V0UG9zaXRpb25MZWZ0KFxuICAgICAgICAgICAgdGhpcy5waWNrZXJidXR0b24sXG4gICAgICAgICAgICB0aGlzLnBpY2tlcmNvbnRhaW5lcixcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZixcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dXaWR0aCgpLFxuICAgICAgICAgICAgdGhpcy5nZXRBcnJvd0hlaWdodCgpLFxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbixcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gRW5zdXJlIHRoYXQgcG9wLXVwcyBuZXZlciBhcHBlYXIgb3V0c2lkZSB0aGUgdmlzaWJsZSBhcmVhIG9uIHRoZSBsZWZ0XG4gICAgICAgIGlmICh2YWx1ZSA8IDApIHtcbiAgICAgICAgICAgIHRoaXMucG9zUG9wdXBMZWZ0ID0gNTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucG9zUG9wdXBMZWZ0ID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKHRoaXMuR2V0UGlja2VyUG9zaXRpb24oKSkge1xuICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24udG9wOlxuICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24uYm90dG9tOlxuICAgICAgICAgICAgICAgIHRoaXMucG9zQXJyb3dMZWZ0ID0gdGhpcy5nZXRQaWNrZXJXaWR0aCgpIC8gMiAtIC10aGlzLmdldEFycm93V2lkdGgoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnRvcGVuZDpcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbWVuZDpcbiAgICAgICAgICAgICAgICB0aGlzLnBvc0Fycm93TGVmdCA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0UGlja2VyV2lkdGgoKSAtXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dXaWR0aCgpIC8gMiAtXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9wdXBIZWxwZXIuZ2V0Q29udGFpbmVyV2lkdGgodGhpcy5waWNrZXJidXR0b24sIGZhbHNlKSAvIDI7XG5cbiAgICAgICAgICAgICAgICAvLyBDb3JyZWN0aW9uIGJ5IEFycm93IGlmIHBvcHVwIGlzIG91dHNpZGUgdGhlIGxlZnQgbWFyZ2luXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc0Fycm93TGVmdCAtPSB2YWx1ZSAqIC0xICsgNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMucG9zQXJyb3dMZWZ0ID0gbnVsbDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b3BcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0UG9zaXRpb25Ub3AoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnBvcHVwSGVscGVyLmdldFBvc2l0aW9uVG9wKFxuICAgICAgICAgICAgdGhpcy5waWNrZXJidXR0b24sXG4gICAgICAgICAgICB0aGlzLnBpY2tlcmNvbnRhaW5lcixcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZixcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dXaWR0aCgpLFxuICAgICAgICAgICAgdGhpcy5nZXRBcnJvd0hlaWdodCgpLFxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbixcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucG9zUG9wdXBUb3AgPSB2YWx1ZTtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMuR2V0UGlja2VyUG9zaXRpb24oKSkge1xuICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24ubGVmdDpcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0OlxuICAgICAgICAgICAgICAgIHRoaXMucG9zQXJyb3dUb3AgPSB0aGlzLmdldFBpY2tlckhlaWdodCgpIC8gMiAtIDYuNTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhpcy5wb3NBcnJvd1RvcCA9IG51bGw7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xuXG4gICAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIG1ldGhvZCBpZiBjb250ZW50IGhhcyBjaGFuZ2VkIGFuZCBwcm9wb3J0aW9ucyBuZWVkIHRvIGJlIHJlc2V0IGluIHRoZSBVSS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9uQ29udGVudENoYW5nZSA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgLy8gRG8gbm90aGluZyBpZiBpcyBub3QgdmlzaWJsZVxuICAgICAgICBpZiAoIXRoaXMuX3Nob3dzZWxlY3Rvcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdldFBvc2l0aW9uTGVmdCgpO1xuICAgICAgICAgICAgdGhpcy5nZXRQb3NpdGlvblRvcCgpO1xuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBzZXREYXRlVGltZUZvcm1hdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gSEFDSzogQWRkIGFkZGl0aW9uIHByb3BlcnR5IHRvIEZvcm1Db250cm9sLiBDYW4gYmUgZml4ZWQgaWYgc29sdXRpb24gZm9yIHRpY2tldDogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTk2ODZcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICAodGhpcy5uZ0NvbnRyb2wgYXMgdW5rbm93biBhcyBJRGF0ZVRpbWVDb250cm9sKS5kYXRldGltZWZvcm1hdHN0cmluZyA9IHRoaXMuR2V0RGF0ZVRpbWVGb3JtYXRTdHJpbmcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG59XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMTB0bmptdjRrYSIsImFjdHVhbENvdmVyYWdlIiwiVG9vbHRpcFBvc2l0aW9uIiwiUG9wVXBIZWxwZXIiLCJWYWxpZGF0aW9uIiwiQ3JlYXRlVmFsaWRhdGlvbkVycm9yIiwiU2FjQmFzZU1vZGVsQ29udHJvbCIsIkRpcmVjdGl2ZSIsIklucHV0IiwiVmlld0NoaWxkIiwibW9tZW50XyIsIlNhY0Jhc2VEYXRlVGltZUNvbnRyb2wiLCJjb25zdHJ1Y3RvciIsImZvcm1sYXlvdXQiLCJpbmplY3RvciIsImVsZW1lbnRSZWYiLCJjZFJlZiIsImYiLCJzIiwicG9wdXBIZWxwZXIiLCJfdmFsdWVBc1N0cmluZyIsIl9zaG93c2VsZWN0b3IiLCJpc3JlcXVpcmVkIiwibW9tZW50IiwicGlja2VyUG9zaXRpb24iLCJwbGFjZWhvbGRlciIsInBvc0Fycm93TGVmdCIsInBvc0Fycm93VG9wIiwicG9zUG9wdXBMZWZ0IiwicG9zUG9wdXBUb3AiLCJwb3NpdGlvbiIsInZhbGlkYXRpb25tZXNzYWdlZGF0ZXRpbWVmb3JtYXQiLCJ2YWxpZGF0aW9uS2V5U2VydmljZSIsIlZhbGlkYXRpb25FcnJvckRhdGV0aW1lRm9ybWF0IiwidmFsaWRhdGlvbm1lc3NhZ2VkYXRldGltZWZvcm1hdHN1bW1hcnkiLCJWYWxpZGF0aW9uRXJyb3JTdW1tYXJ5RGF0ZXRpbWVGb3JtYXQiLCJ2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkIiwiVmFsaWRhdGlvbkVycm9yUmVxdWlyZWQiLCJ2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkc3VtbWFyeSIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlSZXF1aXJlZCIsIm9uQ29udGVudENoYW5nZSIsImIiLCJzZXRUaW1lb3V0IiwiZ2V0UG9zaXRpb25MZWZ0IiwiZ2V0UG9zaXRpb25Ub3AiLCJwaWNrZXIiLCJ1bmRlZmluZWQiLCJkb2N1bWVudCIsImJvZHkiLCJhcHBlbmRDaGlsZCIsIm5hdGl2ZUVsZW1lbnQiLCJwaWNrZXJjb250YWluZXIiLCJkZXRlY3RDaGFuZ2VzIiwidG9vbHRvcCIsInZhbHVlc3RyaW5nIiwidmFsdWUiLCJkYXRlIiwidXRjIiwibG9jYWwiLCJmb3JtYXQiLCJHZXREYXRlVGltZUZvcm1hdFN0cmluZyIsInYiLCJNb2RpZnlQYXJzZWREYXRlVGltZVZhbHVlIiwiaXNWYWxpZCIsInRvRGF0ZSIsIkdldFBpY2tlclBvc2l0aW9uIiwiZ2V0RGlzcGxheVBvc2l0aW9uIiwicGlja2VyYnV0dG9uIiwiZ2V0QXJyb3dXaWR0aCIsImdldEFycm93SGVpZ2h0IiwiZ2V0RGF0ZSIsInRpbWVzdGFtcCIsIkRhdGUiLCJ5ZWFyIiwiZ2V0VVRDRnVsbFllYXIiLCJtb250aCIsImdldFVUQ01vbnRoIiwiZGF5IiwiZ2V0VVRDRGF0ZSIsImhvdXJzIiwiZ2V0VVRDSG91cnMiLCJtaW51dGVzIiwiZ2V0VVRDTWludXRlcyIsInNlY29uZHMiLCJnZXRVVENTZWNvbmRzIiwiVVRDIiwiZ2V0UGlja2VySGVpZ2h0IiwiZ2V0UG9wdXBIZWlnaHQiLCJnZXRQaWNrZXJXaWR0aCIsImdldFBvcHVwV2lkdGgiLCJuZ0RvQ2hlY2siLCJuZ09uRGVzdHJveSIsIndpbmRvdyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJuZ09uSW5pdCIsInNldERhdGVUaW1lRm9ybWF0IiwiYWRkRXZlbnRMaXN0ZW5lciIsInNldFZhbHVlU3RyaW5nIiwidmFsaWRhdGVEYXRhIiwiYyIsImVycm9yIiwiaW5kZXhPZiIsImlzVmFsaWREYXRlIiwicmVxdWlyZWQiLCJ3cml0ZVZhbHVlIiwiX3ZhbHVlIiwicGlja2VyYXJyb3ciLCJvZmZzZXRIZWlnaHQiLCJvZmZzZXRXaWR0aCIsInRvcCIsImJvdHRvbSIsInRvcGVuZCIsImJvdHRvbWVuZCIsImdldENvbnRhaW5lcldpZHRoIiwibGVmdCIsInJpZ2h0IiwibmdDb250cm9sIiwiZGF0ZXRpbWVmb3JtYXRzdHJpbmciLCJkZXBzIiwidG9rZW4iLCJpMSIsIlNhY0Zvcm1MYXlvdXRDb21tb24iLCJpMCIsIkluamVjdG9yIiwiRWxlbWVudFJlZiIsIkNoYW5nZURldGVjdG9yUmVmIiwidGFyZ2V0IiwiybXJtUZhY3RvcnlUYXJnZXQiLCJpbnB1dHMiLCJ2aWV3UXVlcmllcyIsInByb3BlcnR5TmFtZSIsImZpcnN0IiwicHJlZGljYXRlIiwiZGVzY2VuZGFudHMiLCJzdGF0aWMiLCJ1c2VzSW5oZXJpdGFuY2UiLCJuZ0ltcG9ydCIsImRlY29yYXRvcnMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb21tb24vYmFzZWRhdGV0aW1lY29udHJvbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNGb3JtTGF5b3V0Q29tbW9uIH0gZnJvbSAnLi4vY29udHJvbHMvbGF5b3V0L2Zvcm1sYXlvdXQnO1xuaW1wb3J0IHsgSURhdGVUaW1lQ29udHJvbCB9IGZyb20gJy4uL2ludGVyZmFjZXMvaWRhdGV0aW1lY29udHJvbCc7XG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuLi91dGlsaXRpZXMvZW51bXMnO1xuaW1wb3J0IHsgUG9wVXBIZWxwZXIgfSBmcm9tICcuLi91dGlsaXRpZXMvcG9wdXBoZWxwZXInO1xuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4uL3ZhbGlkYXRpb24nO1xuaW1wb3J0IHsgQ3JlYXRlVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uZXJyb3JjcmVhdG9yJztcbmltcG9ydCB7IFNhY0Jhc2VNb2RlbENvbnRyb2wgfSBmcm9tICcuL2Jhc2Vtb2RlbGNvbnRyb2wnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcblxuLyoqXG4gKiBCYXNlIEtsYXNzZSBmw7xyIERhdGUvVGltZSBDb250cm9sc1xuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNCYXNlRGF0ZVRpbWVDb250cm9sIGV4dGVuZHMgU2FjQmFzZU1vZGVsQ29udHJvbDxEYXRlPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBEb0NoZWNrIHtcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8qKlxuICAgICAqIEhlbHBlciBjbGFzcyB0byBkaXNwbGF5IHRvb2x0aXAgb24gY29ycmVjdCBwb3NpdGlvblxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9wdXBIZWxwZXI6IFBvcFVwSGVscGVyID0gbmV3IFBvcFVwSGVscGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiBkYXMgcHJvcGVydHkgZW50aGllbHQgZGFzIFZhbHVlIGFscyBzdHJpbmcuIERlZmF1bHQgaXN0ICcnXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF92YWx1ZUFzU3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBDb250YWluZXJzIGZvciB0aGUgZGF0ZXRpbWUgcGlja2VyXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHBpY2tlcmNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBmb3IgZW51bSBpbiBBbmd1bGFyIEhUTUwgdGVtcGxhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgVG9vbHRpcFBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5pZXJ0IG9iIGRlciBEYXRlIFNlbGVjdG9yIGFuZ2V6ZWlndCB3aXJkXG4gICAgICovXG4gICAgcHVibGljIF9zaG93c2VsZWN0b3I6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIERlZmluaWVydCBkYXMgQ29udHJvbCBhbHMgUmVxdWlyZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgaXNyZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogTW9tZW50IEpTIEluc3RhbmNlXG4gICAgICovXG4gICAgcHVibGljIG1vbWVudCA9IG1vbWVudF9bJ2RlZmF1bHQnXTtcblxuICAgIC8qKlxuICAgICAqIEFycm93IEl0ZW0gb2YgUGlja2VyIEVsZW1lbnQuIFJlcXVpcmVkIHRvIHNldCB0aGUgcG9zaXRpb24gb2YgYXJyb3cgY29ycmVjdGx5XG4gICAgICovXG4gICAgcHVibGljIHBpY2tlclBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uO1xuICAgIEBWaWV3Q2hpbGQoJ3BpY2tlcmFycm93JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIHBpY2tlcmFycm93OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBjb250YWluZXIgZm9yIGNvbnRlbnQgKGUuZy4gaWNvbikgb24gd2hpY2ggdGhlIHRvb2x0aXAgaXMgZGlzcGxheWVkLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ3BpY2tlcmJ1dHRvbicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHVibGljIHBpY2tlcmJ1dHRvbjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBUZXh0Qm94IFBsYWNlaG9sZGVyXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhcnJvdyBhdCB0aGUgbGVmdFxuICAgICAqL1xuICAgIHB1YmxpYyBwb3NBcnJvd0xlZnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhcnJvdyBhdCB0aGUgdG9wXG4gICAgICovXG4gICAgcHVibGljIHBvc0Fycm93VG9wOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBwaWNrZXIgYXQgdGhlIGxlZnRcbiAgICAgKi9cbiAgICBwdWJsaWMgcG9zUG9wdXBMZWZ0OiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhdCB0aGUgdG9wXG4gICAgICovXG4gICAgcHVibGljIHBvc1BvcHVwVG9wOiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIGRhdGV0aW1lIHBpY2tlci4gVmFsdWVzOiBsZWZ0fHRvcHxyaWdodHxib3R0b218YXV0b1xuICAgICAqXG4gICAgICogVmFsdWUgJ2F1dG8nIGNhbiBiZSBjb21iaW5lZCB3aXRoIGFub3RoZXIgdmFsdWUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcG9zaXRpb246IHN0cmluZyA9ICdib3R0b21lbmR8dG9wZW5kJztcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBEYXRlVGltZUZvcm1hdCBiZWkgQ29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0OiBzdHJpbmcgPSB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvckRhdGV0aW1lRm9ybWF0O1xuXG4gICAgLyoqXG4gICAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIERhdGVUaW1lRm9ybWF0IGluIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0c3VtbWFyeTogc3RyaW5nID1cbiAgICAgICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5RGF0ZXRpbWVGb3JtYXQ7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgYmVpIENvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZDogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JSZXF1aXJlZDtcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZHN1bW1hcnk6IHN0cmluZyA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeVJlcXVpcmVkO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZm9ybWxheW91dCBTYWNGb3JtTGF5b3V0Q29tbW9uIHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICAgKiBAcGFyYW0gZWxlbWVudFJlZiByZWZlcmVuY2UgdG8gaHRtbCBlbGVtZW50XG4gICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGZvcm1sYXlvdXQ6IFNhY0Zvcm1MYXlvdXRDb21tb24sXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZvcm1sYXlvdXQsIGluamVjdG9yKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLyoqXG4gICAgICogU2V0dGVyIGZvciB0aGUgbmFtZSBvZiB0aGUgY29udGFpbmVyIGZvciB0aGUgdG9vbHRpcC4gSXMgcmVxdWlyZWQgYXMgdGhlIHRvb2x0aXAgY2FuIGJlIGhpZGRlbiB2aWEgbmdJZi5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdwaWNrZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgc2V0IHBpY2tlcihwaWNrZXI6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgaWYgKHBpY2tlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBpY2tlci5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucGlja2VyY29udGFpbmVyID0gcGlja2VyO1xuICAgICAgICB0aGlzLm9uQ29udGVudENoYW5nZSgpO1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHRvb2x0b3AoKTogRWxlbWVudFJlZiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlcmNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBnZXR0ZXIgZsO8ciB2YWx1ZXN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdmFsdWVzdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl92YWx1ZUFzU3RyaW5nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMubW9tZW50LnV0Yyh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiBkYXRlLmxvY2FsKCkuZm9ybWF0KHRoaXMuR2V0RGF0ZVRpbWVGb3JtYXRTdHJpbmcoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEYXMgSW5wdXQgYmVrb21tdCBkYXMgdmFsdWUgdm9uIHR5cCBzdHJpbmdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgdmFsdWVzdHJpbmcodjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlQXNTdHJpbmcgPSB2O1xuICAgICAgICBsZXQgZGF0ZTogbW9tZW50Xy5Nb21lbnQgPSB0aGlzLm1vbWVudCh2LCBbdGhpcy5HZXREYXRlVGltZUZvcm1hdFN0cmluZygpXSwgdHJ1ZSk7XG5cbiAgICAgICAgZGF0ZSA9IHRoaXMuTW9kaWZ5UGFyc2VkRGF0ZVRpbWVWYWx1ZShkYXRlKS51dGMoKTtcblxuICAgICAgICBpZiAoZGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRlLnRvRGF0ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBEaWUgbWV0aG9kZSByZXR1cm5zIGRhdGVUaW1lIGluIHN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBHZXREYXRlVGltZUZvcm1hdFN0cmluZygpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcFxuICAgICAqL1xuICAgIHB1YmxpYyBHZXRQaWNrZXJQb3NpdGlvbigpOiBUb29sdGlwUG9zaXRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3B1cEhlbHBlci5nZXREaXNwbGF5UG9zaXRpb24oXG4gICAgICAgICAgICB0aGlzLnBpY2tlcmJ1dHRvbixcbiAgICAgICAgICAgIHRoaXMucGlja2VyY29udGFpbmVyLFxuICAgICAgICAgICAgdGhpcy5nZXRBcnJvd1dpZHRoKCksXG4gICAgICAgICAgICB0aGlzLmdldEFycm93SGVpZ2h0KCksXG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaWUgbWV0aG9kZSBtb2RpZml6aWVydCBkYXMgZWluZ2VnZWJlbmUgVmFsdWUgdm9uIHR5cCBNb21lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgTW9kaWZ5UGFyc2VkRGF0ZVRpbWVWYWx1ZSh2OiBtb21lbnRfLk1vbWVudCk6IG1vbWVudF8uTW9tZW50O1xuXG4gICAgLyoqXG4gICAgICogSlNPTiBEYXRlIFN0cmluZyBpbiBlaW4gVVRDIERhdGVUaW1lIE9iamVjdCBrb252ZXJ0aWVyZW4sIHdlbGNoZXMgdm9tIENvbnRyb2wgdmVyd2VuZGV0ZSB3ZXJkZW4ga2FublxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREYXRlKHRpbWVzdGFtcCk6IG1vbWVudC5Nb21lbnQge1xuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodGltZXN0YW1wKTtcbiAgICAgICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0VVRDRnVsbFllYXIoKTtcbiAgICAgICAgY29uc3QgbW9udGggPSBkYXRlLmdldFVUQ01vbnRoKCk7XG4gICAgICAgIGNvbnN0IGRheSA9IGRhdGUuZ2V0VVRDRGF0ZSgpO1xuICAgICAgICBjb25zdCBob3VycyA9IGRhdGUuZ2V0VVRDSG91cnMoKTtcbiAgICAgICAgY29uc3QgbWludXRlcyA9IGRhdGUuZ2V0VVRDTWludXRlcygpO1xuICAgICAgICBjb25zdCBzZWNvbmRzID0gZGF0ZS5nZXRVVENTZWNvbmRzKCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubW9tZW50KERhdGUuVVRDKHllYXIsIG1vbnRoLCBkYXksIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IG9mIHRoZSB0b29sdGlwXG4gICAgICovXG4gICAgcHVibGljIGdldFBpY2tlckhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3B1cEhlaWdodCh0aGlzLnBpY2tlcmNvbnRhaW5lcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIHBpY2tlclxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQaWNrZXJXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3B1cFdpZHRoKHRoaXMucGlja2VyY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICAvLyB0aGlzLm9uQ29udGVudENoYW5nZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gVW5yZWdpc3RlciBFdmVudCBMaXN0ZW5lclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluaXQgRXZlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuc2V0RGF0ZVRpbWVGb3JtYXQoKTtcblxuICAgICAgICAvLyBSZWdpc3RlciBFdmVudCBMaXN0ZW5lclxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHNldHp0IGRhcyB2YWx1ZSB2b24gdHlwIHN0cmluZyB6dSBwcm9wZXJ0eSB2YWx1ZXN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBzZXRWYWx1ZVN0cmluZyh2OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy52YWx1ZXN0cmluZyA9IHY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yXG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgICAgIGxldCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlc3RyaW5nICE9PSBudWxsICYmIHRoaXMudmFsdWVzdHJpbmcuaW5kZXhPZignXycpID49IDApIHtcbiAgICAgICAgICAgIGVycm9yID0gQ3JlYXRlVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgICAgICAgICdpbnZhbGlkdHlwZScsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0LFxuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VkYXRldGltZWZvcm1hdHN1bW1hcnlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5pc1ZhbGlkRGF0ZShcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VkYXRldGltZWZvcm1hdCxcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VkYXRldGltZWZvcm1hdHN1bW1hcnlcbiAgICAgICAgKShjKTtcblxuICAgICAgICBpZiAodGhpcy5pc3JlcXVpcmVkKSB7XG4gICAgICAgICAgICBlcnJvciA9IFZhbGlkYXRpb24ucmVxdWlyZWQodGhpcy52YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkLCB0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWRzdW1tYXJ5KShjKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlcnJvcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPdmVyd3JpdGUgV3JpdGVWYWx1ZSB0byBTZXQgY29ycmVjdCBEYXRlIE9iamVjdFxuICAgICAqL1xuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBEYXRlIHwgc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gUmVzZXQgVmFsdWUgU3RyaW5nLCBkYW1pdCBiZWltIFVwZGF0ZSBkZXMgTW9kZWxzIGF1Y2ggZGFzIElucHV0IEZlbGQgZ2VsZWVydCB3aXJkLlxuICAgICAgICAgICAgdGhpcy5fdmFsdWVBc1N0cmluZyA9ICcnO1xuICAgICAgICAgICAgLy8gU2V0IEludGVybmFsIFByb3BlcnR5XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuZ2V0RGF0ZSh2YWx1ZSkudG9EYXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHRoaXMuX3ZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgICBwcm90ZWN0ZWQgZ2V0QXJyb3dIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGlja2VyYXJyb3cgPyB0aGlzLnBpY2tlcmFycm93Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IDogMDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0QXJyb3dXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrZXJhcnJvdyA/IHRoaXMucGlja2VyYXJyb3cubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCA6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgZnJvbSBsaW5rc1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXRQb3NpdGlvbkxlZnQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnBvcHVwSGVscGVyLmdldFBvc2l0aW9uTGVmdChcbiAgICAgICAgICAgIHRoaXMucGlja2VyYnV0dG9uLFxuICAgICAgICAgICAgdGhpcy5waWNrZXJjb250YWluZXIsXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgICAgICB0aGlzLmdldEFycm93V2lkdGgoKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dIZWlnaHQoKSxcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IHBvcC11cHMgbmV2ZXIgYXBwZWFyIG91dHNpZGUgdGhlIHZpc2libGUgYXJlYSBvbiB0aGUgbGVmdFxuICAgICAgICBpZiAodmFsdWUgPCAwKSB7XG4gICAgICAgICAgICB0aGlzLnBvc1BvcHVwTGVmdCA9IDU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBvc1BvcHVwTGVmdCA9IHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLkdldFBpY2tlclBvc2l0aW9uKCkpIHtcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnRvcDpcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbTpcbiAgICAgICAgICAgICAgICB0aGlzLnBvc0Fycm93TGVmdCA9IHRoaXMuZ2V0UGlja2VyV2lkdGgoKSAvIDIgLSAtdGhpcy5nZXRBcnJvd1dpZHRoKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi50b3BlbmQ6XG4gICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5ib3R0b21lbmQ6XG4gICAgICAgICAgICAgICAgdGhpcy5wb3NBcnJvd0xlZnQgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFBpY2tlcldpZHRoKCkgLVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFycm93V2lkdGgoKSAvIDIgLVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcHVwSGVscGVyLmdldENvbnRhaW5lcldpZHRoKHRoaXMucGlja2VyYnV0dG9uLCBmYWxzZSkgLyAyO1xuXG4gICAgICAgICAgICAgICAgLy8gQ29ycmVjdGlvbiBieSBBcnJvdyBpZiBwb3B1cCBpcyBvdXRzaWRlIHRoZSBsZWZ0IG1hcmdpblxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3NBcnJvd0xlZnQgLT0gdmFsdWUgKiAtMSArIDU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLnBvc0Fycm93TGVmdCA9IG51bGw7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9wXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldFBvc2l0aW9uVG9wKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3NpdGlvblRvcChcbiAgICAgICAgICAgIHRoaXMucGlja2VyYnV0dG9uLFxuICAgICAgICAgICAgdGhpcy5waWNrZXJjb250YWluZXIsXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgICAgICB0aGlzLmdldEFycm93V2lkdGgoKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dIZWlnaHQoKSxcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnBvc1BvcHVwVG9wID0gdmFsdWU7XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLkdldFBpY2tlclBvc2l0aW9uKCkpIHtcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmxlZnQ6XG4gICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5yaWdodDpcbiAgICAgICAgICAgICAgICB0aGlzLnBvc0Fycm93VG9wID0gdGhpcy5nZXRQaWNrZXJIZWlnaHQoKSAvIDIgLSA2LjU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMucG9zQXJyb3dUb3AgPSBudWxsO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBtZXRob2QgaWYgY29udGVudCBoYXMgY2hhbmdlZCBhbmQgcHJvcG9ydGlvbnMgbmVlZCB0byBiZSByZXNldCBpbiB0aGUgVUkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBvbkNvbnRlbnRDaGFuZ2UgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIC8vIERvIG5vdGhpbmcgaWYgaXMgbm90IHZpc2libGVcbiAgICAgICAgaWYgKCF0aGlzLl9zaG93c2VsZWN0b3IpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5nZXRQb3NpdGlvbkxlZnQoKTtcbiAgICAgICAgICAgIHRoaXMuZ2V0UG9zaXRpb25Ub3AoKTtcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgc2V0RGF0ZVRpbWVGb3JtYXQoKTogdm9pZCB7XG4gICAgICAgIC8vIEhBQ0s6IEFkZCBhZGRpdGlvbiBwcm9wZXJ0eSB0byBGb3JtQ29udHJvbC4gQ2FuIGJlIGZpeGVkIGlmIHNvbHV0aW9uIGZvciB0aWNrZXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE5Njg2XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgKHRoaXMubmdDb250cm9sIGFzIHVua25vd24gYXMgSURhdGVUaW1lQ29udHJvbCkuZGF0ZXRpbWVmb3JtYXRzdHJpbmcgPSB0aGlzLkdldERhdGVUaW1lRm9ybWF0U3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xufVxuIl0sIm1hcHBpbmdzIjoiMjhsQ0FzSUk7QUFBQUEs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