tas-uell-sdk 0.0.5 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/README.md +161 -51
  2. package/esm2020/lib/components/tas-avatar/tas-avatar.component.mjs +75 -0
  3. package/esm2020/lib/components/tas-btn/tas-btn.component.mjs +146 -61
  4. package/esm2020/lib/components/tas-floating-call/tas-floating-call.component.mjs +48 -23
  5. package/esm2020/lib/components/tas-incoming-appointment/tas-incoming-appointment.component.mjs +109 -0
  6. package/esm2020/lib/components/tas-videocall/tas-videocall.component.mjs +217 -20
  7. package/esm2020/lib/components/tas-waiting-room/tas-waiting-room.component.mjs +226 -160
  8. package/esm2020/lib/config/tas.config.mjs +1 -1
  9. package/esm2020/lib/interfaces/tas.interfaces.mjs +45 -2
  10. package/esm2020/lib/services/geolocation.service.mjs +56 -0
  11. package/esm2020/lib/services/tas.service.mjs +400 -34
  12. package/esm2020/lib/tas-uell-sdk.module.mjs +25 -21
  13. package/esm2020/public-api.mjs +4 -1
  14. package/fesm2015/tas-uell-sdk.mjs +1323 -302
  15. package/fesm2015/tas-uell-sdk.mjs.map +1 -1
  16. package/fesm2020/tas-uell-sdk.mjs +1307 -300
  17. package/fesm2020/tas-uell-sdk.mjs.map +1 -1
  18. package/lib/components/tas-avatar/tas-avatar.component.d.ts +9 -0
  19. package/lib/components/tas-btn/tas-btn.component.d.ts +35 -15
  20. package/lib/components/tas-floating-call/tas-floating-call.component.d.ts +5 -1
  21. package/lib/components/tas-incoming-appointment/tas-incoming-appointment.component.d.ts +33 -0
  22. package/lib/components/tas-videocall/tas-videocall.component.d.ts +49 -3
  23. package/lib/components/tas-waiting-room/tas-waiting-room.component.d.ts +50 -35
  24. package/lib/config/tas.config.d.ts +7 -0
  25. package/lib/interfaces/tas.interfaces.d.ts +127 -35
  26. package/lib/services/geolocation.service.d.ts +24 -0
  27. package/lib/services/tas.service.d.ts +98 -9
  28. package/lib/tas-uell-sdk.module.d.ts +6 -3
  29. package/package.json +1 -1
  30. package/public-api.d.ts +3 -0
  31. package/src/lib/styles/tas-global.scss +27 -28
  32. package/INSTALL_AND_TEST.md +0 -427
@@ -7,4 +7,4 @@ export const TAS_CONFIG = new InjectionToken('TAS_CONFIG');
7
7
  * Injection token for HTTP client adapter
8
8
  */
9
9
  export const TAS_HTTP_CLIENT = new InjectionToken('TAS_HTTP_CLIENT');
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rhcy11ZWxsLXNkay9zcmMvbGliL2NvbmZpZy90YXMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFvQi9DOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksY0FBYyxDQUFZLFlBQVksQ0FBQyxDQUFDO0FBRXRFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFnQixpQkFBaUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGludGVyZmFjZSBmb3IgdGhlIFRBUyBtb2R1bGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXNDb25maWcge1xuXHQvKiogVG9rQm94L1ZvbmFnZSBBUEkgS2V5ICovXG5cdHRva0JveEFwaUtleTogc3RyaW5nO1xuXHQvKiogT3B0aW9uYWwgQVBJIGJhc2UgVVJMIGZvciByb29tL3Rva2VuIGVuZHBvaW50cyAqL1xuXHRhcGlCYXNlVXJsPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEhUVFAgY2xpZW50IGludGVyZmFjZSB0aGF0IGNvbnN1bWluZyBhcHBzIG11c3QgaW1wbGVtZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFzSHR0cENsaWVudCB7XG5cdHBvc3Q8VD4odXJsOiBzdHJpbmcsIG9wdGlvbnM6IHsgYm9keTogYW55OyBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB9KTogT2JzZXJ2YWJsZTxUPjtcbn1cblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gZm9yIFRBUyBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBUQVNfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPFRhc0NvbmZpZz4oJ1RBU19DT05GSUcnKTtcblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gZm9yIEhUVFAgY2xpZW50IGFkYXB0ZXJcbiAqL1xuZXhwb3J0IGNvbnN0IFRBU19IVFRQX0NMSUVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUYXNIdHRwQ2xpZW50PignVEFTX0hUVFBfQ0xJRU5UJyk7XG5cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rhcy11ZWxsLXNkay9zcmMvbGliL2NvbmZpZy90YXMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUErQi9DOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksY0FBYyxDQUFZLFlBQVksQ0FBQyxDQUFDO0FBRXRFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFnQixpQkFBaUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGludGVyZmFjZSBmb3IgdGhlIFRBUyBtb2R1bGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXNDb25maWcge1xuICAvKiogVG9rQm94L1ZvbmFnZSBBUEkgS2V5ICovXG4gIHRva0JveEFwaUtleTogc3RyaW5nO1xuICAvKiogT3B0aW9uYWwgQVBJIGJhc2UgVVJMIGZvciByb29tL3Rva2VuIGVuZHBvaW50cyAqL1xuICBhcGlCYXNlVXJsPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEhUVFAgY2xpZW50IGludGVyZmFjZSB0aGF0IGNvbnN1bWluZyBhcHBzIG11c3QgaW1wbGVtZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFzSHR0cENsaWVudCB7XG4gIGdldDxUPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBvcHRpb25zOiB7IGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IH1cbiAgKTogT2JzZXJ2YWJsZTxUPjtcbiAgcG9zdDxUPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBvcHRpb25zOiB7IGJvZHk6IGFueTsgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfVxuICApOiBPYnNlcnZhYmxlPFQ+O1xuICBwYXRjaDxUPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBvcHRpb25zOiB7IGJvZHk6IGFueTsgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfVxuICApOiBPYnNlcnZhYmxlPFQ+O1xufVxuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiBmb3IgVEFTIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IFRBU19DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48VGFzQ29uZmlnPignVEFTX0NPTkZJRycpO1xuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiBmb3IgSFRUUCBjbGllbnQgYWRhcHRlclxuICovXG5leHBvcnQgY29uc3QgVEFTX0hUVFBfQ0xJRU5UID0gbmV3IEluamVjdGlvblRva2VuPFRhc0h0dHBDbGllbnQ+KCdUQVNfSFRUUF9DTElFTlQnKTtcbiJdfQ==
@@ -1,8 +1,10 @@
1
+ // Enums
1
2
  export var TasRoomType;
2
3
  (function (TasRoomType) {
3
4
  TasRoomType["TAS"] = "TAS";
4
5
  TasRoomType["JM"] = "JM";
5
6
  TasRoomType["WEBINAR"] = "WEBINAR";
7
+ TasRoomType["WELLNESS_MANAGER"] = "WELLNESS_MANAGER";
6
8
  })(TasRoomType || (TasRoomType = {}));
7
9
  export var TasSessionType;
8
10
  (function (TasSessionType) {
@@ -15,7 +17,42 @@ export var TasUserRole;
15
17
  TasUserRole["USER"] = "USER";
16
18
  TasUserRole["MODERATOR"] = "MODERATOR";
17
19
  })(TasUserRole || (TasUserRole = {}));
18
- // Enums for TAS Service state management
20
+ export var TasBusinessRole;
21
+ (function (TasBusinessRole) {
22
+ TasBusinessRole["ADMIN_MANAGER"] = "ADMIN_MANAGER";
23
+ TasBusinessRole["MANAGER"] = "MANAGER";
24
+ TasBusinessRole["BACKOFFICE"] = "BACKOFFICE";
25
+ TasBusinessRole["USER"] = "USER";
26
+ })(TasBusinessRole || (TasBusinessRole = {}));
27
+ export var VideoSessionStatus;
28
+ (function (VideoSessionStatus) {
29
+ VideoSessionStatus["ACTIVE"] = "ACTIVE";
30
+ VideoSessionStatus["INACTIVE"] = "INACTIVE";
31
+ VideoSessionStatus["PENDING"] = "PENDING";
32
+ VideoSessionStatus["SCHEDULED"] = "SCHEDULED";
33
+ })(VideoSessionStatus || (VideoSessionStatus = {}));
34
+ export var UserStatus;
35
+ (function (UserStatus) {
36
+ UserStatus["ACTIVE"] = "ACTIVE";
37
+ UserStatus["INACTIVE"] = "INACTIVE";
38
+ UserStatus["ASSIGNED"] = "ASSIGNED";
39
+ })(UserStatus || (UserStatus = {}));
40
+ export var UserCallAction;
41
+ (function (UserCallAction) {
42
+ UserCallAction["WAITING_ROOM_ENTER"] = "WAITING_ROOM_ENTER";
43
+ UserCallAction["WAITING_ROOM_LEAVE"] = "WAITING_ROOM_LEAVE";
44
+ UserCallAction["BAN"] = "BAN";
45
+ UserCallAction["CHANGE_STATUS"] = "CHANGE_STATUS";
46
+ UserCallAction["REQUEST_GEOLOCALIZATION"] = "REQUEST_GEOLOCALIZATION";
47
+ UserCallAction["ACTIVATE_GEOLOCATION"] = "ACTIVATE_GEOLOCATION";
48
+ })(UserCallAction || (UserCallAction = {}));
49
+ export var RoomUserStatus;
50
+ (function (RoomUserStatus) {
51
+ RoomUserStatus["ASSIGNED"] = "ASSIGNED";
52
+ RoomUserStatus["WAITING"] = "WAITING";
53
+ RoomUserStatus["JOINED"] = "JOINED";
54
+ RoomUserStatus["FINISHED"] = "FINISHED";
55
+ })(RoomUserStatus || (RoomUserStatus = {}));
19
56
  export var CallState;
20
57
  (function (CallState) {
21
58
  CallState["IDLE"] = "IDLE";
@@ -29,4 +66,10 @@ export var ViewMode;
29
66
  ViewMode["FULLSCREEN"] = "FULLSCREEN";
30
67
  ViewMode["PIP"] = "PIP";
31
68
  })(ViewMode || (ViewMode = {}));
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YXMtdWVsbC1zZGsvc3JjL2xpYi9pbnRlcmZhY2VzL3Rhcy5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCQSxNQUFNLENBQU4sSUFBWSxXQUlYO0FBSkQsV0FBWSxXQUFXO0lBQ3RCLDBCQUFXLENBQUE7SUFDWCx3QkFBUyxDQUFBO0lBQ1Qsa0NBQW1CLENBQUE7QUFDcEIsQ0FBQyxFQUpXLFdBQVcsS0FBWCxXQUFXLFFBSXRCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUN6Qiw2Q0FBMkIsQ0FBQTtJQUMzQix5Q0FBdUIsQ0FBQTtBQUN4QixDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekI7QUFFRCxNQUFNLENBQU4sSUFBWSxXQUlYO0FBSkQsV0FBWSxXQUFXO0lBQ3RCLDhCQUFlLENBQUE7SUFDZiw0QkFBYSxDQUFBO0lBQ2Isc0NBQXVCLENBQUE7QUFDeEIsQ0FBQyxFQUpXLFdBQVcsS0FBWCxXQUFXLFFBSXRCO0FBcUJELHlDQUF5QztBQUN6QyxNQUFNLENBQU4sSUFBWSxTQU1YO0FBTkQsV0FBWSxTQUFTO0lBQ3BCLDBCQUFhLENBQUE7SUFDYixzQ0FBeUIsQ0FBQTtJQUN6QixvQ0FBdUIsQ0FBQTtJQUN2QiwwQ0FBNkIsQ0FBQTtJQUM3Qiw0QkFBZSxDQUFBO0FBQ2hCLENBQUMsRUFOVyxTQUFTLEtBQVQsU0FBUyxRQU1wQjtBQUVELE1BQU0sQ0FBTixJQUFZLFFBR1g7QUFIRCxXQUFZLFFBQVE7SUFDbkIscUNBQXlCLENBQUE7SUFDekIsdUJBQVcsQ0FBQTtBQUNaLENBQUMsRUFIVyxRQUFRLEtBQVIsUUFBUSxRQUduQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlUm9vbVVzZXIge1xuXHR1c2VyRXh0ZXJuYWxJZDogbnVtYmVyO1xuXHRyb2w6IFRhc1VzZXJSb2xlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVJvb21SZXF1ZXN0IHtcblx0cm9vbVR5cGU6IFRhc1Jvb21UeXBlO1xuXHR0eXBlOiBUYXNTZXNzaW9uVHlwZTtcblx0dXRjU2NoZWR1bGVkPzogc3RyaW5nO1xuXHRwcm9kdWN0OiBzdHJpbmc7XG5cdHRlbmFudDogc3RyaW5nO1xuXHRhcHBvaW50bWVudElkOiBudW1iZXI7XG5cdHVzZXJzOiBDcmVhdGVSb29tVXNlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVJvb21SZXNwb25zZSB7XG5cdGNvbnRlbnQ6IHtcblx0XHRyb29tVHlwZTogc3RyaW5nIHwgbnVsbDtcblx0XHR0ZW5hbnQ6IHN0cmluZyB8IG51bGw7XG5cdFx0dXNlcl9pZDogc3RyaW5nIHwgbnVsbDtcblx0XHRwcm9kdWN0OiBzdHJpbmcgfCBudWxsO1xuXHRcdHJlY29yZDogYm9vbGVhbiB8IG51bGw7XG5cdFx0c2Vzc2lvbklkOiBzdHJpbmc7XG5cdFx0cm9vbUlkOiBudW1iZXI7XG5cdFx0c3RhdHVzOiBUYXNTZXNzaW9uVHlwZTtcblx0fTtcbn1cblxuZXhwb3J0IGVudW0gVGFzUm9vbVR5cGUge1xuXHRUQVMgPSBcIlRBU1wiLFxuXHRKTSA9IFwiSk1cIixcblx0V0VCSU5BUiA9IFwiV0VCSU5BUlwiXG59XG5cbmV4cG9ydCBlbnVtIFRhc1Nlc3Npb25UeXBlIHtcblx0U1BPTlRBTkVPVVMgPSBcIlNQT05UQU5FT1VTXCIsXG5cdFNDSEVEVUxFRCA9IFwiU0NIRURVTEVEXCJcbn1cblxuZXhwb3J0IGVudW0gVGFzVXNlclJvbGUge1xuXHRPV05FUiA9IFwiT1dORVJcIixcblx0VVNFUiA9IFwiVVNFUlwiLFxuXHRNT0RFUkFUT1IgPSBcIk1PREVSQVRPUlwiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFzQ3VycmVudFVzZXIge1xuXHRuYW1lOiBzdHJpbmc7XG5cdGxhc3RuYW1lOiBzdHJpbmc7XG5cdHJvbGU6IFRhc1VzZXJSb2xlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyYXRlVG9rZW5SZXF1ZXN0IHtcblx0c2Vzc2lvbklkOiBzdHJpbmc7XG5cdG5hbWU6IHN0cmluZztcblx0bGFzdG5hbWU6IHN0cmluZztcblx0cm9sZVZDOiBUYXNVc2VyUm9sZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZW5lcmF0ZVRva2VuUmVzcG9uc2Uge1xuXHRjb250ZW50OiB7XG5cdFx0dG9rZW46IHN0cmluZztcblx0fTtcbn1cblxuLy8gRW51bXMgZm9yIFRBUyBTZXJ2aWNlIHN0YXRlIG1hbmFnZW1lbnRcbmV4cG9ydCBlbnVtIENhbGxTdGF0ZSB7XG5cdElETEUgPSAnSURMRScsXG5cdENPTk5FQ1RJTkcgPSAnQ09OTkVDVElORycsXG5cdENPTk5FQ1RFRCA9ICdDT05ORUNURUQnLFxuXHRESVNDT05ORUNURUQgPSAnRElTQ09OTkVDVEVEJyxcblx0RVJST1IgPSAnRVJST1InXG59XG5cbmV4cG9ydCBlbnVtIFZpZXdNb2RlIHtcblx0RlVMTFNDUkVFTiA9ICdGVUxMU0NSRUVOJyxcblx0UElQID0gJ1BJUCdcbn1cblxuIl19
69
+ // Appointment types
70
+ export var AppointmentStatus;
71
+ (function (AppointmentStatus) {
72
+ AppointmentStatus["CONFIRMED"] = "CONFIRMED";
73
+ AppointmentStatus["CANCELLED"] = "CANCELLED";
74
+ })(AppointmentStatus || (AppointmentStatus = {}));
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YXMtdWVsbC1zZGsvc3JjL2xpYi9pbnRlcmZhY2VzL3Rhcy5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFFBQVE7QUFDUixNQUFNLENBQU4sSUFBWSxXQUtYO0FBTEQsV0FBWSxXQUFXO0lBQ3JCLDBCQUFXLENBQUE7SUFDWCx3QkFBUyxDQUFBO0lBQ1Qsa0NBQW1CLENBQUE7SUFDbkIsb0RBQXFDLENBQUE7QUFDdkMsQ0FBQyxFQUxXLFdBQVcsS0FBWCxXQUFXLFFBS3RCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUN4Qiw2Q0FBMkIsQ0FBQTtJQUMzQix5Q0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekI7QUFFRCxNQUFNLENBQU4sSUFBWSxXQUlYO0FBSkQsV0FBWSxXQUFXO0lBQ3JCLDhCQUFlLENBQUE7SUFDZiw0QkFBYSxDQUFBO0lBQ2Isc0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUpXLFdBQVcsS0FBWCxXQUFXLFFBSXRCO0FBRUQsTUFBTSxDQUFOLElBQVksZUFLWDtBQUxELFdBQVksZUFBZTtJQUN6QixrREFBK0IsQ0FBQTtJQUMvQixzQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBeUIsQ0FBQTtJQUN6QixnQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUxXLGVBQWUsS0FBZixlQUFlLFFBSzFCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBS1g7QUFMRCxXQUFZLGtCQUFrQjtJQUM1Qix1Q0FBaUIsQ0FBQTtJQUNqQiwyQ0FBcUIsQ0FBQTtJQUNyQix5Q0FBbUIsQ0FBQTtJQUNuQiw2Q0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBTFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUs3QjtBQUVELE1BQU0sQ0FBTixJQUFZLFVBSVg7QUFKRCxXQUFZLFVBQVU7SUFDcEIsK0JBQWlCLENBQUE7SUFDakIsbUNBQXFCLENBQUE7SUFDckIsbUNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUpXLFVBQVUsS0FBVixVQUFVLFFBSXJCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FPWDtBQVBELFdBQVksY0FBYztJQUN4QiwyREFBeUMsQ0FBQTtJQUN6QywyREFBeUMsQ0FBQTtJQUN6Qyw2QkFBVyxDQUFBO0lBQ1gsaURBQStCLENBQUE7SUFDL0IscUVBQW1ELENBQUE7SUFDbkQsK0RBQTZDLENBQUE7QUFDL0MsQ0FBQyxFQVBXLGNBQWMsS0FBZCxjQUFjLFFBT3pCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4Qix1Q0FBcUIsQ0FBQTtJQUNyQixxQ0FBbUIsQ0FBQTtJQUNuQixtQ0FBaUIsQ0FBQTtJQUNqQix1Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBTFcsY0FBYyxLQUFkLGNBQWMsUUFLekI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQU1YO0FBTkQsV0FBWSxTQUFTO0lBQ25CLDBCQUFhLENBQUE7SUFDYixzQ0FBeUIsQ0FBQTtJQUN6QixvQ0FBdUIsQ0FBQTtJQUN2QiwwQ0FBNkIsQ0FBQTtJQUM3Qiw0QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFOVyxTQUFTLEtBQVQsU0FBUyxRQU1wQjtBQUVELE1BQU0sQ0FBTixJQUFZLFFBR1g7QUFIRCxXQUFZLFFBQVE7SUFDbEIscUNBQXlCLENBQUE7SUFDekIsdUJBQVcsQ0FBQTtBQUNiLENBQUMsRUFIVyxRQUFRLEtBQVIsUUFBUSxRQUduQjtBQW9HRCxvQkFBb0I7QUFDcEIsTUFBTSxDQUFOLElBQVksaUJBR1g7QUFIRCxXQUFZLGlCQUFpQjtJQUMzQiw0Q0FBdUIsQ0FBQTtJQUN2Qiw0Q0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBSFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUc1QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEVudW1zXG5leHBvcnQgZW51bSBUYXNSb29tVHlwZSB7XG4gIFRBUyA9ICdUQVMnLFxuICBKTSA9ICdKTScsXG4gIFdFQklOQVIgPSAnV0VCSU5BUicsXG4gIFdFTExORVNTX01BTkFHRVIgPSAnV0VMTE5FU1NfTUFOQUdFUicsXG59XG5cbmV4cG9ydCBlbnVtIFRhc1Nlc3Npb25UeXBlIHtcbiAgU1BPTlRBTkVPVVMgPSAnU1BPTlRBTkVPVVMnLFxuICBTQ0hFRFVMRUQgPSAnU0NIRURVTEVEJyxcbn1cblxuZXhwb3J0IGVudW0gVGFzVXNlclJvbGUge1xuICBPV05FUiA9ICdPV05FUicsXG4gIFVTRVIgPSAnVVNFUicsXG4gIE1PREVSQVRPUiA9ICdNT0RFUkFUT1InLFxufVxuXG5leHBvcnQgZW51bSBUYXNCdXNpbmVzc1JvbGUge1xuICBBRE1JTl9NQU5BR0VSID0gJ0FETUlOX01BTkFHRVInLFxuICBNQU5BR0VSID0gJ01BTkFHRVInLFxuICBCQUNLT0ZGSUNFID0gJ0JBQ0tPRkZJQ0UnLFxuICBVU0VSID0gJ1VTRVInLFxufVxuXG5leHBvcnQgZW51bSBWaWRlb1Nlc3Npb25TdGF0dXMge1xuICBBQ1RJVkUgPSAnQUNUSVZFJyxcbiAgSU5BQ1RJVkUgPSAnSU5BQ1RJVkUnLFxuICBQRU5ESU5HID0gJ1BFTkRJTkcnLFxuICBTQ0hFRFVMRUQgPSAnU0NIRURVTEVEJyxcbn1cblxuZXhwb3J0IGVudW0gVXNlclN0YXR1cyB7XG4gIEFDVElWRSA9ICdBQ1RJVkUnLFxuICBJTkFDVElWRSA9ICdJTkFDVElWRScsXG4gIEFTU0lHTkVEID0gJ0FTU0lHTkVEJyxcbn1cblxuZXhwb3J0IGVudW0gVXNlckNhbGxBY3Rpb24ge1xuICBXQUlUSU5HX1JPT01fRU5URVIgPSAnV0FJVElOR19ST09NX0VOVEVSJyxcbiAgV0FJVElOR19ST09NX0xFQVZFID0gJ1dBSVRJTkdfUk9PTV9MRUFWRScsXG4gIEJBTiA9ICdCQU4nLFxuICBDSEFOR0VfU1RBVFVTID0gJ0NIQU5HRV9TVEFUVVMnLFxuICBSRVFVRVNUX0dFT0xPQ0FMSVpBVElPTiA9ICdSRVFVRVNUX0dFT0xPQ0FMSVpBVElPTicsXG4gIEFDVElWQVRFX0dFT0xPQ0FUSU9OID0gJ0FDVElWQVRFX0dFT0xPQ0FUSU9OJyxcbn1cblxuZXhwb3J0IGVudW0gUm9vbVVzZXJTdGF0dXMge1xuICBBU1NJR05FRCA9ICdBU1NJR05FRCcsXG4gIFdBSVRJTkcgPSAnV0FJVElORycsXG4gIEpPSU5FRCA9ICdKT0lORUQnLFxuICBGSU5JU0hFRCA9ICdGSU5JU0hFRCcsXG59XG5cbmV4cG9ydCBlbnVtIENhbGxTdGF0ZSB7XG4gIElETEUgPSAnSURMRScsXG4gIENPTk5FQ1RJTkcgPSAnQ09OTkVDVElORycsXG4gIENPTk5FQ1RFRCA9ICdDT05ORUNURUQnLFxuICBESVNDT05ORUNURUQgPSAnRElTQ09OTkVDVEVEJyxcbiAgRVJST1IgPSAnRVJST1InLFxufVxuXG5leHBvcnQgZW51bSBWaWV3TW9kZSB7XG4gIEZVTExTQ1JFRU4gPSAnRlVMTFNDUkVFTicsXG4gIFBJUCA9ICdQSVAnLFxufVxuXG4vLyBVc2VyIGludGVyZmFjZXNcbmV4cG9ydCBpbnRlcmZhY2UgVGFzQ3VycmVudFVzZXIge1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIGxhc3RuYW1lOiBzdHJpbmc7XG4gIHJvbGU6IFRhc1VzZXJSb2xlO1xufVxuXG4vKiogSW5wdXQgY29uZmlndXJhdGlvbiBmb3IgdGhlIFRBUyB2aWRlbyBjYWxsIGxpYnJhcnkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFzQ2FsbENvbmZpZyB7XG4gIC8vIFN0YXR1cyBlbmRwb2ludCBwYXJhbXNcbiAgYXBwb2ludG1lbnRJZD86IG51bWJlcjtcbiAgc2Vzc2lvbklkPzogc3RyaW5nO1xuICByb29tVHlwZTogVGFzUm9vbVR5cGU7XG4gIGVudGl0eUlkOiBudW1iZXI7XG4gIHRlbmFudDogc3RyaW5nO1xuICBidXNpbmVzc1JvbGU6IFRhc0J1c2luZXNzUm9sZTtcbiAgLy8gQ3VycmVudCB1c2VyIGluZm8gKGZvciB0b2tlbiByZXF1ZXN0KVxuICBjdXJyZW50VXNlcjogVGFzQ3VycmVudFVzZXI7XG59XG5cbi8vIEFQSSBSZXF1ZXN0L1Jlc3BvbnNlIGludGVyZmFjZXNcbmV4cG9ydCBpbnRlcmZhY2UgU3RhcnRTZXNzaW9uUmVxdWVzdCB7XG4gIHNlc3Npb25JZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGxhc3RuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJhdGVUb2tlblJlcXVlc3Qge1xuICBzZXNzaW9uSWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBsYXN0bmFtZTogc3RyaW5nO1xuICByb2xlVkM6IFRhc1VzZXJSb2xlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyYXRlVG9rZW5SZXNwb25zZSB7XG4gIGNvbnRlbnQ6IHtcbiAgICB0b2tlbjogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3h5VmlkZW9TdGF0dXNSZXF1ZXN0IHtcbiAgYXBwb2ludG1lbnRJZD86IG51bWJlcjtcbiAgYnVzaW5lc3NSb2xlPzogVGFzQnVzaW5lc3NSb2xlO1xuICB0ZW5hbnQ/OiBzdHJpbmc7XG4gIHNlc3Npb25JZD86IHN0cmluZztcbiAgcm9vbVR5cGU/OiBUYXNSb29tVHlwZTtcbiAgZW50aXR5SWQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJveHlWaWRlb1N0YXR1c1VzZXIge1xuICB1c2VySWQ6IG51bWJlcjtcbiAgcm9sOiBUYXNVc2VyUm9sZTtcbiAgc3RhdHVzOiBVc2VyU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3h5VmlkZW9TdGF0dXNSZXNwb25zZSB7XG4gIGNvbnRlbnQ6IHtcbiAgICB2aWRlb0NhbGxJZDogbnVtYmVyO1xuICAgIHNlc3Npb25JZDogc3RyaW5nO1xuICAgIHN0YXR1c1ZMOiBWaWRlb1Nlc3Npb25TdGF0dXM7XG4gICAgam9pbmFibGU6IGJvb2xlYW47XG4gICAgd2FpdGluZ1Jvb21BdmFpbGFibGU6IGJvb2xlYW47XG4gICAgYXBwb2ludG1lbnRJZDogbnVtYmVyO1xuICAgIGFjdGl2YXRlR2VvOiBib29sZWFuO1xuICAgIGdlb1JlcXVlc3RBY3RpdmU/OiBib29sZWFuOyAvLyBPd25lciBzZW50IGdlbyByZXF1ZXN0LCB3YWl0aW5nIGZvciB1c2VyIHJlc3BvbnNlXG4gICAgYWxsR2VvR3JhbnRlZD86IGJvb2xlYW47IC8vIEFsbCB1c2VycyBoYXZlIHJlc3BvbmRlZCB3aXRoIGdlb1xuICAgIHVzZXJzOiBQcm94eVZpZGVvU3RhdHVzVXNlcltdO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3h5VmlkZW9GaW5pc2hSZXF1ZXN0IHtcbiAgc2Vzc2lvbklkOiBzdHJpbmc7XG4gIGJ1c2luZXNzUm9sZTogVGFzQnVzaW5lc3NSb2xlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbmlzaFNlc3Npb25SZXNwb25zZSB7XG4gIGNvbnRlbnQ6IHtcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgY2FsbFN0YXR1czogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3h5VmlkZW9Vc2VyTW9kaWZ5UmVxdWVzdCB7XG4gIHVzZXJJZD86IG51bWJlcjtcbiAgdmlkZW9DYWxsSWQ6IG51bWJlcjtcbiAgYWN0aW9uPzogVXNlckNhbGxBY3Rpb247XG4gIG5ld1N0YXR1cz86IFJvb21Vc2VyU3RhdHVzO1xuICBsYXRpdHVkZT86IG51bWJlcjtcbiAgbG9uZ2l0dWRlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhaXRpbmdSb29tVXNlciB7XG4gIHVzZXJJZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIHN0YXR1czogUm9vbVVzZXJTdGF0dXM7XG59XG5cbi8vIEFwcG9pbnRtZW50IHR5cGVzXG5leHBvcnQgZW51bSBBcHBvaW50bWVudFN0YXR1cyB7XG4gIENPTkZJUk1FRCA9ICdDT05GSVJNRUQnLFxuICBDQU5DRUxMRUQgPSAnQ0FOQ0VMTEVEJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYXNBcHBvaW50bWVudCB7XG4gIGlkOiBudW1iZXI7XG4gIGFnZW5kYUlkOiBudW1iZXI7XG4gIGRhdGU6IHN0cmluZzsgICAgICAgLy8gXCJZWVlZLU1NLUREXCJcbiAgc3RhcnRUaW1lOiBzdHJpbmc7ICAvLyBcIkhIOm1tXCJcbiAgZW5kVGltZTogc3RyaW5nOyAgICAvLyBcIkhIOm1tXCJcbiAgYm9va2luZ1R5cGU6IHN0cmluZztcbiAgc3RhdHVzOiBBcHBvaW50bWVudFN0YXR1cztcbiAgdGl0bGU6IHN0cmluZztcbiAgbm90ZXM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRBcHBvaW50bWVudHNSZXF1ZXN0IHtcbiAgZnJvbURhdGU6IHN0cmluZzsgIC8vIFlZWVktTU0tRERcbiAgdG9EYXRlOiBzdHJpbmc7ICAgIC8vIFlZWVktTU0tRERcbn1cbiJdfQ==
@@ -0,0 +1,56 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class GeolocationService {
4
+ constructor() {
5
+ this.cachedPosition = null;
6
+ }
7
+ /**
8
+ * Request current geolocation position using Web Geolocation API.
9
+ * Works in both browser and Capacitor environments.
10
+ * @returns Promise with {latitude, longitude} or null if denied/unavailable
11
+ */
12
+ async getCurrentPosition() {
13
+ if (!navigator.geolocation) {
14
+ console.warn('[GeolocationService] Geolocation not supported');
15
+ return null;
16
+ }
17
+ return new Promise((resolve) => {
18
+ navigator.geolocation.getCurrentPosition((position) => {
19
+ const geoPosition = {
20
+ latitude: position.coords.latitude,
21
+ longitude: position.coords.longitude,
22
+ };
23
+ this.cachedPosition = geoPosition;
24
+ resolve(geoPosition);
25
+ }, (error) => {
26
+ console.warn('[GeolocationService] Geolocation error:', error.message);
27
+ resolve(null);
28
+ }, {
29
+ enableHighAccuracy: false,
30
+ timeout: 30000,
31
+ maximumAge: 60000,
32
+ });
33
+ });
34
+ }
35
+ /**
36
+ * Get the cached position from the last successful request.
37
+ */
38
+ getCachedPosition() {
39
+ return this.cachedPosition;
40
+ }
41
+ /**
42
+ * Clear the cached position.
43
+ */
44
+ clearCache() {
45
+ this.cachedPosition = null;
46
+ }
47
+ }
48
+ GeolocationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GeolocationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
49
+ GeolocationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GeolocationService, providedIn: 'root' });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GeolocationService, decorators: [{
51
+ type: Injectable,
52
+ args: [{
53
+ providedIn: 'root',
54
+ }]
55
+ }] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rhcy11ZWxsLXNkay9zcmMvbGliL3NlcnZpY2VzL2dlb2xvY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUgvQjtRQUlVLG1CQUFjLEdBQXVCLElBQUksQ0FBQztLQWlEbkQ7SUEvQ0M7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxrQkFBa0I7UUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUU7WUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1lBQy9ELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0IsU0FBUyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FDdEMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDWCxNQUFNLFdBQVcsR0FBZ0I7b0JBQy9CLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVE7b0JBQ2xDLFNBQVMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVM7aUJBQ3JDLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUM7Z0JBQ2xDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2QixDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDUixPQUFPLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDdkUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hCLENBQUMsRUFDRDtnQkFDRSxrQkFBa0IsRUFBRSxLQUFLO2dCQUN6QixPQUFPLEVBQUUsS0FBSztnQkFDZCxVQUFVLEVBQUUsS0FBSzthQUNsQixDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVTtRQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7O2dIQWpEVSxrQkFBa0I7b0hBQWxCLGtCQUFrQixjQUZqQixNQUFNOzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VvUG9zaXRpb24ge1xuICBsYXRpdHVkZTogbnVtYmVyO1xuICBsb25naXR1ZGU6IG51bWJlcjtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEdlb2xvY2F0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgY2FjaGVkUG9zaXRpb246IEdlb1Bvc2l0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFJlcXVlc3QgY3VycmVudCBnZW9sb2NhdGlvbiBwb3NpdGlvbiB1c2luZyBXZWIgR2VvbG9jYXRpb24gQVBJLlxuICAgKiBXb3JrcyBpbiBib3RoIGJyb3dzZXIgYW5kIENhcGFjaXRvciBlbnZpcm9ubWVudHMuXG4gICAqIEByZXR1cm5zIFByb21pc2Ugd2l0aCB7bGF0aXR1ZGUsIGxvbmdpdHVkZX0gb3IgbnVsbCBpZiBkZW5pZWQvdW5hdmFpbGFibGVcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRDdXJyZW50UG9zaXRpb24oKTogUHJvbWlzZTxHZW9Qb3NpdGlvbiB8IG51bGw+IHtcbiAgICBpZiAoIW5hdmlnYXRvci5nZW9sb2NhdGlvbikge1xuICAgICAgY29uc29sZS53YXJuKCdbR2VvbG9jYXRpb25TZXJ2aWNlXSBHZW9sb2NhdGlvbiBub3Qgc3VwcG9ydGVkJyk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oXG4gICAgICAgIChwb3NpdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IGdlb1Bvc2l0aW9uOiBHZW9Qb3NpdGlvbiA9IHtcbiAgICAgICAgICAgIGxhdGl0dWRlOiBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGUsXG4gICAgICAgICAgICBsb25naXR1ZGU6IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUsXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0aGlzLmNhY2hlZFBvc2l0aW9uID0gZ2VvUG9zaXRpb247XG4gICAgICAgICAgcmVzb2x2ZShnZW9Qb3NpdGlvbik7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUud2FybignW0dlb2xvY2F0aW9uU2VydmljZV0gR2VvbG9jYXRpb24gZXJyb3I6JywgZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgcmVzb2x2ZShudWxsKTtcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGVuYWJsZUhpZ2hBY2N1cmFjeTogZmFsc2UsIC8vIFVzZSBsb3dlciBhY2N1cmFjeSBmb3IgZmFzdGVyIHJlc3BvbnNlXG4gICAgICAgICAgdGltZW91dDogMzAwMDAsIC8vIDMwIHNlY29uZHMgdGltZW91dFxuICAgICAgICAgIG1heGltdW1BZ2U6IDYwMDAwLFxuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY2FjaGVkIHBvc2l0aW9uIGZyb20gdGhlIGxhc3Qgc3VjY2Vzc2Z1bCByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIGdldENhY2hlZFBvc2l0aW9uKCk6IEdlb1Bvc2l0aW9uIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkUG9zaXRpb247XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgdGhlIGNhY2hlZCBwb3NpdGlvbi5cbiAgICovXG4gIHB1YmxpYyBjbGVhckNhY2hlKCk6IHZvaWQge1xuICAgIHRoaXMuY2FjaGVkUG9zaXRpb24gPSBudWxsO1xuICB9XG59XG4iXX0=