@omujs/chat 0.9.9 → 0.9.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +157 -0
- package/README.md +19 -1
- package/dist/dts/chat.d.ts +18 -19
- package/dist/dts/const.d.ts +2 -3
- package/dist/dts/event/event-types.d.ts +13 -8
- package/dist/dts/event/event.d.ts +24 -25
- package/dist/dts/event/index.d.ts +2 -3
- package/dist/dts/index.d.ts +6 -5
- package/dist/dts/models/author.d.ts +32 -35
- package/dist/dts/models/channel.d.ts +28 -31
- package/dist/dts/models/content.d.ts +26 -84
- package/dist/dts/models/gift.d.ts +20 -22
- package/dist/dts/models/index.d.ts +13 -12
- package/dist/dts/models/message.d.ts +37 -40
- package/dist/dts/models/paid.d.ts +8 -10
- package/dist/dts/models/provider.d.ts +31 -34
- package/dist/dts/models/reaction.d.ts +18 -20
- package/dist/dts/models/role.d.ts +23 -25
- package/dist/dts/models/room.d.ts +39 -42
- package/dist/dts/models/vote.d.ts +28 -31
- package/dist/dts/permissions.d.ts +7 -7
- package/dist/esm/chat.js +7652 -112
- package/dist/esm/const.js +4751 -3
- package/dist/esm/event/event-types.js +75 -9
- package/dist/esm/event/event.js +101 -75
- package/dist/esm/event/index.js +115 -3
- package/dist/esm/index.js +7698 -5
- package/dist/esm/models/author.js +4823 -38
- package/dist/esm/models/channel.js +4789 -41
- package/dist/esm/models/content.js +39 -168
- package/dist/esm/models/gift.js +39 -32
- package/dist/esm/models/index.js +5190 -12
- package/dist/esm/models/message.js +4886 -57
- package/dist/esm/models/paid.js +24 -17
- package/dist/esm/models/provider.js +4792 -44
- package/dist/esm/models/reaction.js +4763 -15
- package/dist/esm/models/role.js +43 -36
- package/dist/esm/models/room.js +4788 -40
- package/dist/esm/models/vote.js +4784 -36
- package/dist/esm/permissions.js +4764 -8
- package/package.json +26 -37
- package/src/chat.ts +49 -43
- package/src/const.ts +2 -2
- package/src/event/event-types.ts +13 -7
- package/src/event/event.ts +18 -18
- package/src/event/index.ts +2 -1
- package/src/index.ts +5 -4
- package/src/models/author.ts +15 -17
- package/src/models/channel.ts +11 -13
- package/src/models/content.ts +42 -206
- package/src/models/gift.ts +1 -3
- package/src/models/index.ts +14 -11
- package/src/models/message.ts +19 -22
- package/src/models/paid.ts +1 -3
- package/src/models/provider.ts +16 -18
- package/src/models/reaction.ts +5 -6
- package/src/models/role.ts +1 -3
- package/src/models/room.ts +11 -13
- package/src/models/vote.ts +9 -11
- package/src/permissions.ts +8 -7
- package/tsconfig.json +5 -2
- package/tsconfig.tsbuildinfo +1 -0
- package/LICENSE +0 -21
- package/dist/dts/chat.d.ts.map +0 -1
- package/dist/dts/const.d.ts.map +0 -1
- package/dist/dts/event/event-types.d.ts.map +0 -1
- package/dist/dts/event/event.d.ts.map +0 -1
- package/dist/dts/event/index.d.ts.map +0 -1
- package/dist/dts/index.d.ts.map +0 -1
- package/dist/dts/models/author.d.ts.map +0 -1
- package/dist/dts/models/channel.d.ts.map +0 -1
- package/dist/dts/models/content.d.ts.map +0 -1
- package/dist/dts/models/gift.d.ts.map +0 -1
- package/dist/dts/models/index.d.ts.map +0 -1
- package/dist/dts/models/message.d.ts.map +0 -1
- package/dist/dts/models/paid.d.ts.map +0 -1
- package/dist/dts/models/provider.d.ts.map +0 -1
- package/dist/dts/models/reaction.d.ts.map +0 -1
- package/dist/dts/models/role.d.ts.map +0 -1
- package/dist/dts/models/room.d.ts.map +0 -1
- package/dist/dts/models/vote.d.ts.map +0 -1
- package/dist/dts/permissions.d.ts.map +0 -1
- package/dist/esm/chat.js.map +0 -1
- package/dist/esm/const.js.map +0 -1
- package/dist/esm/event/event-types.js.map +0 -1
- package/dist/esm/event/event.js.map +0 -1
- package/dist/esm/event/index.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/models/author.js.map +0 -1
- package/dist/esm/models/channel.js.map +0 -1
- package/dist/esm/models/content.js.map +0 -1
- package/dist/esm/models/gift.js.map +0 -1
- package/dist/esm/models/index.js.map +0 -1
- package/dist/esm/models/message.js.map +0 -1
- package/dist/esm/models/paid.js.map +0 -1
- package/dist/esm/models/provider.js.map +0 -1
- package/dist/esm/models/reaction.js.map +0 -1
- package/dist/esm/models/role.js.map +0 -1
- package/dist/esm/models/room.js.map +0 -1
- package/dist/esm/models/vote.js.map +0 -1
- package/dist/esm/permissions.js.map +0 -1
- package/eslint.config.js +0 -6
|
@@ -1,168 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
parts.push(component.text);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return parts.join('');
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
const componentTypes = {};
|
|
47
|
-
export function deserialize(json) {
|
|
48
|
-
const type = componentTypes[json.type];
|
|
49
|
-
if (!type) {
|
|
50
|
-
throw new Error(`Unknown component type: ${json.type}`);
|
|
51
|
-
}
|
|
52
|
-
return type.fromJson(json.data);
|
|
53
|
-
}
|
|
54
|
-
export function serialize(component) {
|
|
55
|
-
return {
|
|
56
|
-
type: component.type,
|
|
57
|
-
data: component.toJson(),
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
export function register(type, deserialize) {
|
|
61
|
-
if (componentTypes[type]) {
|
|
62
|
-
throw new Error(`Component type already registered: ${type}`);
|
|
63
|
-
}
|
|
64
|
-
componentTypes[type] = {
|
|
65
|
-
type,
|
|
66
|
-
fromJson: deserialize,
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
export class Root extends Component {
|
|
70
|
-
children;
|
|
71
|
-
constructor(children) {
|
|
72
|
-
super('root');
|
|
73
|
-
this.children = children;
|
|
74
|
-
}
|
|
75
|
-
toJson() {
|
|
76
|
-
return this.children.map(serialize);
|
|
77
|
-
}
|
|
78
|
-
add(component) {
|
|
79
|
-
this.children.push(component);
|
|
80
|
-
}
|
|
81
|
-
text() {
|
|
82
|
-
const parts = [];
|
|
83
|
-
for (const component of this.iter()) {
|
|
84
|
-
if (component instanceof Text) {
|
|
85
|
-
parts.push(component.text);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
return parts.join('');
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
export class Text extends Component {
|
|
92
|
-
text;
|
|
93
|
-
constructor(text) {
|
|
94
|
-
super('text');
|
|
95
|
-
this.text = text;
|
|
96
|
-
}
|
|
97
|
-
toJson() {
|
|
98
|
-
return this.text;
|
|
99
|
-
}
|
|
100
|
-
static of(text) {
|
|
101
|
-
return new Text(text);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
export class Image extends Component {
|
|
105
|
-
url;
|
|
106
|
-
id;
|
|
107
|
-
name;
|
|
108
|
-
constructor(url, id, name = undefined) {
|
|
109
|
-
super('image');
|
|
110
|
-
this.url = url;
|
|
111
|
-
this.id = id;
|
|
112
|
-
this.name = name;
|
|
113
|
-
}
|
|
114
|
-
toJson() {
|
|
115
|
-
return {
|
|
116
|
-
url: this.url,
|
|
117
|
-
id: this.id,
|
|
118
|
-
name: this.name,
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
static of({ url, id, name }) {
|
|
122
|
-
return new Image(url, id, name);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
export class Asset extends Component {
|
|
126
|
-
id;
|
|
127
|
-
constructor(id) {
|
|
128
|
-
super('asset');
|
|
129
|
-
this.id = id;
|
|
130
|
-
}
|
|
131
|
-
toJson() {
|
|
132
|
-
return {
|
|
133
|
-
id: this.id.key(),
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
export class Link extends Component {
|
|
138
|
-
url;
|
|
139
|
-
children;
|
|
140
|
-
constructor(url, children) {
|
|
141
|
-
super('link');
|
|
142
|
-
this.url = url;
|
|
143
|
-
this.children = children;
|
|
144
|
-
}
|
|
145
|
-
toJson() {
|
|
146
|
-
return {
|
|
147
|
-
url: this.url,
|
|
148
|
-
children: this.children.map(serialize),
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
export class System extends Component {
|
|
153
|
-
children;
|
|
154
|
-
constructor(children) {
|
|
155
|
-
super('system');
|
|
156
|
-
this.children = children;
|
|
157
|
-
}
|
|
158
|
-
toJson() {
|
|
159
|
-
return this.children.map(serialize);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
register('root', (data) => new Root(data.map(deserialize)));
|
|
163
|
-
register('text', (data) => new Text(data));
|
|
164
|
-
register('image', (data) => new Image(data.url, data.id, data.name));
|
|
165
|
-
register('asset', (data) => new Asset(Identifier.fromKey(data.id)));
|
|
166
|
-
register('link', (data) => new Link(data.url, data.children.map(deserialize)));
|
|
167
|
-
register('system', (data) => new System(data.map(deserialize)));
|
|
168
|
-
//# sourceMappingURL=content.js.map
|
|
1
|
+
// @bun
|
|
2
|
+
// src/models/content.ts
|
|
3
|
+
function children(component) {
|
|
4
|
+
switch (component.type) {
|
|
5
|
+
case "root":
|
|
6
|
+
return component.data;
|
|
7
|
+
case "system":
|
|
8
|
+
return component.data;
|
|
9
|
+
case "link":
|
|
10
|
+
return component.data.children;
|
|
11
|
+
case "text":
|
|
12
|
+
return [];
|
|
13
|
+
case "image":
|
|
14
|
+
return [];
|
|
15
|
+
case "asset":
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function* walk(component) {
|
|
20
|
+
const queue = [component];
|
|
21
|
+
while (queue.length > 0) {
|
|
22
|
+
const component2 = queue.pop();
|
|
23
|
+
if (!component2)
|
|
24
|
+
return;
|
|
25
|
+
yield component2;
|
|
26
|
+
queue.push(...children(component2).slice().reverse());
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function format(component) {
|
|
30
|
+
return [...walk(component)].filter((it) => it.type === "text").map((it) => it.data).join("");
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
walk,
|
|
34
|
+
format,
|
|
35
|
+
children
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
//# debugId=3D5A89C228A2C9FA64756E2164756E21
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL21vZGVscy9jb250ZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWwogICAgImltcG9ydCB7IEpzb25UeXBlIH0gZnJvbSAnQG9tdWpzL29tdS9zZXJpYWxpemUnO1xuXG5leHBvcnQgdHlwZSBDb21wb25lbnRUeXBlPFQgZXh0ZW5kcyBzdHJpbmcsIEQgZXh0ZW5kcyBKc29uVHlwZSA9IEpzb25UeXBlPiA9IHtcbiAgICB0eXBlOiBUO1xuICAgIGRhdGE6IEQ7XG59O1xuXG5leHBvcnQgdHlwZSBSb290ID0gQ29tcG9uZW50VHlwZTwncm9vdCcsIENvbXBvbmVudFtdPjtcblxuZXhwb3J0IHR5cGUgVGV4dCA9IENvbXBvbmVudFR5cGU8J3RleHQnLCBzdHJpbmc+O1xuXG5leHBvcnQgdHlwZSBJbWFnZSA9IENvbXBvbmVudFR5cGU8J2ltYWdlJywge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbn0+O1xuXG5leHBvcnQgdHlwZSBBc3NldCA9IENvbXBvbmVudFR5cGU8J2Fzc2V0Jywge1xuICAgIGlkOiBzdHJpbmc7XG59PjtcblxuZXhwb3J0IHR5cGUgTGluayA9IENvbXBvbmVudFR5cGU8J2xpbmsnLCB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgY2hpbGRyZW46IENvbXBvbmVudFtdO1xufT47XG5cbmV4cG9ydCB0eXBlIFN5c3RlbSA9IENvbXBvbmVudFR5cGU8J3N5c3RlbScsIENvbXBvbmVudFtdPjtcblxuZXhwb3J0IHR5cGUgQ29tcG9uZW50ID1cbiAgICAgICAgICAgICAgICAgICAgfCBSb290XG4gICAgICAgICAgICAgICAgICAgIHwgVGV4dFxuICAgICAgICAgICAgICAgICAgICB8IEltYWdlXG4gICAgICAgICAgICAgICAgICAgIHwgQXNzZXRcbiAgICAgICAgICAgICAgICAgICAgfCBMaW5rXG4gICAgICAgICAgICAgICAgICAgIHwgU3lzdGVtO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hpbGRyZW4oY29tcG9uZW50OiBDb21wb25lbnQpOiBDb21wb25lbnRbXSB7XG4gICAgc3dpdGNoIChjb21wb25lbnQudHlwZSkge1xuICAgICAgICBjYXNlICdyb290JzogcmV0dXJuIGNvbXBvbmVudC5kYXRhO1xuICAgICAgICBjYXNlICdzeXN0ZW0nOiByZXR1cm4gY29tcG9uZW50LmRhdGE7XG4gICAgICAgIGNhc2UgJ2xpbmsnOiByZXR1cm4gY29tcG9uZW50LmRhdGEuY2hpbGRyZW47XG4gICAgICAgIGNhc2UgJ3RleHQnOiByZXR1cm4gW107XG4gICAgICAgIGNhc2UgJ2ltYWdlJzogcmV0dXJuIFtdO1xuICAgICAgICBjYXNlICdhc3NldCc6IHJldHVybiBbXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiAqd2Fsayhjb21wb25lbnQ6IENvbXBvbmVudCk6IEl0ZXJhYmxlPENvbXBvbmVudD4ge1xuICAgIGNvbnN0IHF1ZXVlID0gW2NvbXBvbmVudF07XG4gICAgd2hpbGUgKHF1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gcXVldWUucG9wKCk7XG4gICAgICAgIGlmICghY29tcG9uZW50KSByZXR1cm47XG4gICAgICAgIHlpZWxkIGNvbXBvbmVudDtcbiAgICAgICAgcXVldWUucHVzaCguLi5jaGlsZHJlbihjb21wb25lbnQpLnNsaWNlKCkucmV2ZXJzZSgpKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXQoY29tcG9uZW50OiBDb21wb25lbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBbLi4ud2Fsayhjb21wb25lbnQpXVxuICAgICAgICAuZmlsdGVyKGl0ID0+IGl0LnR5cGUgPT09ICd0ZXh0JylcbiAgICAgICAgLm1hcChpdCA9PiBpdC5kYXRhKS5qb2luKCcnKTtcbn1cbiIKICBdLAogICJtYXBwaW5ncyI6ICI7O0FBb0NPLFNBQVMsUUFBUSxDQUFDLFdBQW1DO0FBQUEsRUFDeEQsUUFBUSxVQUFVO0FBQUEsU0FDVDtBQUFBLE1BQVEsT0FBTyxVQUFVO0FBQUEsU0FDekI7QUFBQSxNQUFVLE9BQU8sVUFBVTtBQUFBLFNBQzNCO0FBQUEsTUFBUSxPQUFPLFVBQVUsS0FBSztBQUFBLFNBQzlCO0FBQUEsTUFBUSxPQUFPLENBQUM7QUFBQSxTQUNoQjtBQUFBLE1BQVMsT0FBTyxDQUFDO0FBQUEsU0FDakI7QUFBQSxNQUFTLE9BQU8sQ0FBQztBQUFBO0FBQUE7QUFJdkIsVUFBVSxJQUFJLENBQUMsV0FBMkM7QUFBQSxFQUM3RCxNQUFNLFFBQVEsQ0FBQyxTQUFTO0FBQUEsRUFDeEIsT0FBTyxNQUFNLFNBQVMsR0FBRztBQUFBLElBQ3JCLE1BQU0sYUFBWSxNQUFNLElBQUk7QUFBQSxJQUM1QixJQUFJLENBQUM7QUFBQSxNQUFXO0FBQUEsSUFDaEIsTUFBTTtBQUFBLElBQ04sTUFBTSxLQUFLLEdBQUcsU0FBUyxVQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQztBQUFBLEVBQ3ZEO0FBQUE7QUFHRyxTQUFTLE1BQU0sQ0FBQyxXQUE4QjtBQUFBLEVBQ2pELE9BQU8sQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDLEVBQ3JCLE9BQU8sUUFBTSxHQUFHLFNBQVMsTUFBTSxFQUMvQixJQUFJLFFBQU0sR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFO0FBQUE7IiwKICAiZGVidWdJZCI6ICIzRDVBODlDMjI4QTJDOUZBNjQ3NTZFMjE2NDc1NkUyMSIsCiAgIm5hbWVzIjogW10KfQ==
|
package/dist/esm/models/gift.js
CHANGED
|
@@ -1,33 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
// @bun
|
|
2
|
+
// src/models/gift.ts
|
|
3
|
+
class Gift {
|
|
4
|
+
id;
|
|
5
|
+
name;
|
|
6
|
+
amount;
|
|
7
|
+
isPaid;
|
|
8
|
+
imageUrl;
|
|
9
|
+
constructor(options) {
|
|
10
|
+
this.id = options.id;
|
|
11
|
+
this.name = options.name;
|
|
12
|
+
this.amount = options.amount;
|
|
13
|
+
this.isPaid = options.isPaid;
|
|
14
|
+
this.imageUrl = options.imageUrl;
|
|
15
|
+
}
|
|
16
|
+
static fromJson(options) {
|
|
17
|
+
return new Gift({
|
|
18
|
+
id: options.id,
|
|
19
|
+
name: options.name,
|
|
20
|
+
amount: options.amount,
|
|
21
|
+
isPaid: options.is_paid,
|
|
22
|
+
imageUrl: options.image_url
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
toJson() {
|
|
26
|
+
return {
|
|
27
|
+
id: this.id,
|
|
28
|
+
name: this.name,
|
|
29
|
+
amount: this.amount,
|
|
30
|
+
is_paid: this.isPaid,
|
|
31
|
+
image_url: this.imageUrl
|
|
32
|
+
};
|
|
33
|
+
}
|
|
32
34
|
}
|
|
33
|
-
|
|
35
|
+
export {
|
|
36
|
+
Gift
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
//# debugId=0D6153798E35A36A64756E2164756E21
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL21vZGVscy9naWZ0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWwogICAgImV4cG9ydCB0eXBlIEdpZnRKc29uID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgaXNfcGFpZD86IGJvb2xlYW47XG4gICAgaW1hZ2VfdXJsPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNsYXNzIEdpZnQge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgaXNQYWlkPzogYm9vbGVhbjtcbiAgICBpbWFnZVVybD86IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IHtcbiAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgICAgYW1vdW50PzogbnVtYmVyO1xuICAgICAgICBpc1BhaWQ/OiBib29sZWFuO1xuICAgICAgICBpbWFnZVVybD86IHN0cmluZztcbiAgICB9KSB7XG4gICAgICAgIHRoaXMuaWQgPSBvcHRpb25zLmlkO1xuICAgICAgICB0aGlzLm5hbWUgPSBvcHRpb25zLm5hbWU7XG4gICAgICAgIHRoaXMuYW1vdW50ID0gb3B0aW9ucy5hbW91bnQ7XG4gICAgICAgIHRoaXMuaXNQYWlkID0gb3B0aW9ucy5pc1BhaWQ7XG4gICAgICAgIHRoaXMuaW1hZ2VVcmwgPSBvcHRpb25zLmltYWdlVXJsO1xuICAgIH1cblxuICAgIHN0YXRpYyBmcm9tSnNvbihvcHRpb25zOiBHaWZ0SnNvbik6IEdpZnQge1xuICAgICAgICByZXR1cm4gbmV3IEdpZnQoe1xuICAgICAgICAgICAgaWQ6IG9wdGlvbnMuaWQsXG4gICAgICAgICAgICBuYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICAgICAgICBhbW91bnQ6IG9wdGlvbnMuYW1vdW50LFxuICAgICAgICAgICAgaXNQYWlkOiBvcHRpb25zLmlzX3BhaWQsXG4gICAgICAgICAgICBpbWFnZVVybDogb3B0aW9ucy5pbWFnZV91cmwsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRvSnNvbigpOiBHaWZ0SnNvbiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICAgIGFtb3VudDogdGhpcy5hbW91bnQsXG4gICAgICAgICAgICBpc19wYWlkOiB0aGlzLmlzUGFpZCxcbiAgICAgICAgICAgIGltYWdlX3VybDogdGhpcy5pbWFnZVVybCxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iCiAgXSwKICAibWFwcGluZ3MiOiAiOztBQVFPLE1BQU0sS0FBSztBQUFBLEVBQ2Q7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFFQSxXQUFXLENBQUMsU0FNVDtBQUFBLElBQ0MsS0FBSyxLQUFLLFFBQVE7QUFBQSxJQUNsQixLQUFLLE9BQU8sUUFBUTtBQUFBLElBQ3BCLEtBQUssU0FBUyxRQUFRO0FBQUEsSUFDdEIsS0FBSyxTQUFTLFFBQVE7QUFBQSxJQUN0QixLQUFLLFdBQVcsUUFBUTtBQUFBO0FBQUEsU0FHckIsUUFBUSxDQUFDLFNBQXlCO0FBQUEsSUFDckMsT0FBTyxJQUFJLEtBQUs7QUFBQSxNQUNaLElBQUksUUFBUTtBQUFBLE1BQ1osTUFBTSxRQUFRO0FBQUEsTUFDZCxRQUFRLFFBQVE7QUFBQSxNQUNoQixRQUFRLFFBQVE7QUFBQSxNQUNoQixVQUFVLFFBQVE7QUFBQSxJQUN0QixDQUFDO0FBQUE7QUFBQSxFQUdMLE1BQU0sR0FBYTtBQUFBLElBQ2YsT0FBTztBQUFBLE1BQ0gsSUFBSSxLQUFLO0FBQUEsTUFDVCxNQUFNLEtBQUs7QUFBQSxNQUNYLFFBQVEsS0FBSztBQUFBLE1BQ2IsU0FBUyxLQUFLO0FBQUEsTUFDZCxXQUFXLEtBQUs7QUFBQSxJQUNwQjtBQUFBO0FBRVI7IiwKICAiZGVidWdJZCI6ICIwRDYxNTM3OThFMzVBMzZBNjQ3NTZFMjE2NDc1NkUyMSIsCiAgIm5hbWVzIjogW10KfQ==
|