@yelon/bis 12.0.19 → 13.0.0-beta.1

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 (102) hide show
  1. package/bis.d.ts +1 -0
  2. package/{esm2015/bis.js → esm2020/bis.mjs} +0 -0
  3. package/esm2020/layout/act.guard.mjs +108 -0
  4. package/{esm2015/layout/bis.config.js → esm2020/layout/bis.config.mjs} +0 -0
  5. package/esm2020/layout/contact/contact.component.mjs +492 -0
  6. package/esm2020/layout/contact/contact.service.mjs +146 -0
  7. package/esm2020/layout/layout.mjs +5 -0
  8. package/esm2020/layout/layout.module.mjs +73 -0
  9. package/{esm2015/layout/path-to-regexp.service.js → esm2020/layout/path-to-regexp.service.mjs} +9 -8
  10. package/{esm2015/layout/public_api.js → esm2020/layout/public_api.mjs} +3 -3
  11. package/esm2020/layout/stomp.config.mjs +18 -0
  12. package/{esm2015/layout/widgets/index.js → esm2020/layout/widgets/index.mjs} +0 -0
  13. package/esm2020/layout/widgets/yz.application.component.mjs +271 -0
  14. package/esm2020/layout/widgets/yz.clear-storage.component.mjs +45 -0
  15. package/esm2020/layout/widgets/yz.fullscreen.component.mjs +45 -0
  16. package/esm2020/layout/widgets/yz.i18n.component.mjs +115 -0
  17. package/esm2020/layout/widgets/yz.notify.component.mjs +184 -0
  18. package/esm2020/layout/widgets/yz.them-btn.component.mjs +196 -0
  19. package/esm2020/layout/widgets/yz.user.component.mjs +112 -0
  20. package/esm2020/layout/yz.auth.service.mjs +156 -0
  21. package/esm2020/layout/yz.basic.component.mjs +207 -0
  22. package/esm2020/layout/yz.default.interceptor.mjs +203 -0
  23. package/esm2020/layout/yz.i18n.service.mjs +93 -0
  24. package/esm2020/layout/yz.startup.service.mjs +137 -0
  25. package/esm2020/layout/yz.stomp.service.mjs +88 -0
  26. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  27. package/{esm2015/shared/public_api.js → esm2020/shared/public_api.mjs} +0 -0
  28. package/{esm2015/shared/shared-yelon.module.js → esm2020/shared/shared-yelon.module.mjs} +0 -0
  29. package/{esm2015/shared/shared-zorro.module.js → esm2020/shared/shared-zorro.module.mjs} +0 -0
  30. package/{esm2015/shared/shared.js → esm2020/shared/shared.mjs} +0 -0
  31. package/esm2020/shared/shared.module.mjs +116 -0
  32. package/{esm2015/shared/style-icons.js → esm2020/shared/style-icons.mjs} +0 -0
  33. package/fesm2015/{bis.js → bis.mjs} +1 -1
  34. package/fesm2015/bis.mjs.map +1 -0
  35. package/fesm2015/{layout.js → layout.mjs} +587 -278
  36. package/fesm2015/layout.mjs.map +1 -0
  37. package/fesm2015/{shared.js → shared.mjs} +101 -7
  38. package/fesm2015/shared.mjs.map +1 -0
  39. package/fesm2020/bis.mjs +6 -0
  40. package/fesm2020/bis.mjs.map +1 -0
  41. package/fesm2020/layout.mjs +2796 -0
  42. package/fesm2020/layout.mjs.map +1 -0
  43. package/fesm2020/shared.mjs +1106 -0
  44. package/fesm2020/shared.mjs.map +1 -0
  45. package/layout/act.guard.d.ts +3 -0
  46. package/layout/contact/contact.component.d.ts +4 -1
  47. package/layout/contact/contact.service.d.ts +4 -1
  48. package/layout/layout.d.ts +1 -3
  49. package/layout/layout.module.d.ts +18 -0
  50. package/layout/package.json +5 -6
  51. package/layout/path-to-regexp.service.d.ts +3 -0
  52. package/layout/public_api.d.ts +2 -0
  53. package/layout/widgets/yz.application.component.d.ts +3 -0
  54. package/layout/widgets/yz.clear-storage.component.d.ts +3 -0
  55. package/layout/widgets/yz.fullscreen.component.d.ts +3 -1
  56. package/layout/widgets/yz.i18n.component.d.ts +3 -0
  57. package/layout/widgets/yz.notify.component.d.ts +3 -0
  58. package/layout/widgets/yz.them-btn.component.d.ts +3 -0
  59. package/layout/widgets/yz.user.component.d.ts +3 -0
  60. package/layout/yz.auth.service.d.ts +3 -0
  61. package/layout/yz.basic.component.d.ts +3 -0
  62. package/layout/yz.default.interceptor.d.ts +3 -0
  63. package/layout/yz.i18n.service.d.ts +3 -0
  64. package/layout/yz.startup.service.d.ts +3 -0
  65. package/layout/yz.stomp.service.d.ts +6 -3
  66. package/package.json +46 -18
  67. package/shared/package.json +5 -6
  68. package/shared/shared-zorro.module.d.ts +2 -2
  69. package/shared/shared.d.ts +1 -0
  70. package/shared/shared.module.d.ts +93 -0
  71. package/bis.metadata.json +0 -1
  72. package/bundles/bis.umd.js +0 -18
  73. package/bundles/bis.umd.js.map +0 -1
  74. package/bundles/layout.umd.js +0 -2694
  75. package/bundles/layout.umd.js.map +0 -1
  76. package/bundles/shared.umd.js +0 -1249
  77. package/bundles/shared.umd.js.map +0 -1
  78. package/esm2015/layout/act.guard.js +0 -115
  79. package/esm2015/layout/contact/contact.component.js +0 -434
  80. package/esm2015/layout/contact/contact.service.js +0 -150
  81. package/esm2015/layout/layout.js +0 -8
  82. package/esm2015/layout/layout.module.js +0 -47
  83. package/esm2015/layout/stomp.config.js +0 -20
  84. package/esm2015/layout/widgets/yz.application.component.js +0 -200
  85. package/esm2015/layout/widgets/yz.clear-storage.component.js +0 -39
  86. package/esm2015/layout/widgets/yz.fullscreen.component.js +0 -36
  87. package/esm2015/layout/widgets/yz.i18n.component.js +0 -78
  88. package/esm2015/layout/widgets/yz.notify.component.js +0 -157
  89. package/esm2015/layout/widgets/yz.them-btn.component.js +0 -146
  90. package/esm2015/layout/widgets/yz.user.component.js +0 -81
  91. package/esm2015/layout/yz.auth.service.js +0 -158
  92. package/esm2015/layout/yz.basic.component.js +0 -123
  93. package/esm2015/layout/yz.default.interceptor.js +0 -204
  94. package/esm2015/layout/yz.i18n.service.js +0 -102
  95. package/esm2015/layout/yz.startup.service.js +0 -138
  96. package/esm2015/layout/yz.stomp.service.js +0 -91
  97. package/esm2015/shared/shared.module.js +0 -22
  98. package/fesm2015/bis.js.map +0 -1
  99. package/fesm2015/layout.js.map +0 -1
  100. package/fesm2015/shared.js.map +0 -1
  101. package/layout/layout.metadata.json +0 -1
  102. package/shared/shared.metadata.json +0 -1
@@ -0,0 +1,146 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@yelon/theme";
5
+ import * as i2 from "@yelon/cache";
6
+ export class ContactService {
7
+ constructor(http, cache) {
8
+ this.http = http;
9
+ this.cache = cache;
10
+ }
11
+ /**
12
+ * 部门树查询
13
+ *
14
+ * @param clas 包含班级
15
+ * @param his 包含历史班级
16
+ * @param grade 系部
17
+ * @param gradeID 系部ID
18
+ * @returns 可观察部门树
19
+ */
20
+ dept(clas, his, grade, gradeID) {
21
+ let baseUrl = `/auth/baseDepartMent/tree?debug=false`;
22
+ if (clas) {
23
+ baseUrl += `&includeClass=true`;
24
+ }
25
+ else {
26
+ baseUrl += `&includeClass=false`;
27
+ }
28
+ if (his) {
29
+ baseUrl += `&includeHisClass=true`;
30
+ }
31
+ else {
32
+ baseUrl += `&includeHisClass=false`;
33
+ }
34
+ if (grade) {
35
+ baseUrl += `&deptTypes=2,class`;
36
+ }
37
+ if (gradeID) {
38
+ baseUrl += `&gradeId=${gradeID}`;
39
+ }
40
+ return this.http.get(baseUrl).pipe(map((response) => {
41
+ return response.data || [];
42
+ }));
43
+ }
44
+ page(uri, page) {
45
+ return this.http.post(`${uri}/queryListForPage`, page);
46
+ }
47
+ pageBaseUser(page) {
48
+ return this.page('/auth/baseUser', page);
49
+ }
50
+ getUserByIds(ids) {
51
+ return this.http
52
+ .post('/auth/baseUser/users', {
53
+ userIds: ids
54
+ })
55
+ .pipe((response) => {
56
+ return response.data || [];
57
+ });
58
+ }
59
+ /**
60
+ * 查询人员信息
61
+ *
62
+ * @param userIds[] 用户id数组,["aaa","bbb","ccc"]
63
+ */
64
+ getUserByUserIds(userIds) {
65
+ return this.http
66
+ .post(`/auth/baseUser/users`, {
67
+ userIds: userIds
68
+ })
69
+ .pipe(map((response) => {
70
+ return response.data ? response.data : [];
71
+ }));
72
+ }
73
+ /**
74
+ * 获取角色组角色
75
+ *
76
+ * @param roleGroupCode 角色组code
77
+ */
78
+ getGroupRole(roleGroupCode) {
79
+ return this.http
80
+ .post(`/auth/baseRole/findGroupRole`, {
81
+ roleGroupCode: roleGroupCode
82
+ })
83
+ .pipe(map((response) => {
84
+ return response.data ? response.data : [];
85
+ }));
86
+ }
87
+ /**
88
+ * 查询当前用户好友分组
89
+ */
90
+ getFriendGroup() {
91
+ return this.http.post(`/contact/appcontact/findGroup`, {}).pipe(map((response) => {
92
+ return response.data ? response.data : [];
93
+ }));
94
+ }
95
+ /**
96
+ * 查询年级
97
+ */
98
+ getGrade() {
99
+ return this.http.get(`/auth/gradeYear/queryListForPage`).pipe(map((response) => {
100
+ return response.data ? response.data : [];
101
+ }));
102
+ }
103
+ /**
104
+ * 查询人员类别列表
105
+ */
106
+ getRylbs() {
107
+ return this.http.post(`/auth/baseTeacher/queryRylbs`, {}).pipe(map((response) => {
108
+ return response.data ? response.data : [];
109
+ }));
110
+ }
111
+ /**
112
+ * 获取学生公寓树
113
+ *
114
+ * @param isPower 是否带有权限,默认false
115
+ * @param treeType 树类型 0:宿舍楼 1:宿舍楼+层 2:宿舍楼+层+房间
116
+ */
117
+ getDormTree(isPower, treeType) {
118
+ const user = this.cache.get('_yz_user', { mode: 'none' });
119
+ let params = {};
120
+ if (isPower) {
121
+ params = {
122
+ isPower: isPower,
123
+ userId: user.userId,
124
+ treeType: treeType
125
+ };
126
+ }
127
+ else {
128
+ params = {
129
+ isPower: isPower,
130
+ treeType: treeType
131
+ };
132
+ }
133
+ return this.http.post(`/auth/dorm/tree`, params).pipe(map((response) => {
134
+ return response.data ? response.data : [];
135
+ }));
136
+ }
137
+ }
138
+ ContactService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ContactService, deps: [{ token: i1._HttpClient }, { token: i2.CacheService }], target: i0.ɵɵFactoryTarget.Injectable });
139
+ ContactService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ContactService, providedIn: 'root' });
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ContactService, decorators: [{
141
+ type: Injectable,
142
+ args: [{
143
+ providedIn: 'root'
144
+ }]
145
+ }], ctorParameters: function () { return [{ type: i1._HttpClient }, { type: i2.CacheService }]; } });
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYmlzL2xheW91dC9jb250YWN0L2NvbnRhY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQW9EckMsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBb0IsSUFBaUIsRUFBVSxLQUFtQjtRQUE5QyxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBYztJQUFJLENBQUM7SUFxQ3ZFOzs7Ozs7OztPQVFHO0lBQ0gsSUFBSSxDQUFDLElBQWMsRUFBRSxHQUFhLEVBQUUsS0FBZSxFQUFFLE9BQXVCO1FBQzFFLElBQUksT0FBTyxHQUFHLHVDQUF1QyxDQUFDO1FBRXRELElBQUksSUFBSSxFQUFFO1lBQ1IsT0FBTyxJQUFJLG9CQUFvQixDQUFDO1NBQ2pDO2FBQU07WUFDTCxPQUFPLElBQUkscUJBQXFCLENBQUM7U0FDbEM7UUFFRCxJQUFJLEdBQUcsRUFBRTtZQUNQLE9BQU8sSUFBSSx1QkFBdUIsQ0FBQztTQUNwQzthQUFNO1lBQ0wsT0FBTyxJQUFJLHdCQUF3QixDQUFDO1NBQ3JDO1FBRUQsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLElBQUksb0JBQW9CLENBQUM7U0FDakM7UUFFRCxJQUFJLE9BQU8sRUFBRTtZQUNYLE9BQU8sSUFBSSxZQUFZLE9BQU8sRUFBRSxDQUFDO1NBQ2xDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ2hDLEdBQUcsQ0FBQyxDQUFDLFFBQW1CLEVBQUUsRUFBRTtZQUMxQixPQUFPLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdC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LE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzFELElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLE9BQU8sRUFBRTtZQUNYLE1BQU0sR0FBRztnQkFDUCxPQUFPLEVBQUUsT0FBTztnQkFDaEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixRQUFRLEVBQUUsUUFBUTthQUNuQixDQUFDO1NBQ0g7YUFBTTtZQUNMLE1BQU0sR0FBRztnQkFDUCxPQUFPLEVBQUUsT0FBTztnQkFDaEIsUUFBUSxFQUFFLFFBQVE7YUFDbkIsQ0FBQztTQUNIO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ25ELEdBQUcsQ0FBQyxDQUFDLFFBQW1CLEVBQUUsRUFBRTtZQUMxQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7MkdBN0xVLGNBQWM7K0dBQWQsY0FBYyxjQUZiLE1BQU07MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE56U2FmZUFueSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XG5pbXBvcnQgeyBOelRyZWVOb2RlT3B0aW9ucyB9IGZyb20gJ25nLXpvcnJvLWFudGQvdHJlZSc7XG5cbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJ0B5ZWxvbi9jYWNoZSc7XG5pbXBvcnQgeyBfSHR0cENsaWVudCB9IGZyb20gJ0B5ZWxvbi90aGVtZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZVVzZXJQYXJhbSB7XG4gIHJlYWxOYW1lPzogc3RyaW5nO1xuICB1c2VyQ29kZT86IHN0cmluZztcbiAgZGVwdElkPzogc3RyaW5nO1xuICByb2xlSWQ/OiBzdHJpbmc7XG4gIGZyaWVuZEdyb3VwSWQ/OiBzdHJpbmc7XG4gIHVzZXJUeXBlcz86IHN0cmluZztcbiAgYnVpbGRJZD86IHN0cmluZztcbiAgZmxvb3I/OiBzdHJpbmc7XG4gIHJvb21JZD86IHN0cmluZztcbiAgLy8gRklYTUU6IGZpeCB0aGF0IHVzZSBwZXJzb25UeXBlIG9yIHBlb3BsZVR5cGUgb3IgYW55dGhpbmcgdHlwZVxuICByeWxiPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2U8VD4ge1xuICBwYWdlTnVtOiBudW1iZXI7XG4gIHBhZ2VTaXplOiBudW1iZXI7XG4gIHBhZ2VQYXJhbT86IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZVJlczxUPiB7XG4gIGVuZFJvdzogbnVtYmVyO1xuICBoYXNOZXh0UGFnZTogYm9vbGVhbjtcbiAgaGFzUHJldmlvdXNQYWdlOiBib29sZWFuO1xuICBpc0ZpcnN0UGFnZTogYm9vbGVhbjtcbiAgaXNMYXN0UGFnZTogYm9vbGVhbjtcbiAgbGlzdDogVFtdO1xuICBuYXZpZ2F0ZUZpcnN0UGFnZTogbnVtYmVyO1xuICBuYXZpZ2F0ZUxhc3RQYWdlOiBudW1iZXI7XG4gIG5hdmlnYXRlUGFnZXM6IG51bWJlcjtcbiAgbmF2aWdhdGVwYWdlTnVtczogbnVtYmVyW107XG4gIG5leHRQYWdlOiBudW1iZXI7XG4gIHBhZ2VOdW06IG51bWJlcjtcbiAgcGFnZVNpemU6IG51bWJlcjtcbiAgcGFnZXM6IG51bWJlcjtcbiAgcHJlUGFnZTogbnVtYmVyO1xuICBzaXplOiBudW1iZXI7XG4gIHN0YXJ0Um93OiBudW1iZXI7XG4gIHRvdGFsOiBudW1iZXI7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbnRhY3RTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBfSHR0cENsaWVudCwgcHJpdmF0ZSBjYWNoZTogQ2FjaGVTZXJ2aWNlKSB7IH1cblxuICAvLyBUSVBTOiBIb3cgdG8gd3JpdGUgYW4gb3ZlcnJpZGUgZnVuY3Rpb24gaW4gdHlwZXNjcmlwdFxuICAvKipcbiAgICog6YOo6Zeo5qCR5p+l6K+iXG4gICAqXG4gICAqIEBwYXJhbSBjbGFzIOWMheWQq+ePree6p1xuICAgKiBAcmV0dXJucyDlj6/op4Llr5/pg6jpl6jmoJFcbiAgICovXG4gIGRlcHQoY2xhczogYm9vbGVhbik6IE9ic2VydmFibGU8TnpUcmVlTm9kZU9wdGlvbnNbXT47XG4gIC8qKlxuICAgKiDpg6jpl6jmoJHmn6Xor6JcbiAgICpcbiAgICogQHBhcmFtIGNsYXMg5YyF5ZCr54+t57qnXG4gICAqIEBwYXJhbSBoaXMg5YyF5ZCr5Y6G5Y+y54+t57qnXG4gICAqIEByZXR1cm5zIOWPr+inguWvn+mDqOmXqOagkVxuICAgKi9cbiAgZGVwdChjbGFzOiBib29sZWFuLCBoaXM6IGJvb2xlYW4pOiBPYnNlcnZhYmxlPE56VHJlZU5vZGVPcHRpb25zW10+O1xuICAvKipcbiAgICog6YOo6Zeo5qCR5p+l6K+iXG4gICAqXG4gICAqIEBwYXJhbSBjbGFzIOWMheWQq+ePree6p1xuICAgKiBAcGFyYW0gaGlzIOWMheWQq+WOhuWPsuePree6p1xuICAgKiBAcGFyYW0gZ3JhZGUg57O76YOoXG4gICAqIEByZXR1cm5zIOWPr+inguWvn+mDqOmXqOagkVxuICAgKi9cbiAgZGVwdChjbGFzOiBib29sZWFuLCBoaXM6IGJvb2xlYW4sIGdyYWRlOiBib29sZWFuKTogT2JzZXJ2YWJsZTxOelRyZWVOb2RlT3B0aW9uc1tdPjtcbiAgLyoqXG4gICAqIOmDqOmXqOagkeafpeivolxuICAgKlxuICAgKiBAcGFyYW0gY2xhcyDljIXlkKvnj63nuqdcbiAgICogQHBhcmFtIGhpcyDljIXlkKvljoblj7Lnj63nuqdcbiAgICogQHBhcmFtIGdyYWRlIOezu+mDqFxuICAgKiBAcGFyYW0gZ3JhZGVJRCDns7vpg6hJRFxuICAgKiBAcmV0dXJucyDlj6/op4Llr5/pg6jpl6jmoJFcbiAgICovXG4gIGRlcHQoY2xhczogYm9vbGVhbiwgaGlzOiBib29sZWFuLCBncmFkZTogYm9vbGVhbiwgZ3JhZGVJRDogc3RyaW5nIHwgbnVsbCk6IE9ic2VydmFibGU8TnpUcmVlTm9kZU9wdGlvbnNbXT47XG4gIC8qKlxuICAgKiDpg6jpl6jmoJHmn6Xor6JcbiAgICpcbiAgICogQHBhcmFtIGNsYXMg5YyF5ZCr54+t57qnXG4gICAqIEBwYXJhbSBoaXMg5YyF5ZCr5Y6G5Y+y54+t57qnXG4gICAqIEBwYXJhbSBncmFkZSDns7vpg6hcbiAgICogQHBhcmFtIGdyYWRlSUQg57O76YOoSURcbiAgICogQHJldHVybnMg5Y+v6KeC5a+f6YOo6Zeo5qCRXG4gICAqL1xuICBkZXB0KGNsYXM/OiBib29sZWFuLCBoaXM/OiBib29sZWFuLCBncmFkZT86IGJvb2xlYW4sIGdyYWRlSUQ/OiBzdHJpbmcgfCBudWxsKTogT2JzZXJ2YWJsZTxOelRyZWVOb2RlT3B0aW9uc1tdPiB7XG4gICAgbGV0IGJhc2VVcmwgPSBgL2F1dGgvYmFzZURlcGFydE1lbnQvdHJlZT9kZWJ1Zz1mYWxzZWA7XG5cbiAgICBpZiAoY2xhcykge1xuICAgICAgYmFzZVVybCArPSBgJmluY2x1ZGVDbGFzcz10cnVlYDtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFzZVVybCArPSBgJmluY2x1ZGVDbGFzcz1mYWxzZWA7XG4gICAgfVxuXG4gICAgaWYgKGhpcykge1xuICAgICAgYmFzZVVybCArPSBgJmluY2x1ZGVIaXNDbGFzcz10cnVlYDtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFzZVVybCArPSBgJmluY2x1ZGVIaXNDbGFzcz1mYWxzZWA7XG4gICAgfVxuXG4gICAgaWYgKGdyYWRlKSB7XG4gICAgICBiYXNlVXJsICs9IGAmZGVwdFR5cGVzPTIsY2xhc3NgO1xuICAgIH1cblxuICAgIGlmIChncmFkZUlEKSB7XG4gICAgICBiYXNlVXJsICs9IGAmZ3JhZGVJZD0ke2dyYWRlSUR9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChiYXNlVXJsKS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogTnpTYWZlQW55KSA9PiB7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhIHx8IFtdO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcGFnZTxVLCBUPih1cmk6IHN0cmluZywgcGFnZTogUGFnZTxVPik6IE9ic2VydmFibGU8UGFnZVJlczxUPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt1cml9L3F1ZXJ5TGlzdEZvclBhZ2VgLCBwYWdlKTtcbiAgfVxuXG4gIHBhZ2VCYXNlVXNlcihwYWdlOiBQYWdlPEJhc2VVc2VyUGFyYW0+KTogT2JzZXJ2YWJsZTxQYWdlUmVzPE56U2FmZUFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5wYWdlPEJhc2VVc2VyUGFyYW0sIE56U2FmZUFueT4oJy9hdXRoL2Jhc2VVc2VyJywgcGFnZSk7XG4gIH1cblxuICBnZXRVc2VyQnlJZHMoaWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdCgnL2F1dGgvYmFzZVVzZXIvdXNlcnMnLCB7XG4gICAgICAgIHVzZXJJZHM6IGlkc1xuICAgICAgfSlcbiAgICAgIC5waXBlKChyZXNwb25zZTogTnpTYWZlQW55KSA9PiB7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhIHx8IFtdO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICog5p+l6K+i5Lq65ZGY5L+h5oGvXG4gICAqXG4gICAqIEBwYXJhbSB1c2VySWRzW10g55So5oi3aWTmlbDnu4QsW1wiYWFhXCIsXCJiYmJcIixcImNjY1wiXVxuICAgKi9cbiAgZ2V0VXNlckJ5VXNlcklkcyh1c2VySWRzOiBhbnkpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QoYC9hdXRoL2Jhc2VVc2VyL3VzZXJzYCwge1xuICAgICAgICB1c2VySWRzOiB1c2VySWRzXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IE56U2FmZUFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhID8gcmVzcG9uc2UuZGF0YSA6IFtdO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5bop5LoibLnu4Top5LoibJcbiAgICpcbiAgICogQHBhcmFtIHJvbGVHcm91cENvZGUg6KeS6Imy57uEY29kZVxuICAgKi9cbiAgZ2V0R3JvdXBSb2xlKHJvbGVHcm91cENvZGU6IHN0cmluZyk6IE9ic2VydmFibGU8TnpUcmVlTm9kZU9wdGlvbnNbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KGAvYXV0aC9iYXNlUm9sZS9maW5kR3JvdXBSb2xlYCwge1xuICAgICAgICByb2xlR3JvdXBDb2RlOiByb2xlR3JvdXBDb2RlXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IE56U2FmZUFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhID8gcmVzcG9uc2UuZGF0YSA6IFtdO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDmn6Xor6LlvZPliY3nlKjmiLflpb3lj4vliIbnu4RcbiAgICovXG4gIGdldEZyaWVuZEdyb3VwKCk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYC9jb250YWN0L2FwcGNvbnRhY3QvZmluZEdyb3VwYCwge30pLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBOelNhZmVBbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEgPyByZXNwb25zZS5kYXRhIDogW107XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICog5p+l6K+i5bm057qnXG4gICAqL1xuICBnZXRHcmFkZSgpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYC9hdXRoL2dyYWRlWWVhci9xdWVyeUxpc3RGb3JQYWdlYCkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IE56U2FmZUFueSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YSA/IHJlc3BvbnNlLmRhdGEgOiBbXTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDmn6Xor6LkurrlkZjnsbvliKvliJfooahcbiAgICovXG4gIGdldFJ5bGJzKCk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYC9hdXRoL2Jhc2VUZWFjaGVyL3F1ZXJ5UnlsYnNgLCB7fSkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IE56U2FmZUFueSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YSA/IHJlc3BvbnNlLmRhdGEgOiBbXTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5blrabnlJ/lhazlr5PmoJFcbiAgICpcbiAgICogQHBhcmFtIGlzUG93ZXIg5piv5ZCm5bim5pyJ5p2D6ZmQ77yM6buY6K6kZmFsc2VcbiAgICogQHBhcmFtIHRyZWVUeXBlIOagkeexu+WeiyAwOuWuv+iIjealvCAxOuWuv+iIjealvCvlsYIgMjrlrr/oiI3mpbwr5bGCK+aIv+mXtFxuICAgKi9cbiAgZ2V0RG9ybVRyZWUoaXNQb3dlcjogYm9vbGVhbiwgdHJlZVR5cGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICBjb25zdCB1c2VyID0gdGhpcy5jYWNoZS5nZXQoJ195el91c2VyJywgeyBtb2RlOiAnbm9uZScgfSk7XG4gICAgbGV0IHBhcmFtcyA9IHt9O1xuICAgIGlmIChpc1Bvd2VyKSB7XG4gICAgICBwYXJhbXMgPSB7XG4gICAgICAgIGlzUG93ZXI6IGlzUG93ZXIsXG4gICAgICAgIHVzZXJJZDogdXNlci51c2VySWQsXG4gICAgICAgIHRyZWVUeXBlOiB0cmVlVHlwZVxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyYW1zID0ge1xuICAgICAgICBpc1Bvd2VyOiBpc1Bvd2VyLFxuICAgICAgICB0cmVlVHlwZTogdHJlZVR5cGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAvYXV0aC9kb3JtL3RyZWVgLCBwYXJhbXMpLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBOelNhZmVBbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEgPyByZXNwb25zZS5kYXRhIDogW107XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYmlzL2xheW91dC9sYXlvdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -0,0 +1,73 @@
1
+ /*
2
+ * @Author: cui <devcui@outlook.com>
3
+ * @Editor: microsoft vscode
4
+ * @Date: 2021-11-27 11:30:50
5
+ * @LastEditTime: 2021-11-27 14:38:46
6
+ * @LastEditors: cui <devcui@outlook.com>
7
+ * @Description: empty description
8
+ * @FilePath: \yelon\packages\bis\layout\layout.module.ts
9
+ * LICENSE HERE
10
+ */
11
+ import { CommonModule } from '@angular/common';
12
+ import { HttpClientModule } from '@angular/common/http';
13
+ import { NgModule } from '@angular/core';
14
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
15
+ import { RouterModule } from '@angular/router';
16
+ import { YzSharedModule } from '@yelon/bis/shared';
17
+ import { YUNZAI_THEME_BTN_KEYS } from '@yelon/theme/theme-btn';
18
+ import { ContactComponent } from './contact/contact.component';
19
+ import { YzHeaderApplicationComponent, YzHeaderNotifyComponent, YzHeaderThemBtnComponent, YzHeaderUserComponent, YzHeaderClearStorageComponent, YzHeaderFullScreenComponent, YzHeaderI18NComponent } from './widgets';
20
+ import { YzLayoutBasicComponent } from './yz.basic.component';
21
+ import * as i0 from "@angular/core";
22
+ const COMPONENTS = [
23
+ ContactComponent,
24
+ YzLayoutBasicComponent,
25
+ YzHeaderApplicationComponent,
26
+ YzHeaderNotifyComponent,
27
+ YzHeaderThemBtnComponent,
28
+ YzHeaderUserComponent,
29
+ YzHeaderFullScreenComponent,
30
+ YzHeaderClearStorageComponent,
31
+ YzHeaderI18NComponent
32
+ ];
33
+ export class YunzaiLayoutModule {
34
+ }
35
+ YunzaiLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: YunzaiLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
36
+ YunzaiLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: YunzaiLayoutModule, declarations: [ContactComponent,
37
+ YzLayoutBasicComponent,
38
+ YzHeaderApplicationComponent,
39
+ YzHeaderNotifyComponent,
40
+ YzHeaderThemBtnComponent,
41
+ YzHeaderUserComponent,
42
+ YzHeaderFullScreenComponent,
43
+ YzHeaderClearStorageComponent,
44
+ YzHeaderI18NComponent], imports: [HttpClientModule, CommonModule, FormsModule, RouterModule, ReactiveFormsModule, YzSharedModule], exports: [ContactComponent,
45
+ YzLayoutBasicComponent,
46
+ YzHeaderApplicationComponent,
47
+ YzHeaderNotifyComponent,
48
+ YzHeaderThemBtnComponent,
49
+ YzHeaderUserComponent,
50
+ YzHeaderFullScreenComponent,
51
+ YzHeaderClearStorageComponent,
52
+ YzHeaderI18NComponent] });
53
+ YunzaiLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: YunzaiLayoutModule, providers: [
54
+ {
55
+ provide: YUNZAI_THEME_BTN_KEYS,
56
+ useValue: 'site-theme'
57
+ }
58
+ ], imports: [[HttpClientModule, CommonModule, FormsModule, RouterModule, ReactiveFormsModule, YzSharedModule]] });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: YunzaiLayoutModule, decorators: [{
60
+ type: NgModule,
61
+ args: [{
62
+ imports: [HttpClientModule, CommonModule, FormsModule, RouterModule, ReactiveFormsModule, YzSharedModule],
63
+ providers: [
64
+ {
65
+ provide: YUNZAI_THEME_BTN_KEYS,
66
+ useValue: 'site-theme'
67
+ }
68
+ ],
69
+ declarations: [...COMPONENTS],
70
+ exports: [...COMPONENTS]
71
+ }]
72
+ }] });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9sYXlvdXQvbGF5b3V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7O0dBU0c7QUFDSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIscUJBQXFCLEVBQ3JCLDZCQUE2QixFQUM3QiwyQkFBMkIsRUFDM0IscUJBQXFCLEVBQ3RCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUM5RCxNQUFNLFVBQVUsR0FBRztJQUNqQixnQkFBZ0I7SUFDaEIsc0JBQXNCO0lBQ3RCLDRCQUE0QjtJQUM1Qix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLHFCQUFxQjtJQUNyQiwyQkFBMkI7SUFDM0IsNkJBQTZCO0lBQzdCLHFCQUFxQjtDQUN0QixDQUFDO0FBYUYsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQXRCN0IsZ0JBQWdCO1FBQ2hCLHNCQUFzQjtRQUN0Qiw0QkFBNEI7UUFDNUIsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIsMkJBQTJCO1FBQzNCLDZCQUE2QjtRQUM3QixxQkFBcUIsYUFJWCxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxjQUFjLGFBWnhHLGdCQUFnQjtRQUNoQixzQkFBc0I7UUFDdEIsNEJBQTRCO1FBQzVCLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIscUJBQXFCO1FBQ3JCLDJCQUEyQjtRQUMzQiw2QkFBNkI7UUFDN0IscUJBQXFCO2dIQWNWLGtCQUFrQixhQVRsQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixRQUFRLEVBQUUsWUFBWTtTQUN2QjtLQUNGLFlBTlEsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxjQUFjLENBQUM7MkZBVTlGLGtCQUFrQjtrQkFYOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxjQUFjLENBQUM7b0JBQ3pHLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUscUJBQXFCOzRCQUM5QixRQUFRLEVBQUUsWUFBWTt5QkFDdkI7cUJBQ0Y7b0JBQ0QsWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBAQXV0aG9yOiBjdWkgPGRldmN1aUBvdXRsb29rLmNvbT5cbiAqIEBFZGl0b3I6IG1pY3Jvc29mdCB2c2NvZGVcbiAqIEBEYXRlOiAyMDIxLTExLTI3IDExOjMwOjUwXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTExLTI3IDE0OjM4OjQ2XG4gKiBATGFzdEVkaXRvcnM6IGN1aSA8ZGV2Y3VpQG91dGxvb2suY29tPlxuICogQERlc2NyaXB0aW9uOiBlbXB0eSBkZXNjcmlwdGlvblxuICogQEZpbGVQYXRoOiBcXHllbG9uXFxwYWNrYWdlc1xcYmlzXFxsYXlvdXRcXGxheW91dC5tb2R1bGUudHNcbiAqIExJQ0VOU0UgSEVSRVxuICovXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IFl6U2hhcmVkTW9kdWxlIH0gZnJvbSAnQHllbG9uL2Jpcy9zaGFyZWQnO1xuaW1wb3J0IHsgWVVOWkFJX1RIRU1FX0JUTl9LRVlTIH0gZnJvbSAnQHllbG9uL3RoZW1lL3RoZW1lLWJ0bic7XG5cbmltcG9ydCB7IENvbnRhY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbnRhY3QvY29udGFjdC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgWXpIZWFkZXJBcHBsaWNhdGlvbkNvbXBvbmVudCxcbiAgWXpIZWFkZXJOb3RpZnlDb21wb25lbnQsXG4gIFl6SGVhZGVyVGhlbUJ0bkNvbXBvbmVudCxcbiAgWXpIZWFkZXJVc2VyQ29tcG9uZW50LFxuICBZekhlYWRlckNsZWFyU3RvcmFnZUNvbXBvbmVudCxcbiAgWXpIZWFkZXJGdWxsU2NyZWVuQ29tcG9uZW50LFxuICBZekhlYWRlckkxOE5Db21wb25lbnRcbn0gZnJvbSAnLi93aWRnZXRzJztcbmltcG9ydCB7IFl6TGF5b3V0QmFzaWNDb21wb25lbnQgfSBmcm9tICcuL3l6LmJhc2ljLmNvbXBvbmVudCc7XG5jb25zdCBDT01QT05FTlRTID0gW1xuICBDb250YWN0Q29tcG9uZW50LFxuICBZekxheW91dEJhc2ljQ29tcG9uZW50LFxuICBZekhlYWRlckFwcGxpY2F0aW9uQ29tcG9uZW50LFxuICBZekhlYWRlck5vdGlmeUNvbXBvbmVudCxcbiAgWXpIZWFkZXJUaGVtQnRuQ29tcG9uZW50LFxuICBZekhlYWRlclVzZXJDb21wb25lbnQsXG4gIFl6SGVhZGVyRnVsbFNjcmVlbkNvbXBvbmVudCxcbiAgWXpIZWFkZXJDbGVhclN0b3JhZ2VDb21wb25lbnQsXG4gIFl6SGVhZGVySTE4TkNvbXBvbmVudFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0h0dHBDbGllbnRNb2R1bGUsIENvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJvdXRlck1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgWXpTaGFyZWRNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBZVU5aQUlfVEhFTUVfQlROX0tFWVMsXG4gICAgICB1c2VWYWx1ZTogJ3NpdGUtdGhlbWUnXG4gICAgfVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRTXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVFNdXG59KVxuZXhwb3J0IGNsYXNzIFl1bnphaUxheW91dE1vZHVsZSB7fVxuIl19
@@ -227,11 +227,12 @@ export class PathToRegexpService {
227
227
  return this.stringToRegexp(/** @type {string} */ path, keys, options);
228
228
  }
229
229
  }
230
- PathToRegexpService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PathToRegexpService_Factory() { return new PathToRegexpService(); }, token: PathToRegexpService, providedIn: "root" });
231
- PathToRegexpService.decorators = [
232
- { type: Injectable, args: [{
233
- providedIn: 'root'
234
- },] }
235
- ];
236
- PathToRegexpService.ctorParameters = () => [];
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC10by1yZWdleHAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9sYXlvdXQvcGF0aC10by1yZWdleHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCO1FBQ0Esc0JBQWlCLEdBQUcsR0FBRyxDQUFDO1FBRXhCLGdCQUFXLEdBQUcsSUFBSSxNQUFNLENBQ3RCLENBQUMsU0FBUyxFQUFFLHFGQUFxRixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUM1RyxHQUFHLENBQ0osQ0FBQztJQU5hLENBQUM7SUFRaEIsS0FBSyxDQUFDLEdBQVEsRUFBRSxPQUFZO1FBQzFCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDWixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZCxNQUFNLGdCQUFnQixHQUFHLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDbEYsTUFBTSxTQUFTLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUM5RCxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxHQUFHLENBQUM7UUFFUixPQUFPLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2xELE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FB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LENBQUMsTUFBTSxFQUFFO2dCQUNYLEtBQUssSUFBSSxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sUUFBUSxLQUFLLENBQUM7YUFDaEU7WUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNuQixLQUFLLElBQUksTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFFBQVEsR0FBRyxDQUFDO2FBQzVEO1NBQ0Y7UUFFRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFTLEVBQUUsSUFBUyxFQUFFLE9BQVk7UUFDN0MsSUFBSSxJQUFJLFlBQVksTUFBTSxFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDeEM7UUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDdEU7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RSxDQUFDOzs7O1lBMVJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGF0aFRvUmVnZXhwU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKCkge31cbiAgREVGQVVMVF9ERUxJTUlURVIgPSAnLyc7XG5cbiAgUEFUSF9SRUdFWFAgPSBuZXcgUmVnRXhwKFxuICAgIFsnKFxcXFxcXFxcLiknLCAnKD86XFxcXDooXFxcXHcrKSg/OlxcXFwoKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcKCldKSspXFxcXCkpP3xcXFxcKCgoPzpcXFxcXFxcXC58W15cXFxcXFxcXCgpXSkrKVxcXFwpKShbKyo/XSk/J10uam9pbignfCcpLFxuICAgICdnJ1xuICApO1xuXG4gIHBhcnNlKHN0cjogYW55LCBvcHRpb25zOiBhbnkpIHtcbiAgICBjb25zdCB0b2tlbnMgPSBbXTtcbiAgICBsZXQga2V5ID0gMDtcbiAgICBsZXQgaW5kZXggPSAwO1xuICAgIGxldCBwYXRoID0gJyc7XG4gICAgY29uc3QgZGVmYXVsdERlbGltaXRlciA9IChvcHRpb25zICYmIG9wdGlvbnMuZGVsaW1pdGVyKSB8fCB0aGlzLkRFRkFVTFRfREVMSU1JVEVSO1xuICAgIGNvbnN0IHdoaXRlbGlzdCA9IChvcHRpb25zICYmIG9wdGlvbnMud2hpdGVsaXN0KSB8fCB1bmRlZmluZWQ7XG4gICAgbGV0IHBhdGhFc2NhcGVkID0gZmFsc2U7XG4gICAgbGV0IHJlcztcblxuICAgIHdoaWxlICgocmVzID0gdGhpcy5QQVRIX1JFR0VYUC5leGVjKHN0cikpICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBtID0gcmVzWzBdO1xuICAgICAgY29uc3QgZXNjYXBlZCA9IHJlc1sxXTtcbiAgICAgIGNvbnN0IG9mZnNldCA9IHJlcy5pbmRleDtcbiAgICAgIHBhdGggKz0gc3RyLnNsaWNlKGluZGV4LCBvZmZzZXQpO1xuICAgICAgaW5kZXggPSBvZmZzZXQgKyBtLmxlbmd0aDtcblxuICAgICAgLy8gSWdub3JlIGFscmVhZHkgZXNjYXBlZCBzZXF1ZW5jZXMuXG4gICAgICBpZiAoZXNjYXBlZCkge1xuICAgICAgICBwYXRoICs9IGVzY2FwZWRbMV07XG4gICAgICAgIHBhdGhFc2NhcGVkID0gdHJ1ZTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGxldCBwcmV2ID0gJyc7XG4gICAgICBjb25zdCBuYW1lID0gcmVzWzJdO1xuICAgICAgY29uc3QgY2FwdHVyZSA9IHJlc1szXTtcbiAgICAgIGNvbnN0IGdyb3VwID0gcmVzWzRdO1xuICAgICAgY29uc3QgbW9kaWZpZXIgPSByZXNbNV07XG5cbiAgICAgIGlmICghcGF0aEVzY2FwZWQgJiYgcGF0aC5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgayA9IHBhdGgubGVuZ3RoIC0gMTtcbiAgICAgICAgY29uc3QgYyA9IHBhdGhba107XG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSB3aGl0ZWxpc3QgPyB3aGl0ZWxpc3QuaW5kZXhPZihjKSA+IC0xIDogdHJ1ZTtcblxuICAgICAgICBpZiAobWF0Y2hlcykge1xuICAgICAgICAgIHByZXYgPSBjO1xuICAgICAgICAgIHBhdGggPSBwYXRoLnNsaWNlKDAsIGspO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFB1c2ggdGhlIGN1cnJlbnQgcGF0aCBvbnRvIHRoZSB0b2tlbnMuXG4gICAgICBpZiAocGF0aCkge1xuICAgICAgICB0b2tlbnMucHVzaChwYXRoKTtcbiAgICAgICAgcGF0aCA9ICcnO1xuICAgICAgICBwYXRoRXNjYXBlZCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXBlYXQgPSBtb2RpZmllciA9PT0gJysnIHx8IG1vZGlmaWVyID09PSAnKic7XG4gICAgICBjb25zdCBvcHRpb25hbCA9IG1vZGlmaWVyID09PSAnPycgfHwgbW9kaWZpZXIgPT09ICcqJztcbiAgICAgIGNvbnN0IHBhdHRlcm4gPSBjYXB0dXJlIHx8IGdyb3VwO1xuICAgICAgY29uc3QgZGVsaW1pdGVyID0gcHJldiB8fCBkZWZhdWx0RGVsaW1pdGVyO1xuXG4gICAgICB0b2tlbnMucHVzaCh7XG4gICAgICAgIG5hbWU6IG5hbWUgfHwga2V5KyssXG4gICAgICAgIHByZWZpeDogcHJldixcbiAgICAgICAgZGVsaW1pdGVyOiBkZWxpbWl0ZXIsXG4gICAgICAgIG9wdGlvbmFsOiBvcHRpb25hbCxcbiAgICAgICAgcmVwZWF0OiByZXBlYXQsXG4gICAgICAgIHBhdHRlcm46IHBhdHRlcm5cbiAgICAgICAgICA/IHRoaXMuZXNjYXBlR3JvdXAocGF0dGVybilcbiAgICAgICAgICA6IGBbXiR7dGhpcy5lc2NhcGVTdHJpbmcoZGVsaW1pdGVyID09PSBkZWZhdWx0RGVsaW1pdGVyID8gZGVsaW1pdGVyIDogZGVsaW1pdGVyICsgZGVmYXVsdERlbGltaXRlcil9XSs/YFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gUHVzaCBhbnkgcmVtYWluaW5nIGNoYXJhY3RlcnMuXG4gICAgaWYgKHBhdGggfHwgaW5kZXggPCBzdHIubGVuZ3RoKSB7XG4gICAgICB0b2tlbnMucHVzaChwYXRoICsgc3RyLnN1YnN0cihpbmRleCkpO1xuICAgIH1cblxuICAgIHJldHVybiB0b2tlbnM7XG4gIH1cbiAgY29tcGlsZShzdHI6IGFueSwgb3B0aW9uczogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5zVG9GdW5jdGlvbih0aGlzLnBhcnNlKHN0ciwgb3B0aW9ucyksIG9wdGlvbnMpO1xuICB9XG5cbiAgdG9rZW5zVG9GdW5jdGlvbih0b2tlbnM6IGFueSwgb3B0aW9uczogYW55KSB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IG5ldyBBcnJheSh0b2tlbnMubGVuZ3RoKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodHlwZW9mIHRva2Vuc1tpXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgbWF0Y2hlc1tpXSA9IG5ldyBSZWdFeHAoYF4oPzoke3Rva2Vuc1tpXS5wYXR0ZXJufSkkYCwgdGhpcy5mbGFncyhvcHRpb25zKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIChkYXRhOiBhbnksIG9wdGlvbnM6IGFueSkge1xuICAgICAgbGV0IHBhdGggPSAnJztcbiAgICAgIGNvbnN0IGVuY29kZSA9IChvcHRpb25zICYmIG9wdGlvbnMuZW5jb2RlKSB8fCBlbmNvZGVVUklDb21wb25lbnQ7XG4gICAgICBjb25zdCB2YWxpZGF0ZSA9IG9wdGlvbnMgPyBvcHRpb25zLnZhbGlkYXRlICE9PSBmYWxzZSA6IHRydWU7XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdG9rZW5zW2ldO1xuXG4gICAgICAgIGlmICh0eXBlb2YgdG9rZW4gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcGF0aCArPSB0b2tlbjtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gZGF0YSA/IGRhdGFbdG9rZW4ubmFtZV0gOiB1bmRlZmluZWQ7XG4gICAgICAgIGxldCBzZWdtZW50O1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIGlmICghdG9rZW4ucmVwZWF0KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBcIiR7dG9rZW4ubmFtZX1cIiB0byBub3QgcmVwZWF0LCBidXQgZ290IGFycmF5YCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgaWYgKHRva2VuLm9wdGlvbmFsKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBcIiR7dG9rZW4ubmFtZX1cIiB0byBub3QgYmUgZW1wdHlgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHZhbHVlLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICBzZWdtZW50ID0gZW5jb2RlKHZhbHVlW2pdLCB0b2tlbik7XG5cbiAgICAgICAgICAgIGlmICh2YWxpZGF0ZSAmJiAhbWF0Y2hlc1tpXS50ZXN0KHNlZ21lbnQpKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIGFsbCBcIiR7dG9rZW4ubmFtZX1cIiB0byBtYXRjaCBcIiR7dG9rZW4ucGF0dGVybn1cImApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYXRoICs9IChqID09PSAwID8gdG9rZW4ucHJlZml4IDogdG9rZW4uZGVsaW1pdGVyKSArIHNlZ21lbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgc2VnbWVudCA9IGVuY29kZShTdHJpbmcodmFsdWUpLCB0b2tlbik7XG5cbiAgICAgICAgICBpZiAodmFsaWRhdGUgJiYgIW1hdGNoZXNbaV0udGVzdChzZWdtZW50KSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgXCIke3Rva2VuLm5hbWV9XCIgdG8gbWF0Y2ggXCIke3Rva2VuLnBhdHRlcm59XCIsIGJ1dCBnb3QgXCIke3NlZ21lbnR9XCJgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwYXRoICs9IHRva2VuLnByZWZpeCArIHNlZ21lbnQ7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodG9rZW4ub3B0aW9uYWwpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIFwiJHt0b2tlbi5uYW1lfVwiIHRvIGJlICR7dG9rZW4ucmVwZWF0ID8gJ2FuIGFycmF5JyA6ICdhIHN0cmluZyd9YCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwYXRoO1xuICAgIH07XG4gIH1cblxuICBlc2NhcGVTdHJpbmcoc3RyOiBhbnkpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyhbLisqPz1eIToke30oKVtcXF18L1xcXFxdKS9nLCAnXFxcXCQxJyk7XG4gIH1cblxuICBlc2NhcGVHcm91cChncm91cDogYW55KSB7XG4gICAgcmV0dXJuIGdyb3VwLnJlcGxhY2UoLyhbPSE6JC8oKV0pL2csICdcXFxcJDEnKTtcbiAgfVxuXG4gIGZsYWdzKG9wdGlvbnM6IGFueSkge1xuICAgIHJldHVybiBvcHRpb25zICYmIG9wdGlvbnMuc2Vuc2l0aXZlID8gJycgOiAnaSc7XG4gIH1cblxuICByZWdleHBUb1JlZ2V4cChwYXRoOiBhbnksIGtleXM6IGFueSkge1xuICAgIGlmICgha2V5cykge1xuICAgICAgcmV0dXJuIHBhdGg7XG4gICAgfVxuXG4gICAgY29uc3QgZ3JvdXBzID0gcGF0aC5zb3VyY2UubWF0Y2goL1xcKCg/IVxcPykvZyk7XG5cbiAgICBpZiAoZ3JvdXBzKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyb3Vwcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBrZXlzLnB1c2goe1xuICAgICAgICAgIG5hbWU6IGksXG4gICAgICAgICAgcHJlZml4OiBudWxsLFxuICAgICAgICAgIGRlbGltaXRlcjogbnVsbCxcbiAgICAgICAgICBvcHRpb25hbDogZmFsc2UsXG4gICAgICAgICAgcmVwZWF0OiBmYWxzZSxcbiAgICAgICAgICBwYXR0ZXJuOiBudWxsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwYXRoO1xuICB9XG5cbiAgYXJyYXlUb1JlZ2V4cChwYXRoOiBhbnksIGtleXM6IGFueSwgb3B0aW9uczogYW55KTogUmVnRXhwIHtcbiAgICBjb25zdCBwYXJ0cyA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXRoLmxlbmd0aDsgaSsrKSB7XG4gICAgICBwYXJ0cy5wdXNoKHRoaXMucGF0aFRvUmVnZXhwKHBhdGhbaV0sIGtleXMsIG9wdGlvbnMpLnNvdXJjZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoYCg/OiR7cGFydHMuam9pbignfCcpfSlgLCB0aGlzLmZsYWdzKG9wdGlvbnMpKTtcbiAgfVxuXG4gIHN0cmluZ1RvUmVnZXhwKHBhdGg6IGFueSwga2V5czogYW55LCBvcHRpb25zOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbnNUb1JlZ0V4cCh0aGlzLnBhcnNlKHBhdGgsIG9wdGlvbnMpLCBrZXlzLCBvcHRpb25zKTtcbiAgfVxuXG4gIHRva2Vuc1RvUmVnRXhwKHRva2VuczogYW55LCBrZXlzOiBhbnksIG9wdGlvbnM6IGFueSkge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuXG4gICAgY29uc3Qgc3RyaWN0ID0gb3B0aW9ucy5zdHJpY3Q7XG4gICAgY29uc3Qgc3RhcnQgPSBvcHRpb25zLnN0YXJ0ICE9PSBmYWxzZTtcbiAgICBjb25zdCBlbmQgPSBvcHRpb25zLmVuZCAhPT0gZmFsc2U7XG4gICAgY29uc3QgZGVsaW1pdGVyID0gb3B0aW9ucy5kZWxpbWl0ZXIgfHwgdGhpcy5ERUZBVUxUX0RFTElNSVRFUjtcbiAgICBjb25zdCBlbmRzV2l0aCA9IFtdXG4gICAgICAuY29uY2F0KG9wdGlvbnMuZW5kc1dpdGggfHwgW10pXG4gICAgICAubWFwKHRoaXMuZXNjYXBlU3RyaW5nKVxuICAgICAgLmNvbmNhdCgnJCcpXG4gICAgICAuam9pbignfCcpO1xuICAgIGxldCByb3V0ZSA9IHN0YXJ0ID8gJ14nIDogJyc7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgdG9rZW4gPSB0b2tlbnNbaV07XG5cbiAgICAgIGlmICh0eXBlb2YgdG9rZW4gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJvdXRlICs9IHRoaXMuZXNjYXBlU3RyaW5nKHRva2VuKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNhcHR1cmUgPSB0b2tlbi5yZXBlYXRcbiAgICAgICAgICA/IGAoPzoke3Rva2VuLnBhdHRlcm59KSg/OiR7dGhpcy5lc2NhcGVTdHJpbmcodG9rZW4uZGVsaW1pdGVyKX0oPzoke3Rva2VuLnBhdHRlcm59KSkqYFxuICAgICAgICAgIDogdG9rZW4ucGF0dGVybjtcblxuICAgICAgICBpZiAoa2V5cykge1xuICAgICAgICAgIGtleXMucHVzaCh0b2tlbik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodG9rZW4ub3B0aW9uYWwpIHtcbiAgICAgICAgICBpZiAoIXRva2VuLnByZWZpeCkge1xuICAgICAgICAgICAgcm91dGUgKz0gYCgke2NhcHR1cmV9KT9gO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByb3V0ZSArPSBgKD86JHt0aGlzLmVzY2FwZVN0cmluZyh0b2tlbi5wcmVmaXgpfSgke2NhcHR1cmV9KSk/YDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcm91dGUgKz0gYCR7dGhpcy5lc2NhcGVTdHJpbmcodG9rZW4ucHJlZml4KX0oJHtjYXB0dXJlfSlgO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGVuZCkge1xuICAgICAgaWYgKCFzdHJpY3QpIHtcbiAgICAgICAgcm91dGUgKz0gYCg/OiR7dGhpcy5lc2NhcGVTdHJpbmcoZGVsaW1pdGVyKX0pP2A7XG4gICAgICB9XG5cbiAgICAgIHJvdXRlICs9IGVuZHNXaXRoID09PSAnJCcgPyAnJCcgOiBgKD89JHtlbmRzV2l0aH0pYDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZW5kVG9rZW4gPSB0b2tlbnNbdG9rZW5zLmxlbmd0aCAtIDFdO1xuICAgICAgY29uc3QgaXNFbmREZWxpbWl0ZWQgPVxuICAgICAgICB0eXBlb2YgZW5kVG9rZW4gPT09ICdzdHJpbmcnID8gZW5kVG9rZW5bZW5kVG9rZW4ubGVuZ3RoIC0gMV0gPT09IGRlbGltaXRlciA6IGVuZFRva2VuID09PSB1bmRlZmluZWQ7XG5cbiAgICAgIGlmICghc3RyaWN0KSB7XG4gICAgICAgIHJvdXRlICs9IGAoPzoke3RoaXMuZXNjYXBlU3RyaW5nKGRlbGltaXRlcil9KD89JHtlbmRzV2l0aH0pKT9gO1xuICAgICAgfVxuICAgICAgaWYgKCFpc0VuZERlbGltaXRlZCkge1xuICAgICAgICByb3V0ZSArPSBgKD89JHt0aGlzLmVzY2FwZVN0cmluZyhkZWxpbWl0ZXIpfXwke2VuZHNXaXRofSlgO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgUmVnRXhwKHJvdXRlLCB0aGlzLmZsYWdzKG9wdGlvbnMpKTtcbiAgfVxuXG4gIHBhdGhUb1JlZ2V4cChwYXRoOiBhbnksIGtleXM6IGFueSwgb3B0aW9uczogYW55KSB7XG4gICAgaWYgKHBhdGggaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgIHJldHVybiB0aGlzLnJlZ2V4cFRvUmVnZXhwKHBhdGgsIGtleXMpO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHBhdGgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5hcnJheVRvUmVnZXhwKC8qKiBAdHlwZSB7IUFycmF5fSAqLyBwYXRoLCBrZXlzLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdHJpbmdUb1JlZ2V4cCgvKiogQHR5cGUge3N0cmluZ30gKi8gcGF0aCwga2V5cywgb3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
230
+ PathToRegexpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PathToRegexpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
231
+ PathToRegexpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PathToRegexpService, providedIn: 'root' });
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PathToRegexpService, decorators: [{
233
+ type: Injectable,
234
+ args: [{
235
+ providedIn: 'root'
236
+ }]
237
+ }], ctorParameters: function () { return []; } });
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC10by1yZWdleHAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9sYXlvdXQvcGF0aC10by1yZWdleHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCO1FBQ0Esc0JBQWlCLEdBQUcsR0FBRyxDQUFDO1FBRXhCLGdCQUFXLEdBQUcsSUFBSSxNQUFNLENBQ3RCLENBQUMsU0FBUyxFQUFFLHFGQUFxRixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUM1RyxHQUFHLENBQ0osQ0FBQztJQU5hLENBQUM7SUFRaEIsS0FBSyxDQUFDLEdBQVEsRUFBRSxPQUFZO1FBQzFCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDWixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZCxNQUFNLGdCQUFnQixHQUFHLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDbEYsTUFBTSxTQUFTLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUM5RCxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxHQUFHLENBQUM7UUFFUixPQUFPLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2xELE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FB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LENBQUMsTUFBTSxFQUFFO2dCQUNYLEtBQUssSUFBSSxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sUUFBUSxLQUFLLENBQUM7YUFDaEU7WUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNuQixLQUFLLElBQUksTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFFBQVEsR0FBRyxDQUFDO2FBQzVEO1NBQ0Y7UUFFRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFTLEVBQUUsSUFBUyxFQUFFLE9BQVk7UUFDN0MsSUFBSSxJQUFJLFlBQVksTUFBTSxFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDeEM7UUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDdEU7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RSxDQUFDOztnSEF2UlUsbUJBQW1CO29IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQYXRoVG9SZWdleHBTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7fVxuICBERUZBVUxUX0RFTElNSVRFUiA9ICcvJztcblxuICBQQVRIX1JFR0VYUCA9IG5ldyBSZWdFeHAoXG4gICAgWycoXFxcXFxcXFwuKScsICcoPzpcXFxcOihcXFxcdyspKD86XFxcXCgoKD86XFxcXFxcXFwufFteXFxcXFxcXFwoKV0pKylcXFxcKSk/fFxcXFwoKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcKCldKSspXFxcXCkpKFsrKj9dKT8nXS5qb2luKCd8JyksXG4gICAgJ2cnXG4gICk7XG5cbiAgcGFyc2Uoc3RyOiBhbnksIG9wdGlvbnM6IGFueSkge1xuICAgIGNvbnN0IHRva2VucyA9IFtdO1xuICAgIGxldCBrZXkgPSAwO1xuICAgIGxldCBpbmRleCA9IDA7XG4gICAgbGV0IHBhdGggPSAnJztcbiAgICBjb25zdCBkZWZhdWx0RGVsaW1pdGVyID0gKG9wdGlvbnMgJiYgb3B0aW9ucy5kZWxpbWl0ZXIpIHx8IHRoaXMuREVGQVVMVF9ERUxJTUlURVI7XG4gICAgY29uc3Qgd2hpdGVsaXN0ID0gKG9wdGlvbnMgJiYgb3B0aW9ucy53aGl0ZWxpc3QpIHx8IHVuZGVmaW5lZDtcbiAgICBsZXQgcGF0aEVzY2FwZWQgPSBmYWxzZTtcbiAgICBsZXQgcmVzO1xuXG4gICAgd2hpbGUgKChyZXMgPSB0aGlzLlBBVEhfUkVHRVhQLmV4ZWMoc3RyKSkgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG0gPSByZXNbMF07XG4gICAgICBjb25zdCBlc2NhcGVkID0gcmVzWzFdO1xuICAgICAgY29uc3Qgb2Zmc2V0ID0gcmVzLmluZGV4O1xuICAgICAgcGF0aCArPSBzdHIuc2xpY2UoaW5kZXgsIG9mZnNldCk7XG4gICAgICBpbmRleCA9IG9mZnNldCArIG0ubGVuZ3RoO1xuXG4gICAgICAvLyBJZ25vcmUgYWxyZWFkeSBlc2NhcGVkIHNlcXVlbmNlcy5cbiAgICAgIGlmIChlc2NhcGVkKSB7XG4gICAgICAgIHBhdGggKz0gZXNjYXBlZFsxXTtcbiAgICAgICAgcGF0aEVzY2FwZWQgPSB0cnVlO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgbGV0IHByZXYgPSAnJztcbiAgICAgIGNvbnN0IG5hbWUgPSByZXNbMl07XG4gICAgICBjb25zdCBjYXB0dXJlID0gcmVzWzNdO1xuICAgICAgY29uc3QgZ3JvdXAgPSByZXNbNF07XG4gICAgICBjb25zdCBtb2RpZmllciA9IHJlc1s1XTtcblxuICAgICAgaWYgKCFwYXRoRXNjYXBlZCAmJiBwYXRoLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBrID0gcGF0aC5sZW5ndGggLSAxO1xuICAgICAgICBjb25zdCBjID0gcGF0aFtrXTtcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IHdoaXRlbGlzdCA/IHdoaXRlbGlzdC5pbmRleE9mKGMpID4gLTEgOiB0cnVlO1xuXG4gICAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgICAgcHJldiA9IGM7XG4gICAgICAgICAgcGF0aCA9IHBhdGguc2xpY2UoMCwgayk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUHVzaCB0aGUgY3VycmVudCBwYXRoIG9udG8gdGhlIHRva2Vucy5cbiAgICAgIGlmIChwYXRoKSB7XG4gICAgICAgIHRva2Vucy5wdXNoKHBhdGgpO1xuICAgICAgICBwYXRoID0gJyc7XG4gICAgICAgIHBhdGhFc2NhcGVkID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlcGVhdCA9IG1vZGlmaWVyID09PSAnKycgfHwgbW9kaWZpZXIgPT09ICcqJztcbiAgICAgIGNvbnN0IG9wdGlvbmFsID0gbW9kaWZpZXIgPT09ICc/JyB8fCBtb2RpZmllciA9PT0gJyonO1xuICAgICAgY29uc3QgcGF0dGVybiA9IGNhcHR1cmUgfHwgZ3JvdXA7XG4gICAgICBjb25zdCBkZWxpbWl0ZXIgPSBwcmV2IHx8IGRlZmF1bHREZWxpbWl0ZXI7XG5cbiAgICAgIHRva2Vucy5wdXNoKHtcbiAgICAgICAgbmFtZTogbmFtZSB8fCBrZXkrKyxcbiAgICAgICAgcHJlZml4OiBwcmV2LFxuICAgICAgICBkZWxpbWl0ZXI6IGRlbGltaXRlcixcbiAgICAgICAgb3B0aW9uYWw6IG9wdGlvbmFsLFxuICAgICAgICByZXBlYXQ6IHJlcGVhdCxcbiAgICAgICAgcGF0dGVybjogcGF0dGVyblxuICAgICAgICAgID8gdGhpcy5lc2NhcGVHcm91cChwYXR0ZXJuKVxuICAgICAgICAgIDogYFteJHt0aGlzLmVzY2FwZVN0cmluZyhkZWxpbWl0ZXIgPT09IGRlZmF1bHREZWxpbWl0ZXIgPyBkZWxpbWl0ZXIgOiBkZWxpbWl0ZXIgKyBkZWZhdWx0RGVsaW1pdGVyKX1dKz9gXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBQdXNoIGFueSByZW1haW5pbmcgY2hhcmFjdGVycy5cbiAgICBpZiAocGF0aCB8fCBpbmRleCA8IHN0ci5sZW5ndGgpIHtcbiAgICAgIHRva2Vucy5wdXNoKHBhdGggKyBzdHIuc3Vic3RyKGluZGV4KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRva2VucztcbiAgfVxuICBjb21waWxlKHN0cjogYW55LCBvcHRpb25zOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbnNUb0Z1bmN0aW9uKHRoaXMucGFyc2Uoc3RyLCBvcHRpb25zKSwgb3B0aW9ucyk7XG4gIH1cblxuICB0b2tlbnNUb0Z1bmN0aW9uKHRva2VuczogYW55LCBvcHRpb25zOiBhbnkpIHtcbiAgICBjb25zdCBtYXRjaGVzID0gbmV3IEFycmF5KHRva2Vucy5sZW5ndGgpO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0b2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICh0eXBlb2YgdG9rZW5zW2ldID09PSAnb2JqZWN0Jykge1xuICAgICAgICBtYXRjaGVzW2ldID0gbmV3IFJlZ0V4cChgXig/OiR7dG9rZW5zW2ldLnBhdHRlcm59KSRgLCB0aGlzLmZsYWdzKG9wdGlvbnMpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gKGRhdGE6IGFueSwgb3B0aW9uczogYW55KSB7XG4gICAgICBsZXQgcGF0aCA9ICcnO1xuICAgICAgY29uc3QgZW5jb2RlID0gKG9wdGlvbnMgJiYgb3B0aW9ucy5lbmNvZGUpIHx8IGVuY29kZVVSSUNvbXBvbmVudDtcbiAgICAgIGNvbnN0IHZhbGlkYXRlID0gb3B0aW9ucyA/IG9wdGlvbnMudmFsaWRhdGUgIT09IGZhbHNlIDogdHJ1ZTtcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0b2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSB0b2tlbnNbaV07XG5cbiAgICAgICAgaWYgKHR5cGVvZiB0b2tlbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBwYXRoICs9IHRva2VuO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSBkYXRhID8gZGF0YVt0b2tlbi5uYW1lXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgbGV0IHNlZ21lbnQ7XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgaWYgKCF0b2tlbi5yZXBlYXQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIFwiJHt0b2tlbi5uYW1lfVwiIHRvIG5vdCByZXBlYXQsIGJ1dCBnb3QgYXJyYXlgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBpZiAodG9rZW4ub3B0aW9uYWwpIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIFwiJHt0b2tlbi5uYW1lfVwiIHRvIG5vdCBiZSBlbXB0eWApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdmFsdWUubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgIHNlZ21lbnQgPSBlbmNvZGUodmFsdWVbal0sIHRva2VuKTtcblxuICAgICAgICAgICAgaWYgKHZhbGlkYXRlICYmICFtYXRjaGVzW2ldLnRlc3Qoc2VnbWVudCkpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgYWxsIFwiJHt0b2tlbi5uYW1lfVwiIHRvIG1hdGNoIFwiJHt0b2tlbi5wYXR0ZXJufVwiYCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHBhdGggKz0gKGogPT09IDAgPyB0b2tlbi5wcmVmaXggOiB0b2tlbi5kZWxpbWl0ZXIpICsgc2VnbWVudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICBzZWdtZW50ID0gZW5jb2RlKFN0cmluZyh2YWx1ZSksIHRva2VuKTtcblxuICAgICAgICAgIGlmICh2YWxpZGF0ZSAmJiAhbWF0Y2hlc1tpXS50ZXN0KHNlZ21lbnQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBcIiR7dG9rZW4ubmFtZX1cIiB0byBtYXRjaCBcIiR7dG9rZW4ucGF0dGVybn1cIiwgYnV0IGdvdCBcIiR7c2VnbWVudH1cImApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHBhdGggKz0gdG9rZW4ucHJlZml4ICsgc2VnbWVudDtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0b2tlbi5vcHRpb25hbCkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgXCIke3Rva2VuLm5hbWV9XCIgdG8gYmUgJHt0b2tlbi5yZXBlYXQgPyAnYW4gYXJyYXknIDogJ2Egc3RyaW5nJ31gKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhdGg7XG4gICAgfTtcbiAgfVxuXG4gIGVzY2FwZVN0cmluZyhzdHI6IGFueSkge1xuICAgIHJldHVybiBzdHIucmVwbGFjZSgvKFsuKyo/PV4hOiR7fSgpW1xcXXwvXFxcXF0pL2csICdcXFxcJDEnKTtcbiAgfVxuXG4gIGVzY2FwZUdyb3VwKGdyb3VwOiBhbnkpIHtcbiAgICByZXR1cm4gZ3JvdXAucmVwbGFjZSgvKFs9ITokLygpXSkvZywgJ1xcXFwkMScpO1xuICB9XG5cbiAgZmxhZ3Mob3B0aW9uczogYW55KSB7XG4gICAgcmV0dXJuIG9wdGlvbnMgJiYgb3B0aW9ucy5zZW5zaXRpdmUgPyAnJyA6ICdpJztcbiAgfVxuXG4gIHJlZ2V4cFRvUmVnZXhwKHBhdGg6IGFueSwga2V5czogYW55KSB7XG4gICAgaWYgKCFrZXlzKSB7XG4gICAgICByZXR1cm4gcGF0aDtcbiAgICB9XG5cbiAgICBjb25zdCBncm91cHMgPSBwYXRoLnNvdXJjZS5tYXRjaCgvXFwoKD8hXFw/KS9nKTtcblxuICAgIGlmIChncm91cHMpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3JvdXBzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGtleXMucHVzaCh7XG4gICAgICAgICAgbmFtZTogaSxcbiAgICAgICAgICBwcmVmaXg6IG51bGwsXG4gICAgICAgICAgZGVsaW1pdGVyOiBudWxsLFxuICAgICAgICAgIG9wdGlvbmFsOiBmYWxzZSxcbiAgICAgICAgICByZXBlYXQ6IGZhbHNlLFxuICAgICAgICAgIHBhdHRlcm46IG51bGxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhdGg7XG4gIH1cblxuICBhcnJheVRvUmVnZXhwKHBhdGg6IGFueSwga2V5czogYW55LCBvcHRpb25zOiBhbnkpOiBSZWdFeHAge1xuICAgIGNvbnN0IHBhcnRzID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhdGgubGVuZ3RoOyBpKyspIHtcbiAgICAgIHBhcnRzLnB1c2godGhpcy5wYXRoVG9SZWdleHAocGF0aFtpXSwga2V5cywgb3B0aW9ucykuc291cmNlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFJlZ0V4cChgKD86JHtwYXJ0cy5qb2luKCd8Jyl9KWAsIHRoaXMuZmxhZ3Mob3B0aW9ucykpO1xuICB9XG5cbiAgc3RyaW5nVG9SZWdleHAocGF0aDogYW55LCBrZXlzOiBhbnksIG9wdGlvbnM6IGFueSkge1xuICAgIHJldHVybiB0aGlzLnRva2Vuc1RvUmVnRXhwKHRoaXMucGFyc2UocGF0aCwgb3B0aW9ucyksIGtleXMsIG9wdGlvbnMpO1xuICB9XG5cbiAgdG9rZW5zVG9SZWdFeHAodG9rZW5zOiBhbnksIGtleXM6IGFueSwgb3B0aW9uczogYW55KSB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cbiAgICBjb25zdCBzdHJpY3QgPSBvcHRpb25zLnN0cmljdDtcbiAgICBjb25zdCBzdGFydCA9IG9wdGlvbnMuc3RhcnQgIT09IGZhbHNlO1xuICAgIGNvbnN0IGVuZCA9IG9wdGlvbnMuZW5kICE9PSBmYWxzZTtcbiAgICBjb25zdCBkZWxpbWl0ZXIgPSBvcHRpb25zLmRlbGltaXRlciB8fCB0aGlzLkRFRkFVTFRfREVMSU1JVEVSO1xuICAgIGNvbnN0IGVuZHNXaXRoID0gW11cbiAgICAgIC5jb25jYXQob3B0aW9ucy5lbmRzV2l0aCB8fCBbXSlcbiAgICAgIC5tYXAodGhpcy5lc2NhcGVTdHJpbmcpXG4gICAgICAuY29uY2F0KCckJylcbiAgICAgIC5qb2luKCd8Jyk7XG4gICAgbGV0IHJvdXRlID0gc3RhcnQgPyAnXicgOiAnJztcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCB0b2tlbiA9IHRva2Vuc1tpXTtcblxuICAgICAgaWYgKHR5cGVvZiB0b2tlbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcm91dGUgKz0gdGhpcy5lc2NhcGVTdHJpbmcodG9rZW4pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgY2FwdHVyZSA9IHRva2VuLnJlcGVhdFxuICAgICAgICAgID8gYCg/OiR7dG9rZW4ucGF0dGVybn0pKD86JHt0aGlzLmVzY2FwZVN0cmluZyh0b2tlbi5kZWxpbWl0ZXIpfSg/OiR7dG9rZW4ucGF0dGVybn0pKSpgXG4gICAgICAgICAgOiB0b2tlbi5wYXR0ZXJuO1xuXG4gICAgICAgIGlmIChrZXlzKSB7XG4gICAgICAgICAga2V5cy5wdXNoKHRva2VuKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0b2tlbi5vcHRpb25hbCkge1xuICAgICAgICAgIGlmICghdG9rZW4ucHJlZml4KSB7XG4gICAgICAgICAgICByb3V0ZSArPSBgKCR7Y2FwdHVyZX0pP2A7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJvdXRlICs9IGAoPzoke3RoaXMuZXNjYXBlU3RyaW5nKHRva2VuLnByZWZpeCl9KCR7Y2FwdHVyZX0pKT9gO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByb3V0ZSArPSBgJHt0aGlzLmVzY2FwZVN0cmluZyh0b2tlbi5wcmVmaXgpfSgke2NhcHR1cmV9KWA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZW5kKSB7XG4gICAgICBpZiAoIXN0cmljdCkge1xuICAgICAgICByb3V0ZSArPSBgKD86JHt0aGlzLmVzY2FwZVN0cmluZyhkZWxpbWl0ZXIpfSk/YDtcbiAgICAgIH1cblxuICAgICAgcm91dGUgKz0gZW5kc1dpdGggPT09ICckJyA/ICckJyA6IGAoPz0ke2VuZHNXaXRofSlgO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBlbmRUb2tlbiA9IHRva2Vuc1t0b2tlbnMubGVuZ3RoIC0gMV07XG4gICAgICBjb25zdCBpc0VuZERlbGltaXRlZCA9XG4gICAgICAgIHR5cGVvZiBlbmRUb2tlbiA9PT0gJ3N0cmluZycgPyBlbmRUb2tlbltlbmRUb2tlbi5sZW5ndGggLSAxXSA9PT0gZGVsaW1pdGVyIDogZW5kVG9rZW4gPT09IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKCFzdHJpY3QpIHtcbiAgICAgICAgcm91dGUgKz0gYCg/OiR7dGhpcy5lc2NhcGVTdHJpbmcoZGVsaW1pdGVyKX0oPz0ke2VuZHNXaXRofSkpP2A7XG4gICAgICB9XG4gICAgICBpZiAoIWlzRW5kRGVsaW1pdGVkKSB7XG4gICAgICAgIHJvdXRlICs9IGAoPz0ke3RoaXMuZXNjYXBlU3RyaW5nKGRlbGltaXRlcil9fCR7ZW5kc1dpdGh9KWA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBSZWdFeHAocm91dGUsIHRoaXMuZmxhZ3Mob3B0aW9ucykpO1xuICB9XG5cbiAgcGF0aFRvUmVnZXhwKHBhdGg6IGFueSwga2V5czogYW55LCBvcHRpb25zOiBhbnkpIHtcbiAgICBpZiAocGF0aCBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVnZXhwVG9SZWdleHAocGF0aCwga2V5cyk7XG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkocGF0aCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmFycmF5VG9SZWdleHAoLyoqIEB0eXBlIHshQXJyYXl9ICovIHBhdGgsIGtleXMsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnN0cmluZ1RvUmVnZXhwKC8qKiBAdHlwZSB7c3RyaW5nfSAqLyBwYXRoLCBrZXlzLCBvcHRpb25zKTtcbiAgfVxufVxuIl19
@@ -10,6 +10,6 @@ export * from './stomp.config';
10
10
  export * from './yz.stomp.service';
11
11
  export * from './act.guard';
12
12
  export * from './path-to-regexp.service';
13
- // export * from './contact/contact.component';
14
- // export * from './contact/contact.service';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9sYXlvdXQvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYywwQkFBMEIsQ0FBQztBQUN6QywrQ0FBK0M7QUFDL0MsNkNBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3l6LmF1dGguc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3l6LmJhc2ljLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3l6LmRlZmF1bHQuaW50ZXJjZXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi95ei5pMThuLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi95ei5zdGFydHVwLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9iaXMuY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvbXAuY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4veXouc3RvbXAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdC5ndWFyZCc7XG5leHBvcnQgKiBmcm9tICcuL3BhdGgtdG8tcmVnZXhwLnNlcnZpY2UnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9jb250YWN0L2NvbnRhY3QuY29tcG9uZW50Jztcbi8vIGV4cG9ydCAqIGZyb20gJy4vY29udGFjdC9jb250YWN0LnNlcnZpY2UnO1xuIl19
13
+ export * from './contact/contact.component';
14
+ export * from './contact/contact.service';
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9sYXlvdXQvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3dpZGdldHMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4veXouYXV0aC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4veXouYmFzaWMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4veXouZGVmYXVsdC5pbnRlcmNlcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL3l6LmkxOG4uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3l6LnN0YXJ0dXAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Jpcy5jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9tcC5jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi95ei5zdG9tcC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0Lmd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vcGF0aC10by1yZWdleHAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhY3QvY29udGFjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250YWN0L2NvbnRhY3Quc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { log } from '@yelon/util';
2
+ export const STOMP_DEFAULT_CONFIG = {
3
+ connectHeaders: {
4
+ login: 'guest',
5
+ passcode: 'guest'
6
+ },
7
+ brokerURL: '/websocket/ws/',
8
+ heartbeatIncoming: 1000 * 60,
9
+ heartbeatOutgoing: 1000 * 60,
10
+ reconnectDelay: 30000000,
11
+ debug: msg => {
12
+ log(msg);
13
+ }
14
+ };
15
+ export function mergeStompConfig(srv) {
16
+ return srv.merge('stomp', STOMP_DEFAULT_CONFIG);
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvbXAuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYmlzL2xheW91dC9zdG9tcC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBMEMsTUFBTSxhQUFhLENBQUM7QUFFMUUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXNCO0lBQ3JELGNBQWMsRUFBRTtRQUNkLEtBQUssRUFBRSxPQUFPO1FBQ2QsUUFBUSxFQUFFLE9BQU87S0FDbEI7SUFDRCxTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLGlCQUFpQixFQUFFLElBQUksR0FBRyxFQUFFO0lBQzVCLGlCQUFpQixFQUFFLElBQUksR0FBRyxFQUFFO0lBQzVCLGNBQWMsRUFBRSxRQUFRO0lBQ3hCLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRTtRQUNYLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNYLENBQUM7Q0FDRixDQUFDO0FBRUYsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEdBQXdCO0lBQ3ZELE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLENBQUUsQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbG9nLCBZdW56YWlDb25maWdTZXJ2aWNlLCBZdW56YWlTdG9tcENvbmZpZyB9IGZyb20gJ0B5ZWxvbi91dGlsJztcblxuZXhwb3J0IGNvbnN0IFNUT01QX0RFRkFVTFRfQ09ORklHOiBZdW56YWlTdG9tcENvbmZpZyA9IHtcbiAgY29ubmVjdEhlYWRlcnM6IHtcbiAgICBsb2dpbjogJ2d1ZXN0JyxcbiAgICBwYXNzY29kZTogJ2d1ZXN0J1xuICB9LFxuICBicm9rZXJVUkw6ICcvd2Vic29ja2V0L3dzLycsXG4gIGhlYXJ0YmVhdEluY29taW5nOiAxMDAwICogNjAsXG4gIGhlYXJ0YmVhdE91dGdvaW5nOiAxMDAwICogNjAsXG4gIHJlY29ubmVjdERlbGF5OiAzMDAwMDAwMCxcbiAgZGVidWc6IG1zZyA9PiB7XG4gICAgbG9nKG1zZyk7XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZVN0b21wQ29uZmlnKHNydjogWXVuemFpQ29uZmlnU2VydmljZSk6IFl1bnphaVN0b21wQ29uZmlnIHtcbiAgcmV0dXJuIHNydi5tZXJnZSgnc3RvbXAnLCBTVE9NUF9ERUZBVUxUX0NPTkZJRykhO1xufVxuIl19