@discordeno/bot 22.0.1-next.e94308c → 22.0.1-next.ff7c51d

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.
@@ -154,57 +154,60 @@ export function transformInteractionDataOption(bot, option) {
154
154
  export function transformInteractionDataResolved(bot, payload, extra) {
155
155
  const transformed = {};
156
156
  if (payload.messages) {
157
- transformed.messages = new Collection(Object.entries(payload.messages).map(([_id, value])=>{
157
+ transformed.messages = new Collection(Object.entries(payload.messages).map(([key, value])=>{
158
158
  // @ts-expect-error TODO: Deal with partials
159
159
  const message = bot.transformers.message(bot, value, {
160
160
  shardId: extra?.shardId
161
161
  });
162
+ const id = bot.transformers.snowflake(key);
162
163
  return [
163
- message.id,
164
+ id,
164
165
  message
165
166
  ];
166
167
  }));
167
168
  }
168
169
  if (payload.users) {
169
- transformed.users = new Collection(Object.entries(payload.users).map(([_id, value])=>{
170
+ transformed.users = new Collection(Object.entries(payload.users).map(([key, value])=>{
170
171
  const user = bot.transformers.user(bot, value);
172
+ const id = bot.transformers.snowflake(key);
171
173
  return [
172
- user.id,
174
+ id,
173
175
  user
174
176
  ];
175
177
  }));
176
178
  }
177
179
  if (extra?.guildId && payload.members) {
178
- transformed.members = new Collection(Object.entries(payload.members).map(([id, value])=>{
180
+ transformed.members = new Collection(Object.entries(payload.members).map(([key, value])=>{
179
181
  // @ts-expect-error TODO: Deal with partials, value is missing 2 values but the transformer can handle it, despite what the types says
180
182
  const member = bot.transformers.member(bot, value, {
181
183
  guildId: extra.guildId,
182
- userId: bot.transformers.snowflake(id)
184
+ userId: bot.transformers.snowflake(key)
183
185
  });
184
- // We need to tell TS that we are sure the id is a bigint
186
+ const id = bot.transformers.snowflake(key);
185
187
  return [
186
- member.id,
188
+ id,
187
189
  member
188
190
  ];
189
191
  }));
190
192
  }
191
193
  if (extra?.guildId && payload.roles) {
192
- transformed.roles = new Collection(Object.entries(payload.roles).map(([_id, value])=>{
194
+ transformed.roles = new Collection(Object.entries(payload.roles).map(([key, value])=>{
193
195
  const role = bot.transformers.role(bot, value, {
194
196
  guildId: extra.guildId
195
197
  });
198
+ const id = bot.transformers.snowflake(key);
196
199
  return [
197
- role.id,
200
+ id,
198
201
  role
199
202
  ];
200
203
  }));
201
204
  }
202
205
  if (payload.channels) {
203
- transformed.channels = new Collection(Object.entries(payload.channels).map(([_id, value])=>{
206
+ transformed.channels = new Collection(Object.entries(payload.channels).map(([key, value])=>{
204
207
  const channel = bot.transformers.channel(bot, value);
205
- // We need to tell TS that we are sure the id is a bigint
208
+ const id = bot.transformers.snowflake(key);
206
209
  return [
207
- channel.id,
210
+ id,
208
211
  channel
209
212
  ];
210
213
  }));
@@ -255,4 +258,4 @@ export function transformInteractionResource(bot, payload, extra) {
255
258
  return bot.transformers.customizers.interactionResource(bot, payload, resource, extra);
256
259
  }
257
260
 
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBCaWdTdHJpbmcsXG4gIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLFxuICBJbnRlcmFjdGlvblR5cGVzLFxuICBNZXNzYWdlRmxhZ3MsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnXG5pbXBvcnQgdHlwZSB7IEludGVyYWN0aW9uUmVzb2x2ZWREYXRhQ2hhbm5lbCwgSW50ZXJhY3Rpb25SZXNvbHZlZERhdGFNZW1iZXIgfSBmcm9tICcuLi9jb21tYW5kT3B0aW9uc1BhcnNlci5qcydcbmltcG9ydCB0eXBlIHtcbiAgQ29tcGxldGVEZXNpcmVkUHJvcGVydGllcyxcbiAgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcixcbiAgU2V0dXBEZXNpcmVkUHJvcHMsXG4gIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxuICBUcmFuc2Zvcm1Qcm9wZXJ0eSxcbn0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnXG5pbXBvcnQgdHlwZSB7XG4gIEF0dGFjaG1lbnQsXG4gIEludGVyYWN0aW9uLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIEludGVyYWN0aW9uUmVzb3VyY2UsXG4gIFJvbGUsXG4gIFVzZXIsXG59IGZyb20gJy4vdHlwZXMuanMnXG5cbi8vIEFzc3VtZSB3ZSBoYXZlIGFsbCBkZXNpcmVkIHByb3BlcnRpZXMgZm9yIHRoaXMgb3IgZWxzZSB0eXBlc2NyaXB0IHdpbGwgZ2V0IHZlcnkgY29uZnVzZWQgZm9yIHRoZSByZXR1cm4gdHlwZXMgb2YgdGhlc2UgZnVuY3Rpb25zLlxuLy8gVGhpcyBpcyB1c2VkIGFzIGEgcHJvdG90eXBlLCBzbyB0aGUgYWN0dWFsIHR5cGUgd2l0aCB0aGUgdXNlciBkZXNpcmVkIHByb3BlcnRpZXMgd2lsbCBiZSBzZXQgbGF0ZXIuXG5leHBvcnQgY29uc3QgYmFzZUludGVyYWN0aW9uOiBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvbiwgQ29tcGxldGVEZXNpcmVkUHJvcGVydGllczx7fSwgdHJ1ZT4sIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5PiA9IHtcbiAgLy8gVGhpcyBhbGxvd3MgdHlwZXNjcmlwdCB0byBzdGlsbCBjaGVjayBmb3IgdHlwZSBlcnJvcnMgb24gZnVuY3Rpb25zIGJlbG93XG4gIC4uLih1bmRlZmluZWQgYXMgdW5rbm93biBhcyBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvbiwgQ29tcGxldGVEZXNpcmVkUHJvcGVydGllczx7fSwgdHJ1ZT4sIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5PiksXG5cbiAgYXN5bmMgcmVzcG9uZChyZXNwb25zZSwgb3B0aW9ucykge1xuICAgIGxldCB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGFuIG9iamVjdCwgZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBiZSBhbiBhdXRvY29tcGxldGUgb3IgYSBtb2RhbCByZXNwb25zZVxuICAgIGlmIChyZXNwb25zZS50aXRsZSkgdHlwZSA9IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdFxuICAgIGlmICh0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlICYmIG9wdGlvbnM/LmlzUHJpdmF0ZSkge1xuICAgICAgcmVzcG9uc2UuZmxhZ3MgPz89IDBcbiAgICAgIHJlc3BvbnNlLmZsYWdzIHw9IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWxcbiAgICB9XG5cbiAgICAvLyBTaW5jZSB0aGlzIGhhcyBhbHJlYWR5IGJlZW4gZ2l2ZW4gYSByZXNwb25zZSwgYW55IGZ1cnRoZXIgcmVzcG9uc2VzIG11c3QgYmUgZm9sbG93dXBzLlxuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCByZXNwb25zZSlcblxuICAgIC8vIE1vZGFscyBjYW5ub3QgYmUgY2hhaW5lZFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQgJiYgdHlwZSA9PT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcmVzcG9uZCB0byBhIG1vZGFsIGludGVyYWN0aW9uIHdpdGggYW5vdGhlciBtb2RhbC4nKVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZShcbiAgICAgIHRoaXMuaWQsXG4gICAgICB0aGlzLnRva2VuLFxuICAgICAgeyB0eXBlLCBkYXRhOiByZXNwb25zZSB9LFxuICAgICAgeyB3aXRoUmVzcG9uc2U6IG9wdGlvbnM/LndpdGhSZXNwb25zZSB9LFxuICAgIClcbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gcmVzdWx0XG4gIH0sXG4gIGFzeW5jIGVkaXQocmVzcG9uc2UsIG1lc3NhZ2VJZCwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICBpZiAobWVzc2FnZUlkKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZWRpdEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCBtZXNzYWdlSWQsIHJlc3BvbnNlKVxuICAgIH1cblxuICAgIGlmICghdGhpcy5hY2tub3dsZWRnZWQpIHtcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudCAmJiB0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoaXMgaW50ZXJhY3Rpb24gaGFzIG5vdCBiZWVuIHJlc3BvbmRlZCB0byB5ZXQgYW5kIHRoaXMgaXNuJ3QgYSBNZXNzYWdlQ29tcG9uZW50IG9yIE1vZGFsU3VibWl0IGludGVyYWN0aW9uLlwiKVxuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKFxuICAgICAgICB0aGlzLmlkLFxuICAgICAgICB0aGlzLnRva2VuLFxuICAgICAgICB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5VcGRhdGVNZXNzYWdlLCBkYXRhOiByZXNwb25zZSB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgKVxuICAgICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLnRva2VuLCByZXNwb25zZSlcbiAgfSxcbiAgYXN5bmMgZGVmZXJFZGl0KG9wdGlvbnMpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZWRpdCBhbiBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb24uJylcbiAgICBpZiAodGhpcy5hY2tub3dsZWRnZWQpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlZmVyIGFuIGFscmVhZHkgcmVzcG9uZGVkIGludGVyYWN0aW9uLicpXG5cbiAgICBpZiAodGhpcy50eXBlICE9PSBJbnRlcmFjdGlvblR5cGVzLk1lc3NhZ2VDb21wb25lbnQgJiYgdGhpcy50eXBlICE9PSBJbnRlcmFjdGlvblR5cGVzLk1vZGFsU3VibWl0KVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGRlZmVyIHRvIHRoZW4gZWRpdCBhbiBpbnRlcmFjdGlvbiB0aGF0IGlzbid0IGEgTWVzc2FnZUNvbXBvbmVudCBvciBNb2RhbFN1Ym1pdCBpbnRlcmFjdGlvbi5cIilcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICB0aGlzLmlkLFxuICAgICAgdGhpcy50b2tlbixcbiAgICAgIHsgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkVXBkYXRlTWVzc2FnZSB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9LFxuICBhc3luYyBkZWZlcihpc1ByaXZhdGUsIG9wdGlvbnMpIHtcbiAgICBpZiAodGhpcy5hY2tub3dsZWRnZWQpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlZmVyIGFuIGFscmVhZHkgcmVzcG9uZGVkIGludGVyYWN0aW9uLicpXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKFxuICAgICAgdGhpcy5pZCxcbiAgICAgIHRoaXMudG9rZW4sXG4gICAgICB7XG4gICAgICAgIHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5EZWZlcnJlZENoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGZsYWdzOiBpc1ByaXZhdGUgPyBNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsIDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKVxuICAgIHRoaXMuYWNrbm93bGVkZ2VkID0gdHJ1ZVxuICAgIHJldHVybiByZXN1bHRcbiAgfSxcbiAgYXN5bmMgZGVsZXRlKG1lc3NhZ2VJZCkge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWxldGUgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uJylcblxuICAgIGlmIChtZXNzYWdlSWQpIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5kZWxldGVGb2xsb3d1cE1lc3NhZ2UodGhpcy50b2tlbiwgbWVzc2FnZUlkKVxuICAgIGVsc2UgcmV0dXJuIGF3YWl0IHRoaXMuYm90Py5oZWxwZXJzLmRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLnRva2VuKVxuICB9LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb24oYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvbiwgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSk6IEludGVyYWN0aW9uIHtcbiAgY29uc3QgZ3VpbGRJZCA9IHBheWxvYWQuZ3VpbGRfaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkX2lkKSA6IHVuZGVmaW5lZFxuXG4gIGNvbnN0IGludGVyYWN0aW9uOiBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvbiwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+ID0gT2JqZWN0LmNyZWF0ZShiYXNlSW50ZXJhY3Rpb24pXG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvblxuXG4gIGludGVyYWN0aW9uLmJvdCA9IGJvdFxuICBpbnRlcmFjdGlvbi5hY2tub3dsZWRnZWQgPSBmYWxzZVxuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBpbnRlcmFjdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuYXBwbGljYXRpb25faWQpIGludGVyYWN0aW9uLmFwcGxpY2F0aW9uSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmFwcGxpY2F0aW9uX2lkKVxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGludGVyYWN0aW9uLnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLnRva2VuICYmIHBheWxvYWQudG9rZW4pIGludGVyYWN0aW9uLnRva2VuID0gcGF5bG9hZC50b2tlblxuICBpZiAocHJvcHMudmVyc2lvbiAmJiBwYXlsb2FkLnZlcnNpb24pIGludGVyYWN0aW9uLnZlcnNpb24gPSBwYXlsb2FkLnZlcnNpb25cbiAgaWYgKHByb3BzLmxvY2FsZSAmJiBwYXlsb2FkLmxvY2FsZSkgaW50ZXJhY3Rpb24ubG9jYWxlID0gcGF5bG9hZC5sb2NhbGVcbiAgaWYgKHByb3BzLmd1aWxkTG9jYWxlICYmIHBheWxvYWQuZ3VpbGRfbG9jYWxlKSBpbnRlcmFjdGlvbi5ndWlsZExvY2FsZSA9IHBheWxvYWQuZ3VpbGRfbG9jYWxlXG4gIGlmIChwcm9wcy5ndWlsZCAmJiBwYXlsb2FkLmd1aWxkKVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgcGF5bG9hZC5ndWlsZCBpcyBhIFBhcnRpYWw8RGlzY29yZEd1aWxkPlxuICAgIGludGVyYWN0aW9uLmd1aWxkID0gYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHBheWxvYWQuZ3VpbGQsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSlcbiAgaWYgKHByb3BzLmd1aWxkSWQgJiYgZ3VpbGRJZCkgaW50ZXJhY3Rpb24uZ3VpbGRJZCA9IGd1aWxkSWRcbiAgaWYgKHByb3BzLnVzZXIpIHtcbiAgICBpZiAocGF5bG9hZC5tZW1iZXI/LnVzZXIpIGludGVyYWN0aW9uLnVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLm1lbWJlcj8udXNlcilcbiAgICBlbHNlIGlmIChwYXlsb2FkLnVzZXIpIGludGVyYWN0aW9uLnVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnVzZXIpXG4gIH1cbiAgaWYgKHByb3BzLmFwcFBlcm1pc3Npb25zICYmIHBheWxvYWQuYXBwX3Blcm1pc3Npb25zKSBpbnRlcmFjdGlvbi5hcHBQZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwX3Blcm1pc3Npb25zKVxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLm1lc3NhZ2UpIGludGVyYWN0aW9uLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLm1lc3NhZ2UsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSlcbiAgaWYgKHByb3BzLmNoYW5uZWwgJiYgcGF5bG9hZC5jaGFubmVsKVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgcGF5bG9hZC5jaGFubmVsIGlzIGEgUGFydGlhbDw+XG4gICAgaW50ZXJhY3Rpb24uY2hhbm5lbCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHBheWxvYWQuY2hhbm5lbCwgeyBndWlsZElkIH0pXG4gIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5jaGFubmVsX2lkKSBpbnRlcmFjdGlvbi5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5tZW1iZXIgJiYgZ3VpbGRJZCAmJiBwYXlsb2FkLm1lbWJlcilcbiAgICBpbnRlcmFjdGlvbi5tZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHBheWxvYWQubWVtYmVyLCB7XG4gICAgICBndWlsZElkLFxuICAgICAgdXNlcklkOiBwYXlsb2FkLm1lbWJlcj8udXNlci5pZCA/PyBwYXlsb2FkLnVzZXI/LmlkLFxuICAgIH0pXG4gIGlmIChwcm9wcy5lbnRpdGxlbWVudHMgJiYgcGF5bG9hZC5lbnRpdGxlbWVudHMpIGludGVyYWN0aW9uLmVudGl0bGVtZW50cyA9IHBheWxvYWQuZW50aXRsZW1lbnRzLm1hcCgoZSkgPT4gYm90LnRyYW5zZm9ybWVycy5lbnRpdGxlbWVudChib3QsIGUpKVxuICBpZiAocHJvcHMuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyAmJiBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVycykge1xuICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMgPSB7fVxuXG4gICAgaWYgKHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10pXG4gICAgICBpbnRlcmFjdGlvbi5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5HdWlsZEluc3RhbGxdID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoXG4gICAgICAgIHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10sXG4gICAgICApXG4gICAgaWYgKHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycxJ10pXG4gICAgICBpbnRlcmFjdGlvbi5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5Vc2VySW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSxcbiAgICAgIClcbiAgfVxuICBpZiAocHJvcHMuY29udGV4dCAmJiBwYXlsb2FkLmNvbnRleHQpIGludGVyYWN0aW9uLmNvbnRleHQgPSBwYXlsb2FkLmNvbnRleHRcbiAgaWYgKHByb3BzLmF0dGFjaG1lbnRTaXplTGltaXQgJiYgcGF5bG9hZC5hdHRhY2htZW50X3NpemVfbGltaXQpIGludGVyYWN0aW9uLmF0dGFjaG1lbnRTaXplTGltaXQgPSBwYXlsb2FkLmF0dGFjaG1lbnRfc2l6ZV9saW1pdFxuICBpZiAocHJvcHMuZGF0YSAmJiBwYXlsb2FkLmRhdGEpIHtcbiAgICBpbnRlcmFjdGlvbi5kYXRhID0ge1xuICAgICAgdHlwZTogcGF5bG9hZC5kYXRhLnR5cGUsXG4gICAgICBjb21wb25lbnRUeXBlOiBwYXlsb2FkLmRhdGEuY29tcG9uZW50X3R5cGUsXG4gICAgICBjdXN0b21JZDogcGF5bG9hZC5kYXRhLmN1c3RvbV9pZCxcbiAgICAgIGNvbXBvbmVudHM6IHBheWxvYWQuZGF0YS5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKSxcbiAgICAgIHZhbHVlczogcGF5bG9hZC5kYXRhLnZhbHVlcyxcbiAgICAgIGlkOiBwYXlsb2FkLmRhdGEuaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmRhdGEuaWQpIDogdW5kZWZpbmVkLFxuICAgICAgbmFtZTogcGF5bG9hZC5kYXRhLm5hbWUsXG4gICAgICByZXNvbHZlZDogcGF5bG9hZC5kYXRhLnJlc29sdmVkXG4gICAgICAgID8gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQuZGF0YS5yZXNvbHZlZCwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCwgZ3VpbGRJZCB9KVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIG9wdGlvbnM6IHBheWxvYWQuZGF0YS5vcHRpb25zPy5tYXAoKG9wdCkgPT4gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zKGJvdCwgb3B0KSksXG4gICAgICB0YXJnZXRJZDogcGF5bG9hZC5kYXRhLnRhcmdldF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZGF0YS50YXJnZXRfaWQpIDogdW5kZWZpbmVkLFxuICAgIH1cbiAgfVxuXG4gIC8vIFR5cGVzY3JpcHQgaGFzIGFuIGhhcmQgdGltZSB3aXRoIGludGVyYWN0aW9uLmJvdCwgc28gd2UgbmVlZCB0byB0ZWxsIGhpbSBmb3Igc3VyZSB0aGlzIGludGVyYWN0aW9uIGlzIHRoZSBvZiB0aGUgY29ycmVjdCB0eXBlXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uKGJvdCwgcGF5bG9hZCwgaW50ZXJhY3Rpb24gYXMgdW5rbm93biBhcyB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbiwgZXh0cmEpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24oYm90OiBCb3QsIG9wdGlvbjogRGlzY29yZEludGVyYWN0aW9uRGF0YU9wdGlvbik6IEludGVyYWN0aW9uRGF0YU9wdGlvbiB7XG4gIGNvbnN0IG9wdCA9IHtcbiAgICBuYW1lOiBvcHRpb24ubmFtZSxcbiAgICB0eXBlOiBvcHRpb24udHlwZSxcbiAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgIG9wdGlvbnM6IG9wdGlvbi5vcHRpb25zLFxuICAgIGZvY3VzZWQ6IG9wdGlvbi5mb2N1c2VkLFxuICB9IGFzIEludGVyYWN0aW9uRGF0YU9wdGlvblxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uRGF0YU9wdGlvbnMoYm90LCBvcHRpb24sIG9wdClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkKFxuICBib3Q6IEJvdCxcbiAgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlcjsgZ3VpbGRJZD86IEJpZ1N0cmluZyB9LFxuKTogVHJhbnNmb3JtUHJvcGVydHk8SW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleT4ge1xuICBjb25zdCB0cmFuc2Zvcm1lZDogSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQgPSB7fVxuXG4gIGlmIChwYXlsb2FkLm1lc3NhZ2VzKSB7XG4gICAgdHJhbnNmb3JtZWQubWVzc2FnZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQubWVzc2FnZXMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogRGVhbCB3aXRoIHBhcnRpYWxzXG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB2YWx1ZSwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KSBhcyBNZXNzYWdlXG4gICAgICAgIHJldHVybiBbbWVzc2FnZS5pZCwgbWVzc2FnZV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLnVzZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQudXNlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQudXNlcnMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCB2YWx1ZSkgYXMgVXNlclxuICAgICAgICByZXR1cm4gW3VzZXIuaWQsIHVzZXJdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAoZXh0cmE/Lmd1aWxkSWQgJiYgcGF5bG9hZC5tZW1iZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5tZW1iZXJzKS5tYXAoKFtpZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogRGVhbCB3aXRoIHBhcnRpYWxzLCB2YWx1ZSBpcyBtaXNzaW5nIDIgdmFsdWVzIGJ1dCB0aGUgdHJhbnNmb3JtZXIgY2FuIGhhbmRsZSBpdCwgZGVzcGl0ZSB3aGF0IHRoZSB0eXBlcyBzYXlzXG4gICAgICAgIGNvbnN0IG1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgdmFsdWUsIHtcbiAgICAgICAgICBndWlsZElkOiBleHRyYS5ndWlsZElkLFxuICAgICAgICAgIHVzZXJJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpLFxuICAgICAgICB9KSBhcyBJbnRlcmFjdGlvblJlc29sdmVkRGF0YU1lbWJlcjxUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj5cblxuICAgICAgICAvLyBXZSBuZWVkIHRvIHRlbGwgVFMgdGhhdCB3ZSBhcmUgc3VyZSB0aGUgaWQgaXMgYSBiaWdpbnRcbiAgICAgICAgcmV0dXJuIFttZW1iZXIuaWQgYXMgYmlnaW50LCBtZW1iZXJdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAoZXh0cmE/Lmd1aWxkSWQgJiYgcGF5bG9hZC5yb2xlcykge1xuICAgIHRyYW5zZm9ybWVkLnJvbGVzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnJvbGVzKS5tYXAoKFtfaWQsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCByb2xlID0gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgdmFsdWUsIHsgZ3VpbGRJZDogZXh0cmEuZ3VpbGRJZCB9KSBhcyBSb2xlXG4gICAgICAgIHJldHVybiBbcm9sZS5pZCwgcm9sZV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLmNoYW5uZWxzKSB7XG4gICAgdHJhbnNmb3JtZWQuY2hhbm5lbHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQuY2hhbm5lbHMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5uZWwgPSBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB2YWx1ZSkgYXMgdW5rbm93biBhcyBJbnRlcmFjdGlvblJlc29sdmVkRGF0YUNoYW5uZWw8XG4gICAgICAgICAgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gICAgICAgICAgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvclxuICAgICAgICA+XG4gICAgICAgIC8vIFdlIG5lZWQgdG8gdGVsbCBUUyB0aGF0IHdlIGFyZSBzdXJlIHRoZSBpZCBpcyBhIGJpZ2ludFxuICAgICAgICByZXR1cm4gW2NoYW5uZWwuaWQgYXMgYmlnaW50LCBjaGFubmVsXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQuYXR0YWNobWVudHMpIHtcbiAgICB0cmFuc2Zvcm1lZC5hdHRhY2htZW50cyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5hdHRhY2htZW50cykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShrZXkpXG4gICAgICAgIGNvbnN0IGF0dGFjaG1lbnQgPSBib3QudHJhbnNmb3JtZXJzLmF0dGFjaG1lbnQoYm90LCB2YWx1ZSkgYXMgQXR0YWNobWVudFxuICAgICAgICByZXR1cm4gW2lkLCBhdHRhY2htZW50XVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCBwYXlsb2FkLCB0cmFuc2Zvcm1lZCwge1xuICAgIHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkLFxuICAgIGd1aWxkSWQ6IGV4dHJhPy5ndWlsZElkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZXh0cmEuZ3VpbGRJZCkgOiB1bmRlZmluZWQsXG4gIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlciB9LFxuKTogSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZVxuICBjb25zdCByZXNwb25zZSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG5cbiAgaWYgKHByb3BzLmludGVyYWN0aW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb24pIHJlc3BvbnNlLmludGVyYWN0aW9uID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkNhbGxiYWNrKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbilcbiAgaWYgKHByb3BzLnJlc291cmNlICYmIHBheWxvYWQucmVzb3VyY2UpIHJlc3BvbnNlLnJlc291cmNlID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvblJlc291cmNlKGJvdCwgcGF5bG9hZC5yZXNvdXJjZSwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZShib3QsIHBheWxvYWQsIHJlc3BvbnNlLCBleHRyYSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2soYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrKTogSW50ZXJhY3Rpb25DYWxsYmFjayB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvbkNhbGxiYWNrXG4gIGNvbnN0IGNhbGxiYWNrID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8SW50ZXJhY3Rpb25DYWxsYmFjaywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNhbGxiYWNrLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZClcbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBjYWxsYmFjay50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlSWQgJiYgcGF5bG9hZC5hY3Rpdml0eV9pbnN0YW5jZV9pZCkgY2FsbGJhY2suYWN0aXZpdHlJbnN0YW5jZUlkID0gcGF5bG9hZC5hY3Rpdml0eV9pbnN0YW5jZV9pZFxuICBpZiAocHJvcHMucmVzcG9uc2VNZXNzYWdlSWQgJiYgcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2lkKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9pZClcbiAgaWYgKHByb3BzLnJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCAmJiBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwgPSBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsXG4gIGlmIChwcm9wcy5yZXNwb25zZU1lc3NhZ2VMb2FkaW5nICYmIHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9sb2FkaW5nKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VMb2FkaW5nID0gcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2xvYWRpbmdcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkNhbGxiYWNrKGJvdCwgcGF5bG9hZCwgY2FsbGJhY2spXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZSwgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSk6IEludGVyYWN0aW9uUmVzb3VyY2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25SZXNvdXJjZVxuICBjb25zdCByZXNvdXJjZSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uUmVzb3VyY2UsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPlxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgcmVzb3VyY2UudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuYWN0aXZpdHlJbnN0YW5jZSAmJiBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlKSByZXNvdXJjZS5hY3Rpdml0eUluc3RhbmNlID0gcGF5bG9hZC5hY3Rpdml0eV9pbnN0YW5jZVxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLm1lc3NhZ2UpIHJlc291cmNlLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLm1lc3NhZ2UsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvblJlc291cmNlKGJvdCwgcGF5bG9hZCwgcmVzb3VyY2UsIGV4dHJhKVxufVxuIl0sIm5hbWVzIjpbIkRpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSIsIkludGVyYWN0aW9uUmVzcG9uc2VUeXBlcyIsIkludGVyYWN0aW9uVHlwZXMiLCJNZXNzYWdlRmxhZ3MiLCJDb2xsZWN0aW9uIiwiYmFzZUludGVyYWN0aW9uIiwidW5kZWZpbmVkIiwicmVzcG9uZCIsInJlc3BvbnNlIiwib3B0aW9ucyIsInR5cGUiLCJDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UiLCJjb250ZW50IiwidGl0bGUiLCJNb2RhbCIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdCIsImlzUHJpdmF0ZSIsImZsYWdzIiwiRXBoZW1lcmFsIiwiYWNrbm93bGVkZ2VkIiwiYm90IiwiaGVscGVycyIsInNlbmRGb2xsb3d1cE1lc3NhZ2UiLCJ0b2tlbiIsIk1vZGFsU3VibWl0IiwiRXJyb3IiLCJyZXN1bHQiLCJzZW5kSW50ZXJhY3Rpb25SZXNwb25zZSIsImlkIiwiZGF0YSIsIndpdGhSZXNwb25zZSIsImVkaXQiLCJtZXNzYWdlSWQiLCJlZGl0Rm9sbG93dXBNZXNzYWdlIiwiTWVzc2FnZUNvbXBvbmVudCIsIlVwZGF0ZU1lc3NhZ2UiLCJlZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwiZGVmZXJFZGl0IiwiRGVmZXJyZWRVcGRhdGVNZXNzYWdlIiwiZGVmZXIiLCJEZWZlcnJlZENoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSIsImRlbGV0ZSIsImRlbGV0ZUZvbGxvd3VwTWVzc2FnZSIsImRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsInRyYW5zZm9ybUludGVyYWN0aW9uIiwicGF5bG9hZCIsImV4dHJhIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwiaW50ZXJhY3Rpb24iLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwidmVyc2lvbiIsImxvY2FsZSIsImd1aWxkTG9jYWxlIiwiZ3VpbGRfbG9jYWxlIiwiZ3VpbGQiLCJzaGFyZElkIiwidXNlciIsIm1lbWJlciIsImFwcFBlcm1pc3Npb25zIiwiYXBwX3Blcm1pc3Npb25zIiwibWVzc2FnZSIsImNoYW5uZWwiLCJjaGFubmVsSWQiLCJjaGFubmVsX2lkIiwidXNlcklkIiwiZW50aXRsZW1lbnRzIiwibWFwIiwiZSIsImVudGl0bGVtZW50IiwiYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyIsImF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVycyIsIkd1aWxkSW5zdGFsbCIsIlVzZXJJbnN0YWxsIiwiY29udGV4dCIsImF0dGFjaG1lbnRTaXplTGltaXQiLCJhdHRhY2htZW50X3NpemVfbGltaXQiLCJjb21wb25lbnRUeXBlIiwiY29tcG9uZW50X3R5cGUiLCJjdXN0b21JZCIsImN1c3RvbV9pZCIsImNvbXBvbmVudHMiLCJjb21wb25lbnQiLCJ2YWx1ZXMiLCJuYW1lIiwicmVzb2x2ZWQiLCJpbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCIsIm9wdCIsImludGVyYWN0aW9uRGF0YU9wdGlvbnMiLCJ0YXJnZXRJZCIsInRhcmdldF9pZCIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uIiwib3B0aW9uIiwidmFsdWUiLCJmb2N1c2VkIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJ0cmFuc2Zvcm1lZCIsIm1lc3NhZ2VzIiwiZW50cmllcyIsIl9pZCIsInVzZXJzIiwibWVtYmVycyIsInJvbGVzIiwicm9sZSIsImNoYW5uZWxzIiwiYXR0YWNobWVudHMiLCJrZXkiLCJhdHRhY2htZW50IiwidHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlIiwiaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlIiwiaW50ZXJhY3Rpb25DYWxsYmFjayIsInJlc291cmNlIiwiaW50ZXJhY3Rpb25SZXNvdXJjZSIsInRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2siLCJjYWxsYmFjayIsImFjdGl2aXR5SW5zdGFuY2VJZCIsImFjdGl2aXR5X2luc3RhbmNlX2lkIiwicmVzcG9uc2VNZXNzYWdlSWQiLCJyZXNwb25zZV9tZXNzYWdlX2lkIiwicmVzcG9uc2VNZXNzYWdlRXBoZW1lcmFsIiwicmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWwiLCJyZXNwb25zZU1lc3NhZ2VMb2FkaW5nIiwicmVzcG9uc2VfbWVzc2FnZV9sb2FkaW5nIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25SZXNvdXJjZSIsImFjdGl2aXR5SW5zdGFuY2UiLCJhY3Rpdml0eV9pbnN0YW5jZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FFRUEsaUNBQWlDLEVBT2pDQyx3QkFBd0IsRUFDeEJDLGdCQUFnQixFQUNoQkMsWUFBWSxRQUNQLG9CQUFtQjtBQUMxQixTQUFTQyxVQUFVLFFBQVEsb0JBQW1CO0FBc0I5QyxvSUFBb0k7QUFDcEksc0dBQXNHO0FBQ3RHLE9BQU8sTUFBTUMsa0JBQTRIO0lBQ3ZJLDJFQUEyRTtJQUMzRSxHQUFJQyxTQUFTO0lBRWIsTUFBTUMsU0FBUUMsUUFBUSxFQUFFQyxPQUFPO1FBQzdCLElBQUlDLE9BQU9ULHlCQUF5QlUsd0JBQXdCO1FBRTVELDREQUE0RDtRQUM1RCxJQUFJLE9BQU9ILGFBQWEsVUFBVUEsV0FBVztZQUFFSSxTQUFTSjtRQUFTO1FBRWpFLDRGQUE0RjtRQUM1RixJQUFJQSxTQUFTSyxLQUFLLEVBQUVILE9BQU9ULHlCQUF5QmEsS0FBSztRQUN6RCxJQUFJLElBQUksQ0FBQ0osSUFBSSxLQUFLUixpQkFBaUJhLDhCQUE4QixFQUFFTCxPQUFPVCx5QkFBeUJlLG9DQUFvQztRQUN2SSxJQUFJTixTQUFTVCx5QkFBeUJVLHdCQUF3QixJQUFJRixTQUFTUSxXQUFXO1lBQ3BGVCxTQUFTVSxLQUFLLEtBQUs7WUFDbkJWLFNBQVNVLEtBQUssSUFBSWYsYUFB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
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBCaWdTdHJpbmcsXG4gIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLFxuICBJbnRlcmFjdGlvblR5cGVzLFxuICBNZXNzYWdlRmxhZ3MsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnXG5pbXBvcnQgdHlwZSB7IEludGVyYWN0aW9uUmVzb2x2ZWREYXRhQ2hhbm5lbCB9IGZyb20gJy4uL2NvbW1hbmRPcHRpb25zUGFyc2VyLmpzJ1xuaW1wb3J0IHR5cGUge1xuICBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzLFxuICBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuICBTZXR1cERlc2lyZWRQcm9wcyxcbiAgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gIFRyYW5zZm9ybVByb3BlcnR5LFxufSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcydcbmltcG9ydCB0eXBlIHtcbiAgSW50ZXJhY3Rpb24sXG4gIEludGVyYWN0aW9uQ2FsbGJhY2ssXG4gIEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgSW50ZXJhY3Rpb25SZXNvdXJjZSxcbn0gZnJvbSAnLi90eXBlcy5qcydcblxuLy8gQXNzdW1lIHdlIGhhdmUgYWxsIGRlc2lyZWQgcHJvcGVydGllcyBmb3IgdGhpcyBvciBlbHNlIHR5cGVzY3JpcHQgd2lsbCBnZXQgdmVyeSBjb25mdXNlZCBmb3IgdGhlIHJldHVybiB0eXBlcyBvZiB0aGVzZSBmdW5jdGlvbnMuXG4vLyBUaGlzIGlzIHVzZWQgYXMgYSBwcm90b3R5cGUsIHNvIHRoZSBhY3R1YWwgdHlwZSB3aXRoIHRoZSB1c2VyIGRlc2lyZWQgcHJvcGVydGllcyB3aWxsIGJlIHNldCBsYXRlci5cbmV4cG9ydCBjb25zdCBiYXNlSW50ZXJhY3Rpb246IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPHt9LCB0cnVlPiwgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXk+ID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPHt9LCB0cnVlPiwgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXk+KSxcblxuICBhc3luYyByZXNwb25kKHJlc3BvbnNlLCBvcHRpb25zKSB7XG4gICAgbGV0IHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlXG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGEgc3RyaW5nLCBjaGFuZ2UgaXQgdG8gYSByZXNwb25zZSBvYmplY3RcbiAgICBpZiAodHlwZW9mIHJlc3BvbnNlID09PSAnc3RyaW5nJykgcmVzcG9uc2UgPSB7IGNvbnRlbnQ6IHJlc3BvbnNlIH1cblxuICAgIC8vIElmIHVzZXIgcHJvdmlkZXMgYW4gb2JqZWN0LCBkZXRlcm1pbmUgaWYgaXQgc2hvdWxkIGJlIGFuIGF1dG9jb21wbGV0ZSBvciBhIG1vZGFsIHJlc3BvbnNlXG4gICAgaWYgKHJlc3BvbnNlLnRpdGxlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlUmVzdWx0XG4gICAgaWYgKHR5cGUgPT09IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5DaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UgJiYgb3B0aW9ucz8uaXNQcml2YXRlKSB7XG4gICAgICByZXNwb25zZS5mbGFncyA/Pz0gMFxuICAgICAgcmVzcG9uc2UuZmxhZ3MgfD0gTWVzc2FnZUZsYWdzLkVwaGVtZXJhbFxuICAgIH1cblxuICAgIC8vIFNpbmNlIHRoaXMgaGFzIGFscmVhZHkgYmVlbiBnaXZlbiBhIHJlc3BvbnNlLCBhbnkgZnVydGhlciByZXNwb25zZXMgbXVzdCBiZSBmb2xsb3d1cHMuXG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kRm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIHJlc3BvbnNlKVxuXG4gICAgLy8gTW9kYWxzIGNhbm5vdCBiZSBjaGFpbmVkXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5Nb2RhbFN1Ym1pdCAmJiB0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuTW9kYWwpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCByZXNwb25kIHRvIGEgbW9kYWwgaW50ZXJhY3Rpb24gd2l0aCBhbm90aGVyIG1vZGFsLicpXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKFxuICAgICAgdGhpcy5pZCxcbiAgICAgIHRoaXMudG9rZW4sXG4gICAgICB7IHR5cGUsIGRhdGE6IHJlc3BvbnNlIH0sXG4gICAgICB7IHdpdGhSZXNwb25zZTogb3B0aW9ucz8ud2l0aFJlc3BvbnNlIH0sXG4gICAgKVxuICAgIHRoaXMuYWNrbm93bGVkZ2VkID0gdHJ1ZVxuICAgIHJldHVybiByZXN1bHRcbiAgfSxcbiAgYXN5bmMgZWRpdChyZXNwb25zZSwgbWVzc2FnZUlkLCBvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGVkaXQgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uLicpXG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGEgc3RyaW5nLCBjaGFuZ2UgaXQgdG8gYSByZXNwb25zZSBvYmplY3RcbiAgICBpZiAodHlwZW9mIHJlc3BvbnNlID09PSAnc3RyaW5nJykgcmVzcG9uc2UgPSB7IGNvbnRlbnQ6IHJlc3BvbnNlIH1cblxuICAgIGlmIChtZXNzYWdlSWQpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5lZGl0Rm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIG1lc3NhZ2VJZCwgcmVzcG9uc2UpXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmFja25vd2xlZGdlZCkge1xuICAgICAgaWYgKHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5NZXNzYWdlQ29tcG9uZW50ICYmIHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5Nb2RhbFN1Ym1pdClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhpcyBpbnRlcmFjdGlvbiBoYXMgbm90IGJlZW4gcmVzcG9uZGVkIHRvIHlldCBhbmQgdGhpcyBpc24ndCBhIE1lc3NhZ2VDb21wb25lbnQgb3IgTW9kYWxTdWJtaXQgaW50ZXJhY3Rpb24uXCIpXG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICAgIHRoaXMuaWQsXG4gICAgICAgIHRoaXMudG9rZW4sXG4gICAgICAgIHsgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLlVwZGF0ZU1lc3NhZ2UsIGRhdGE6IHJlc3BvbnNlIH0sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApXG4gICAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5lZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMudG9rZW4sIHJlc3BvbnNlKVxuICB9LFxuICBhc3luYyBkZWZlckVkaXQob3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKVxuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVmZXIgYW4gYWxyZWFkeSByZXNwb25kZWQgaW50ZXJhY3Rpb24uJylcblxuICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudCAmJiB0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgZGVmZXIgdG8gdGhlbiBlZGl0IGFuIGludGVyYWN0aW9uIHRoYXQgaXNuJ3QgYSBNZXNzYWdlQ29tcG9uZW50IG9yIE1vZGFsU3VibWl0IGludGVyYWN0aW9uLlwiKVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZShcbiAgICAgIHRoaXMuaWQsXG4gICAgICB0aGlzLnRva2VuLFxuICAgICAgeyB0eXBlOiBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuRGVmZXJyZWRVcGRhdGVNZXNzYWdlIH0sXG4gICAgICBvcHRpb25zLFxuICAgIClcbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gcmVzdWx0XG4gIH0sXG4gIGFzeW5jIGRlZmVyKGlzUHJpdmF0ZSwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVmZXIgYW4gYWxyZWFkeSByZXNwb25kZWQgaW50ZXJhY3Rpb24uJylcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICB0aGlzLmlkLFxuICAgICAgdGhpcy50b2tlbixcbiAgICAgIHtcbiAgICAgICAgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZmxhZ3M6IGlzUHJpdmF0ZSA/IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwgOiB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9LFxuICBhc3luYyBkZWxldGUobWVzc2FnZUlkKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlbGV0ZSBhbiBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb24nKVxuXG4gICAgaWYgKG1lc3NhZ2VJZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90Py5oZWxwZXJzLmRlbGV0ZUZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCBtZXNzYWdlSWQpXG4gICAgZWxzZSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMudG9rZW4pXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uLCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlciB9KTogSW50ZXJhY3Rpb24ge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpIDogdW5kZWZpbmVkXG5cbiAgY29uc3QgaW50ZXJhY3Rpb246IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSBPYmplY3QuY3JlYXRlKGJhc2VJbnRlcmFjdGlvbilcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uXG5cbiAgaW50ZXJhY3Rpb24uYm90ID0gYm90XG4gIGludGVyYWN0aW9uLmFja25vd2xlZGdlZCA9IGZhbHNlXG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGludGVyYWN0aW9uLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZClcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgaW50ZXJhY3Rpb24uYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMudG9rZW4gJiYgcGF5bG9hZC50b2tlbikgaW50ZXJhY3Rpb24udG9rZW4gPSBwYXlsb2FkLnRva2VuXG4gIGlmIChwcm9wcy52ZXJzaW9uICYmIHBheWxvYWQudmVyc2lvbikgaW50ZXJhY3Rpb24udmVyc2lvbiA9IHBheWxvYWQudmVyc2lvblxuICBpZiAocHJvcHMubG9jYWxlICYmIHBheWxvYWQubG9jYWxlKSBpbnRlcmFjdGlvbi5sb2NhbGUgPSBwYXlsb2FkLmxvY2FsZVxuICBpZiAocHJvcHMuZ3VpbGRMb2NhbGUgJiYgcGF5bG9hZC5ndWlsZF9sb2NhbGUpIGludGVyYWN0aW9uLmd1aWxkTG9jYWxlID0gcGF5bG9hZC5ndWlsZF9sb2NhbGVcbiAgaWYgKHByb3BzLmd1aWxkICYmIHBheWxvYWQuZ3VpbGQpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwYXlsb2FkLmd1aWxkIGlzIGEgUGFydGlhbDxEaXNjb3JkR3VpbGQ+XG4gICAgaW50ZXJhY3Rpb24uZ3VpbGQgPSBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgcGF5bG9hZC5ndWlsZCwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KVxuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBndWlsZElkKSBpbnRlcmFjdGlvbi5ndWlsZElkID0gZ3VpbGRJZFxuICBpZiAocHJvcHMudXNlcikge1xuICAgIGlmIChwYXlsb2FkLm1lbWJlcj8udXNlcikgaW50ZXJhY3Rpb24udXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQubWVtYmVyPy51c2VyKVxuICAgIGVsc2UgaWYgKHBheWxvYWQudXNlcikgaW50ZXJhY3Rpb24udXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQudXNlcilcbiAgfVxuICBpZiAocHJvcHMuYXBwUGVybWlzc2lvbnMgJiYgcGF5bG9hZC5hcHBfcGVybWlzc2lvbnMpIGludGVyYWN0aW9uLmFwcFBlcm1pc3Npb25zID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBfcGVybWlzc2lvbnMpXG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQubWVzc2FnZSkgaW50ZXJhY3Rpb24ubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHBheWxvYWQubWVzc2FnZSwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KVxuICBpZiAocHJvcHMuY2hhbm5lbCAmJiBwYXlsb2FkLmNoYW5uZWwpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwYXlsb2FkLmNoYW5uZWwgaXMgYSBQYXJ0aWFsPD5cbiAgICBpbnRlcmFjdGlvbi5jaGFubmVsID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgcGF5bG9hZC5jaGFubmVsLCB7IGd1aWxkSWQgfSlcbiAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmNoYW5uZWxfaWQpIGludGVyYWN0aW9uLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLm1lbWJlciAmJiBndWlsZElkICYmIHBheWxvYWQubWVtYmVyKVxuICAgIGludGVyYWN0aW9uLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5tZW1iZXIsIHtcbiAgICAgIGd1aWxkSWQsXG4gICAgICB1c2VySWQ6IHBheWxvYWQubWVtYmVyPy51c2VyLmlkID8/IHBheWxvYWQudXNlcj8uaWQsXG4gICAgfSlcbiAgaWYgKHByb3BzLmVudGl0bGVtZW50cyAmJiBwYXlsb2FkLmVudGl0bGVtZW50cykgaW50ZXJhY3Rpb24uZW50aXRsZW1lbnRzID0gcGF5bG9hZC5lbnRpdGxlbWVudHMubWFwKChlKSA9PiBib3QudHJhbnNmb3JtZXJzLmVudGl0bGVtZW50KGJvdCwgZSkpXG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzICYmIHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzKSB7XG4gICAgaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9XG5cbiAgICBpZiAocGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLkd1aWxkSW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSxcbiAgICAgIClcbiAgICBpZiAocGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddLFxuICAgICAgKVxuICB9XG4gIGlmIChwcm9wcy5jb250ZXh0ICYmIHBheWxvYWQuY29udGV4dCkgaW50ZXJhY3Rpb24uY29udGV4dCA9IHBheWxvYWQuY29udGV4dFxuICBpZiAocHJvcHMuYXR0YWNobWVudFNpemVMaW1pdCAmJiBwYXlsb2FkLmF0dGFjaG1lbnRfc2l6ZV9saW1pdCkgaW50ZXJhY3Rpb24uYXR0YWNobWVudFNpemVMaW1pdCA9IHBheWxvYWQuYXR0YWNobWVudF9zaXplX2xpbWl0XG4gIGlmIChwcm9wcy5kYXRhICYmIHBheWxvYWQuZGF0YSkge1xuICAgIGludGVyYWN0aW9uLmRhdGEgPSB7XG4gICAgICB0eXBlOiBwYXlsb2FkLmRhdGEudHlwZSxcbiAgICAgIGNvbXBvbmVudFR5cGU6IHBheWxvYWQuZGF0YS5jb21wb25lbnRfdHlwZSxcbiAgICAgIGN1c3RvbUlkOiBwYXlsb2FkLmRhdGEuY3VzdG9tX2lkLFxuICAgICAgY29tcG9uZW50czogcGF5bG9hZC5kYXRhLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpLFxuICAgICAgdmFsdWVzOiBwYXlsb2FkLmRhdGEudmFsdWVzLFxuICAgICAgaWQ6IHBheWxvYWQuZGF0YS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZGF0YS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICBuYW1lOiBwYXlsb2FkLmRhdGEubmFtZSxcbiAgICAgIHJlc29sdmVkOiBwYXlsb2FkLmRhdGEucmVzb2x2ZWRcbiAgICAgICAgPyBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uRGF0YVJlc29sdmVkKGJvdCwgcGF5bG9hZC5kYXRhLnJlc29sdmVkLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkLCBndWlsZElkIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgb3B0aW9uczogcGF5bG9hZC5kYXRhLm9wdGlvbnM/Lm1hcCgob3B0KSA9PiBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uRGF0YU9wdGlvbnMoYm90LCBvcHQpKSxcbiAgICAgIHRhcmdldElkOiBwYXlsb2FkLmRhdGEudGFyZ2V0X2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5kYXRhLnRhcmdldF9pZCkgOiB1bmRlZmluZWQsXG4gICAgfVxuICB9XG5cbiAgLy8gVHlwZXNjcmlwdCBoYXMgYW4gaGFyZCB0aW1lIHdpdGggaW50ZXJhY3Rpb24uYm90LCBzbyB3ZSBuZWVkIHRvIHRlbGwgaGltIGZvciBzdXJlIHRoaXMgaW50ZXJhY3Rpb24gaXMgdGhlIG9mIHRoZSBjb3JyZWN0IHR5cGVcbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb24oYm90LCBwYXlsb2FkLCBpbnRlcmFjdGlvbiBhcyB1bmtub3duIGFzIHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uLCBleHRyYSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbihib3Q6IEJvdCwgb3B0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uKTogSW50ZXJhY3Rpb25EYXRhT3B0aW9uIHtcbiAgY29uc3Qgb3B0ID0ge1xuICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxuICAgIHR5cGU6IG9wdGlvbi50eXBlLFxuICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgb3B0aW9uczogb3B0aW9uLm9wdGlvbnMsXG4gICAgZm9jdXNlZDogb3B0aW9uLmZvY3VzZWQsXG4gIH0gYXMgSW50ZXJhY3Rpb25EYXRhT3B0aW9uXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyhib3QsIG9wdGlvbiwgb3B0KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyOyBndWlsZElkPzogQmlnU3RyaW5nIH0sXG4pOiBUcmFuc2Zvcm1Qcm9wZXJ0eTxJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5PiB7XG4gIGNvbnN0IHRyYW5zZm9ybWVkOiBUcmFuc2Zvcm1Qcm9wZXJ0eTxJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5PiA9IHt9XG5cbiAgaWYgKHBheWxvYWQubWVzc2FnZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZXNzYWdlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5tZXNzYWdlcykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBEZWFsIHdpdGggcGFydGlhbHNcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHZhbHVlLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pXG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuXG4gICAgICAgIHJldHVybiBbaWQsIG1lc3NhZ2VdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocGF5bG9hZC51c2Vycykge1xuICAgIHRyYW5zZm9ybWVkLnVzZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnVzZXJzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCB1c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgdmFsdWUpXG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuXG4gICAgICAgIHJldHVybiBbaWQsIHVzZXJdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAoZXh0cmE/Lmd1aWxkSWQgJiYgcGF5bG9hZC5tZW1iZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5tZW1iZXJzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IERlYWwgd2l0aCBwYXJ0aWFscywgdmFsdWUgaXMgbWlzc2luZyAyIHZhbHVlcyBidXQgdGhlIHRyYW5zZm9ybWVyIGNhbiBoYW5kbGUgaXQsIGRlc3BpdGUgd2hhdCB0aGUgdHlwZXMgc2F5c1xuICAgICAgICBjb25zdCBtZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHZhbHVlLCB7XG4gICAgICAgICAgZ3VpbGRJZDogZXh0cmEuZ3VpbGRJZCxcbiAgICAgICAgICB1c2VySWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGtleSksXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuXG4gICAgICAgIHJldHVybiBbaWQsIG1lbWJlcl1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChleHRyYT8uZ3VpbGRJZCAmJiBwYXlsb2FkLnJvbGVzKSB7XG4gICAgdHJhbnNmb3JtZWQucm9sZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucm9sZXMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvbGUgPSBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB2YWx1ZSwgeyBndWlsZElkOiBleHRyYS5ndWlsZElkIH0pXG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuXG4gICAgICAgIHJldHVybiBbaWQsIHJvbGVdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocGF5bG9hZC5jaGFubmVscykge1xuICAgIHRyYW5zZm9ybWVkLmNoYW5uZWxzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLmNoYW5uZWxzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCBjaGFubmVsID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgdmFsdWUpIGFzIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhQ2hhbm5lbDxcbiAgICAgICAgICBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbiAgICAgICAgICBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleVxuICAgICAgICA+XG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuXG4gICAgICAgIHJldHVybiBbaWQsIGNoYW5uZWxdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocGF5bG9hZC5hdHRhY2htZW50cykge1xuICAgIHRyYW5zZm9ybWVkLmF0dGFjaG1lbnRzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLmF0dGFjaG1lbnRzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCBpZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGtleSlcbiAgICAgICAgY29uc3QgYXR0YWNobWVudCA9IGJvdC50cmFuc2Zvcm1lcnMuYXR0YWNobWVudChib3QsIHZhbHVlKVxuXG4gICAgICAgIHJldHVybiBbaWQsIGF0dGFjaG1lbnRdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQsIHRyYW5zZm9ybWVkLCB7XG4gICAgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsXG4gICAgZ3VpbGRJZDogZXh0cmE/Lmd1aWxkSWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShleHRyYS5ndWlsZElkKSA6IHVuZGVmaW5lZCxcbiAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZShcbiAgYm90OiBCb3QsXG4gIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0sXG4pOiBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlXG4gIGNvbnN0IHJlc3BvbnNlID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8SW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj5cblxuICBpZiAocHJvcHMuaW50ZXJhY3Rpb24gJiYgcGF5bG9hZC5pbnRlcmFjdGlvbikgcmVzcG9uc2UuaW50ZXJhY3Rpb24gPSBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uQ2FsbGJhY2soYm90LCBwYXlsb2FkLmludGVyYWN0aW9uKVxuICBpZiAocHJvcHMucmVzb3VyY2UgJiYgcGF5bG9hZC5yZXNvdXJjZSkgcmVzcG9uc2UucmVzb3VyY2UgPSBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uUmVzb3VyY2UoYm90LCBwYXlsb2FkLnJlc291cmNlLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlKGJvdCwgcGF5bG9hZCwgcmVzcG9uc2UsIGV4dHJhKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayhib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2spOiBJbnRlcmFjdGlvbkNhbGxiYWNrIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uQ2FsbGJhY2tcbiAgY29uc3QgY2FsbGJhY2sgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvbkNhbGxiYWNrLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj5cblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY2FsbGJhY2suaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKVxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNhbGxiYWNrLnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLmFjdGl2aXR5SW5zdGFuY2VJZCAmJiBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlX2lkKSBjYWxsYmFjay5hY3Rpdml0eUluc3RhbmNlSWQgPSBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlX2lkXG4gIGlmIChwcm9wcy5yZXNwb25zZU1lc3NhZ2VJZCAmJiBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfaWQpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2lkKVxuICBpZiAocHJvcHMucmVzcG9uc2VNZXNzYWdlRXBoZW1lcmFsICYmIHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWwpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCA9IHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWxcbiAgaWYgKHByb3BzLnJlc3BvbnNlTWVzc2FnZUxvYWRpbmcgJiYgcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2xvYWRpbmcpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUxvYWRpbmcgPSBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfbG9hZGluZ1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uQ2FsbGJhY2soYm90LCBwYXlsb2FkLCBjYWxsYmFjaylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlLCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlciB9KTogSW50ZXJhY3Rpb25SZXNvdXJjZSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvblJlc291cmNlXG4gIGNvbnN0IHJlc291cmNlID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8SW50ZXJhY3Rpb25SZXNvdXJjZSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSByZXNvdXJjZS50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlICYmIHBheWxvYWQuYWN0aXZpdHlfaW5zdGFuY2UpIHJlc291cmNlLmFjdGl2aXR5SW5zdGFuY2UgPSBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlXG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQubWVzc2FnZSkgcmVzb3VyY2UubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHBheWxvYWQubWVzc2FnZSwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uUmVzb3VyY2UoYm90LCBwYXlsb2FkLCByZXNvdXJjZSwgZXh0cmEpXG59XG4iXSwibmFtZXMiOlsiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzIiwiSW50ZXJhY3Rpb25UeXBlcyIsIk1lc3NhZ2VGbGFncyIsIkNvbGxlY3Rpb24iLCJiYXNlSW50ZXJhY3Rpb24iLCJ1bmRlZmluZWQiLCJyZXNwb25kIiwicmVzcG9uc2UiLCJvcHRpb25zIiwidHlwZSIsIkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSIsImNvbnRlbnQiLCJ0aXRsZSIsIk1vZGFsIiwiQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlIiwiQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlUmVzdWx0IiwiaXNQcml2YXRlIiwiZmxhZ3MiLCJFcGhlbWVyYWwiLCJhY2tub3dsZWRnZWQiLCJib3QiLCJoZWxwZXJzIiwic2VuZEZvbGxvd3VwTWVzc2FnZSIsInRva2VuIiwiTW9kYWxTdWJtaXQiLCJFcnJvciIsInJlc3VsdCIsInNlbmRJbnRlcmFjdGlvblJlc3BvbnNlIiwiaWQiLCJkYXRhIiwid2l0aFJlc3BvbnNlIiwiZWRpdCIsIm1lc3NhZ2VJZCIsImVkaXRGb2xsb3d1cE1lc3NhZ2UiLCJNZXNzYWdlQ29tcG9uZW50IiwiVXBkYXRlTWVzc2FnZSIsImVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJkZWZlckVkaXQiLCJEZWZlcnJlZFVwZGF0ZU1lc3NhZ2UiLCJkZWZlciIsIkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlIiwiZGVsZXRlIiwiZGVsZXRlRm9sbG93dXBNZXNzYWdlIiwiZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwidHJhbnNmb3JtSW50ZXJhY3Rpb24iLCJwYXlsb2FkIiwiZXh0cmEiLCJndWlsZElkIiwiZ3VpbGRfaWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJpbnRlcmFjdGlvbiIsIk9iamVjdCIsImNyZWF0ZSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJ2ZXJzaW9uIiwibG9jYWxlIiwiZ3VpbGRMb2NhbGUiLCJndWlsZF9sb2NhbGUiLCJndWlsZCIsInNoYXJkSWQiLCJ1c2VyIiwibWVtYmVyIiwiYXBwUGVybWlzc2lvbnMiLCJhcHBfcGVybWlzc2lvbnMiLCJtZXNzYWdlIiwiY2hhbm5lbCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJ1c2VySWQiLCJlbnRpdGxlbWVudHMiLCJtYXAiLCJlIiwiZW50aXRsZW1lbnQiLCJhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzIiwiYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzIiwiR3VpbGRJbnN0YWxsIiwiVXNlckluc3RhbGwiLCJjb250ZXh0IiwiYXR0YWNobWVudFNpemVMaW1pdCIsImF0dGFjaG1lbnRfc2l6ZV9saW1pdCIsImNvbXBvbmVudFR5cGUiLCJjb21wb25lbnRfdHlwZSIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwiY29tcG9uZW50cyIsImNvbXBvbmVudCIsInZhbHVlcyIsIm5hbWUiLCJyZXNvbHZlZCIsImludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwib3B0IiwiaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyIsInRhcmdldElkIiwidGFyZ2V0X2lkIiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24iLCJvcHRpb24iLCJ2YWx1ZSIsImZvY3VzZWQiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCIsInRyYW5zZm9ybWVkIiwibWVzc2FnZXMiLCJlbnRyaWVzIiwia2V5IiwidXNlcnMiLCJtZW1iZXJzIiwicm9sZXMiLCJyb2xlIiwiY2hhbm5lbHMiLCJhdHRhY2htZW50cyIsImF0dGFjaG1lbnQiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkNhbGxiYWNrIiwicmVzb3VyY2UiLCJpbnRlcmFjdGlvblJlc291cmNlIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayIsImNhbGxiYWNrIiwiYWN0aXZpdHlJbnN0YW5jZUlkIiwiYWN0aXZpdHlfaW5zdGFuY2VfaWQiLCJyZXNwb25zZU1lc3NhZ2VJZCIsInJlc3BvbnNlX21lc3NhZ2VfaWQiLCJyZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwiLCJyZXNwb25zZV9tZXNzYWdlX2VwaGVtZXJhbCIsInJlc3BvbnNlTWVzc2FnZUxvYWRpbmciLCJyZXNwb25zZV9tZXNzYWdlX2xvYWRpbmciLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlIiwiYWN0aXZpdHlJbnN0YW5jZSIsImFjdGl2aXR5X2luc3RhbmNlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUVFQSxpQ0FBaUMsRUFPakNDLHdCQUF3QixFQUN4QkMsZ0JBQWdCLEVBQ2hCQyxZQUFZLFFBQ1Asb0JBQW1CO0FBQzFCLFNBQVNDLFVBQVUsUUFBUSxvQkFBbUI7QUFtQjlDLG9JQUFvSTtBQUNwSSxzR0FBc0c7QUFDdEcsT0FBTyxNQUFNQyxrQkFBNEg7SUFDdkksMkVBQTJFO0lBQzNFLEdBQUlDLFNBQVM7SUFFYixNQUFNQyxTQUFRQyxRQUFRLEVBQUVDLE9BQU87UUFDN0IsSUFBSUMsT0FBT1QseUJBQXlCVSx3QkFBd0I7UUFFNUQsNERBQTREO1FBQzVELElBQUksT0FBT0gsYUFBYSxVQUFVQSxXQUFXO1lBQUVJLFNBQVNKO1FBQVM7UUFFakUsNEZBQTRGO1FBQzVGLElBQUlBLFNBQVNLLEtBQUssRUFBRUgsT0FBT1QseUJBQXlCYSxLQUFLO1FBQ3pELElBQUksSUFBSSxDQUFDSixJQUFJLEtBQUtSLGlCQUFpQmEsOEJBQThCLEVBQUVMLE9BQU9ULHlCQUF5QmUsb0NBQW9DO1FBQ3ZJLElBQUlOLFNBQVNULHlCQUF5QlUsd0JBQXdCLElBQUlGLFNBQVNRLFdBQVc7WUFDcEZULFNBQVNVLEtBQUssS0FBSztZQUNuQlYsU0FBU1UsS0FBSyxJQUFJZixhQUFhZ0IsU0FBUztRQUMxQztRQUVBLHlGQUF5RjtRQUN6RixJQUFJLElBQUksQ0FBQ0MsWUFBWSxFQUFFLE9BQU8sTUFBTSxJQUFJLENBQUNDLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUNDLEtBQUssRUFBRWhCO1FBRXJGLDJCQUEyQjtRQUMzQixJQUFJLElBQUksQ0FBQ0UsSUFBSSxLQUFLUixpQkFBaUJ1QixXQUFXLElBQUlmLFNBQVNULHlCQUF5QmEsS0FBSyxFQUN2RixNQUFNLElBQUlZLE1BQU07UUFFbEIsTUFBTUMsU0FBUyxNQUFNLElBQUksQ0FBQ04sR0FBRyxDQUFDQyxPQUFPLENBQUNNLHVCQUF1QixDQUMzRCxJQUFJLENBQUNDLEVBQUUsRUFDUCxJQUFJLENBQUNMLEtBQUssRUFDVjtZQUFFZDtZQUFNb0IsTUFBTXRCO1FBQVMsR0FDdkI7WUFBRXVCLGNBQWN0QixTQUFTc0I7UUFBYTtRQUV4QyxJQUFJLENBQUNYLFlBQVksR0FBRztRQUNwQixPQUFPTztJQUNUO0lBQ0EsTUFBTUssTUFBS3hCLFFBQVEsRUFBRXlCLFNBQVMsRUFBRXhCLE9BQU87UUFDckMsSUFBSSxJQUFJLENBQUNDLElBQUksS0FBS1IsaUJBQWlCYSw4QkFBOEIsRUFBRSxNQUFNLElBQUlXLE1BQU07UUFFbkYsNERBQTREO1FBQzVELElBQUksT0FBT2xCLGFBQWEsVUFBVUEsV0FBVztZQUFFSSxTQUFTSjtRQUFTO1FBRWpFLElBQUl5QixXQUFXO1lBQ2IsT0FBTyxNQUFNLElBQUksQ0FBQ1osR0FBRyxFQUFFQyxRQUFRWSxvQkFBb0IsSUFBSSxDQUFDVixLQUFLLEVBQUVTLFdBQVd6QjtRQUM1RTtRQUVBLElBQUksQ0FBQyxJQUFJLENBQUNZLFlBQVksRUFBRTtZQUN0QixJQUFJLElBQUksQ0FBQ1YsSUFBSSxLQUFLUixpQkFBaUJpQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUN6QixJQUFJLEtBQUtSLGlCQUFpQnVCLFdBQVcsRUFDL0YsTUFBTSxJQUFJQyxNQUFNO1lBRWxCLE1BQU1DLFNBQVMsTUFBTSxJQUFJLENBQUNOLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDTSx1QkFBdUIsQ0FDM0QsSUFBSSxDQUFDQyxFQUFFLEVBQ1AsSUFBSSxDQUFDTCxLQUFLLEVBQ1Y7Z0JBQUVkLE1BQU1ULHlCQUF5Qm1DLGFBQWE7Z0JBQUVOLE1BQU10QjtZQUFTLEdBQy9EQztZQUVGLElBQUksQ0FBQ1csWUFBWSxHQUFHO1lBQ3BCLE9BQU9PO1FBQ1Q7UUFFQSxPQUFPLE1BQU0sSUFBSSxDQUFDTixHQUFHLENBQUNDLE9BQU8sQ0FBQ2UsK0JBQStCLENBQUMsSUFBSSxDQUFDYixLQUFLLEVBQUVoQjtJQUM1RTtJQUNBLE1BQU04QixXQUFVN0IsT0FBTztRQUNyQixJQUFJLElBQUksQ0FBQ0MsSUFBSSxLQUFLUixpQkFBaUJhLDhCQUE4QixFQUFFLE1BQU0sSUFBSVcsTUFBTTtRQUNuRixJQUFJLElBQUksQ0FBQ04sWUFBWSxFQUFFLE1BQU0sSUFBSU0sTUFBTTtRQUV2QyxJQUFJLElBQUksQ0FBQ2hCLElBQUksS0FBS1IsaUJBQWlCaUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDekIsSUFBSSxLQUFLUixpQkFBaUJ1QixXQUFXLEVBQy9GLE1BQU0sSUFBSUMsTUFBTTtRQUVsQixNQUFNQyxTQUFTLE1BQU0sSUFBSSxDQUFDTixHQUFHLENBQUNDLE9BQU8sQ0FBQ00sdUJBQXVCLENBQzNELElBQUksQ0FBQ0MsRUFBRSxFQUNQLElBQUksQ0FBQ0wsS0FBSyxFQUNWO1lBQUVkLE1BQU1ULHlCQUF5QnNDLHFCQUFxQjtRQUFDLEdBQ3ZEOUI7UUFFRixJQUFJLENBQUNXLFlBQVksR0FBRztRQUNwQixPQUFPTztJQUNUO0lBQ0EsTUFBTWEsT0FBTXZCLFNBQVMsRUFBRVIsT0FBTztRQUM1QixJQUFJLElBQUksQ0FBQ1csWUFBWSxFQUFFLE1BQU0sSUFBSU0sTUFBTTtRQUV2QyxNQUFNQyxTQUFTLE1BQU0sSUFBSSxDQUFDTixHQUFHLENBQUNDLE9BQU8sQ0FBQ00sdUJBQXVCLENBQzNELElBQUksQ0FBQ0MsRUFBRSxFQUNQLElBQUksQ0FBQ0wsS0FBSyxFQUNWO1lBQ0VkLE1BQU1ULHlCQUF5QndDLGdDQUFnQztZQUMvRFgsTUFBTTtnQkFDSlosT0FBT0QsWUFBWWQsYUFBYWdCLFNBQVMsR0FBR2I7WUFDOUM7UUFDRixHQUNBRztRQUVGLElBQUksQ0FBQ1csWUFBWSxHQUFHO1FBQ3BCLE9BQU9PO0lBQ1Q7SUFDQSxNQUFNZSxRQUFPVCxTQUFTO1FBQ3BCLElBQUksSUFBSSxDQUFDdkIsSUFBSSxLQUFLUixpQkFBaUJhLDhCQUE4QixFQUFFLE1BQU0sSUFBSVcsTUFBTTtRQUVuRixJQUFJTyxXQUFXLE9BQU8sTUFBTSxJQUFJLENBQUNaLEdBQUcsRUFBRUMsUUFBUXFCLHNCQUFzQixJQUFJLENBQUNuQixLQUFLLEVBQUVTO2FBQzNFLE9BQU8sTUFBTSxJQUFJLENBQUNaLEdBQUcsRUFBRUMsUUFBUXNCLGtDQUFrQyxJQUFJLENBQUNwQixLQUFLO0lBQ2xGO0FBQ0YsRUFBQztBQUVELE9BQU8sU0FBU3FCLHFCQUFxQnhCLEdBQVEsRUFBRXlCLE9BQTJCLEVBQUVDLEtBQTRCO0lBQ3RHLE1BQU1DLFVBQVVGLFFBQVFHLFFBQVEsR0FBRzVCLElBQUk2QixZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUUcsUUFBUSxJQUFJM0M7SUFFbEYsTUFBTThDLGNBQXdHQyxPQUFPQyxNQUFNLENBQUNqRDtJQUM1SCxNQUFNa0QsUUFBUWxDLElBQUk2QixZQUFZLENBQUNNLGlCQUFpQixDQUFDSixXQUFXO0lBRTVEQSxZQUFZL0IsR0FBRyxHQUFHQTtJQUNsQitCLFlBQVloQyxZQUFZLEdBQUc7SUFFM0IsSUFBSW1DLE1BQU0xQixFQUFFLElBQUlpQixRQUFRakIsRUFBRSxFQUFFdUIsWUFBWXZCLEVBQUUsR0FBR1IsSUFBSTZCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRakIsRUFBRTtJQUNsRixJQUFJMEIsTUFBTUUsYUFBYSxJQUFJWCxRQUFRWSxjQUFjLEVBQUVOLFlBQVlLLGFBQWEsR0FBR3BDLElBQUk2QixZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUVksY0FBYztJQUNoSSxJQUFJSCxNQUFNN0MsSUFBSSxJQUFJb0MsUUFBUXBDLElBQUksRUFBRTBDLFlBQVkxQyxJQUFJLEdBQUdvQyxRQUFRcEMsSUFBSTtJQUMvRCxJQUFJNkMsTUFBTS9CLEtBQUssSUFBSXNCLFFBQVF0QixLQUFLLEVBQUU0QixZQUFZNUIsS0FBSyxHQUFHc0IsUUFBUXRCLEtBQUs7SUFDbkUsSUFBSStCLE1BQU1JLE9BQU8sSUFBSWIsUUFBUWEsT0FBTyxFQUFFUCxZQUFZTyxPQUFPLEdBQUdiLFFBQVFhLE9BQU87SUFDM0UsSUFBSUosTUFBTUssTUFBTSxJQUFJZCxRQUFRYyxNQUFNLEVBQUVSLFlBQVlRLE1BQU0sR0FBR2QsUUFBUWMsTUFBTTtJQUN2RSxJQUFJTCxNQUFNTSxXQUFXLElBQUlmLFFBQVFnQixZQUFZLEVBQUVWLFlBQVlTLFdBQVcsR0FBR2YsUUFBUWdCLFlBQVk7SUFDN0YsSUFBSVAsTUFBTVEsS0FBSyxJQUFJakIsUUFBUWlCLEtBQUssRUFDOUIsNERBQTREO0lBQzVEWCxZQUFZVyxLQUFLLEdBQUcxQyxJQUFJNkIsWUFBWSxDQUFDYSxLQUFLLENBQUMxQyxLQUFLeUIsUUFBUWlCLEtBQUssRUFBRTtRQUFFQyxTQUFTakIsT0FBT2lCO0lBQVE7SUFDM0YsSUFBSVQsTUFBTVAsT0FBTyxJQUFJQSxTQUFTSSxZQUFZSixPQUFPLEdBQUdBO0lBQ3BELElBQUlPLE1BQU1VLElBQUksRUFBRTtRQUNkLElBQUluQixRQUFRb0IsTUFBTSxFQUFFRCxNQUFNYixZQUFZYSxJQUFJLEdBQUc1QyxJQUFJNkIsWUFBWSxDQUFDZSxJQUFJLENBQUM1QyxLQUFLeUIsUUFBUW9CLE1BQU0sRUFBRUQ7YUFDbkYsSUFBSW5CLFFBQVFtQixJQUFJLEVBQUViLFlBQVlhLElBQUksR0FBRzVDLElBQUk2QixZQUFZLENBQUNlLElBQUksQ0FBQzVDLEtBQUt5QixRQUFRbUIsSUFBSTtJQUNuRjtJQUNBLElBQUlWLE1BQU1ZLGNBQWMsSUFBSXJCLFFBQVFzQixlQUFlLEVBQUVoQixZQUFZZSxjQUFjLEdBQUc5QyxJQUFJNkIsWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFzQixlQUFlO0lBQ3BJLElBQUliLE1BQU1jLE9BQU8sSUFBSXZCLFFBQVF1QixPQUFPLEVBQUVqQixZQUFZaUIsT0FBTyxHQUFHaEQsSUFBSTZCLFlBQVksQ0FBQ21CLE9BQU8sQ0FBQ2hELEtBQUt5QixRQUFRdUIsT0FBTyxFQUFFO1FBQUVMLFNBQVNqQixPQUFPaUI7SUFBUTtJQUNySSxJQUFJVCxNQUFNZSxPQUFPLElBQUl4QixRQUFRd0IsT0FBTyxFQUNsQyxrREFBa0Q7SUFDbERsQixZQUFZa0IsT0FBTyxHQUFHakQsSUFBSTZCLFlBQVksQ0FBQ29CLE9BQU8sQ0FBQ2pELEtBQUt5QixRQUFRd0IsT0FBTyxFQUFFO1FBQUV0QjtJQUFRO0lBQ2pGLElBQUlPLE1BQU1nQixTQUFTLElBQUl6QixRQUFRMEIsVUFBVSxFQUFFcEIsWUFBWW1CLFNBQVMsR0FBR2xELElBQUk2QixZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUTBCLFVBQVU7SUFDaEgsSUFBSWpCLE1BQU1XLE1BQU0sSUFBSWxCLFdBQVdGLFFBQVFvQixNQUFNLEVBQzNDZCxZQUFZYyxNQUFNLEdBQUc3QyxJQUFJNkIsWUFBWSxDQUFDZ0IsTUFBTSxDQUFDN0MsS0FBS3lCLFFBQVFvQixNQUFNLEVBQUU7UUFDaEVsQjtRQUNBeUIsUUFBUTNCLFFBQVFvQixNQUFNLEVBQUVELEtBQUtwQyxNQUFNaUIsUUFBUW1CLElBQUksRUFBRXBDO0lBQ25EO0lBQ0YsSUFBSTBCLE1BQU1tQixZQUFZLElBQUk1QixRQUFRNEIsWUFBWSxFQUFFdEIsWUFBWXNCLFlBQVksR0FBRzVCLFFBQVE0QixZQUFZLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxJQUFNdkQsSUFBSTZCLFlBQVksQ0FBQzJCLFdBQVcsQ0FBQ3hELEtBQUt1RDtJQUM3SSxJQUFJckIsTUFBTXVCLDRCQUE0QixJQUFJaEMsUUFBUWlDLDhCQUE4QixFQUFFO1FBQ2hGM0IsWUFBWTBCLDRCQUE0QixHQUFHLENBQUM7UUFFNUMsSUFBSWhDLFFBQVFpQyw4QkFBOEIsQ0FBQyxJQUFJLEVBQzdDM0IsWUFBWTBCLDRCQUE0QixDQUFDOUUsa0NBQWtDZ0YsWUFBWSxDQUFDLEdBQUczRCxJQUFJNkIsWUFBWSxDQUFDQyxTQUFTLENBQ25ITCxRQUFRaUMsOEJBQThCLENBQUMsSUFBSTtRQUUvQyxJQUFJakMsUUFBUWlDLDhCQUE4QixDQUFDLElBQUksRUFDN0MzQixZQUFZMEIsNEJBQTRCLENBQUM5RSxrQ0FBa0NpRixXQUFXLENBQUMsR0FBRzVELElBQUk2QixZQUFZLENBQUNDLFNBQVMsQ0FDbEhMLFFBQVFpQyw4QkFBOEIsQ0FBQyxJQUFJO0lBRWpEO0lBQ0EsSUFBSXhCLE1BQU0yQixPQUFPLElBQUlwQyxRQUFRb0MsT0FBTyxFQUFFOUIsWUFBWThCLE9BQU8sR0FBR3BDLFFBQVFvQyxPQUFPO0lBQzNFLElBQUkzQixNQUFNNEIsbUJBQW1CLElBQUlyQyxRQUFRc0MscUJBQXFCLEVBQUVoQyxZQUFZK0IsbUJBQW1CLEdBQUdyQyxRQUFRc0MscUJBQXFCO0lBQy9ILElBQUk3QixNQUFNekIsSUFBSSxJQUFJZ0IsUUFBUWhCLElBQUksRUFBRTtRQUM5QnNCLFlBQVl0QixJQUFJLEdBQUc7WUFDakJwQixNQUFNb0MsUUFBUWhCLElBQUksQ0FBQ3BCLElBQUk7WUFDdkIyRSxlQUFldkMsUUFBUWhCLElBQUksQ0FBQ3dELGNBQWM7WUFDMUNDLFVBQVV6QyxRQUFRaEIsSUFBSSxDQUFDMEQsU0FBUztZQUNoQ0MsWUFBWTNDLFFBQVFoQixJQUFJLENBQUMyRCxVQUFVLEVBQUVkLElBQUksQ0FBQ2UsWUFBY3JFLElBQUk2QixZQUFZLENBQUN3QyxTQUFTLENBQUNyRSxLQUFLcUU7WUFDeEZDLFFBQVE3QyxRQUFRaEIsSUFBSSxDQUFDNkQsTUFBTTtZQUMzQjlELElBQUlpQixRQUFRaEIsSUFBSSxDQUFDRCxFQUFFLEdBQUdSLElBQUk2QixZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUWhCLElBQUksQ0FBQ0QsRUFBRSxJQUFJdkI7WUFDcEVzRixNQUFNOUMsUUFBUWhCLElBQUksQ0FBQzhELElBQUk7WUFDdkJDLFVBQVUvQyxRQUFRaEIsSUFBSSxDQUFDK0QsUUFBUSxHQUMzQnhFLElBQUk2QixZQUFZLENBQUM0Qyx1QkFBdUIsQ0FBQ3pFLEtBQUt5QixRQUFRaEIsSUFBSSxDQUFDK0QsUUFBUSxFQUFFO2dCQUFFN0IsU0FBU2pCLE9BQU9pQjtnQkFBU2hCO1lBQVEsS0FDeEcxQztZQUNKRyxTQUFTcUMsUUFBUWhCLElBQUksQ0FBQ3JCLE9BQU8sRUFBRWtFLElBQUksQ0FBQ29CLE1BQVExRSxJQUFJNkIsWUFBWSxDQUFDOEMsc0JBQXNCLENBQUMzRSxLQUFLMEU7WUFDekZFLFVBQVVuRCxRQUFRaEIsSUFBSSxDQUFDb0UsU0FBUyxHQUFHN0UsSUFBSTZCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRaEIsSUFBSSxDQUFDb0UsU0FBUyxJQUFJNUY7UUFDMUY7SUFDRjtJQUVBLGdJQUFnSTtJQUNoSSxPQUFPZSxJQUFJNkIsWUFBWSxDQUFDaUQsV0FBVyxDQUFDL0MsV0FBVyxDQUFDL0IsS0FBS3lCLFNBQVNNLGFBQThFTDtBQUM5STtBQUVBLE9BQU8sU0FBU3FELCtCQUErQi9FLEdBQVEsRUFBRWdGLE1BQW9DO0lBQzNGLE1BQU1OLE1BQU07UUFDVkgsTUFBTVMsT0FBT1QsSUFBSTtRQUNqQmxGLE1BQU0yRixPQUFPM0YsSUFBSTtRQUNqQjRGLE9BQU9ELE9BQU9DLEtBQUs7UUFDbkI3RixTQUFTNEYsT0FBTzVGLE9BQU87UUFDdkI4RixTQUFTRixPQUFPRSxPQUFPO0lBQ3pCO0lBRUEsT0FBT2xGLElBQUk2QixZQUFZLENBQUNpRCxXQUFXLENBQUNILHNCQUFzQixDQUFDM0UsS0FBS2dGLFFBQVFOO0FBQzFFO0FBRUEsT0FBTyxTQUFTUyxpQ0FDZG5GLEdBQVEsRUFDUnlCLE9BQXVDLEVBQ3ZDQyxLQUFpRDtJQUVqRCxNQUFNMEQsY0FBOEgsQ0FBQztJQUVySSxJQUFJM0QsUUFBUTRELFFBQVEsRUFBRTtRQUNwQkQsWUFBWUMsUUFBUSxHQUFHLElBQUl0RyxXQUN6QmlELE9BQU9zRCxPQUFPLENBQUM3RCxRQUFRNEQsUUFBUSxFQUFFL0IsR0FBRyxDQUFDLENBQUMsQ0FBQ2lDLEtBQUtOLE1BQU07WUFDaEQsNENBQTRDO1lBQzVDLE1BQU1qQyxVQUFVaEQsSUFBSTZCLFlBQVksQ0FBQ21CLE9BQU8sQ0FBQ2hELEtBQUtpRixPQUFPO2dCQUFFdEMsU0FBU2pCLE9BQU9pQjtZQUFRO1lBQy9FLE1BQU1uQyxLQUFLUixJQUFJNkIsWUFBWSxDQUFDQyxTQUFTLENBQUN5RDtZQUV0QyxPQUFPO2dCQUFDL0U7Z0JBQUl3QzthQUFRO1FBQ3RCO0lBRUo7SUFFQSxJQUFJdkIsUUFBUStELEtBQUssRUFBRTtRQUNqQkosWUFBWUksS0FBSyxHQUFHLElBQUl6RyxXQUN0QmlELE9BQU9zRCxPQUFPLENBQUM3RCxRQUFRK0QsS0FBSyxFQUFFbEMsR0FBRyxDQUFDLENBQUMsQ0FBQ2lDLEtBQUtOLE1BQU07WUFDN0MsTUFBTXJDLE9BQU81QyxJQUFJNkIsWUFBWSxDQUFDZSxJQUFJLENBQUM1QyxLQUFLaUY7WUFDeEMsTUFBTXpFLEtBQUtSLElBQUk2QixZQUFZLENBQUNDLFNBQVMsQ0FBQ3lEO1lBRXRDLE9BQU87Z0JBQUMvRTtnQkFBSW9DO2FBQUs7UUFDbkI7SUFFSjtJQUVBLElBQUlsQixPQUFPQyxXQUFXRixRQUFRZ0UsT0FBTyxFQUFFO1FBQ3JDTCxZQUFZSyxPQUFPLEdBQUcsSUFBSTFHLFdBQ3hCaUQsT0FBT3NELE9BQU8sQ0FBQzdELFFBQVFnRSxPQUFPLEVBQUVuQyxHQUFHLENBQUMsQ0FBQyxDQUFDaUMsS0FBS04sTUFBTTtZQUMvQyxzSUFBc0k7WUFDdEksTUFBTXBDLFNBQVM3QyxJQUFJNkIsWUFBWSxDQUFDZ0IsTUFBTSxDQUFDN0MsS0FBS2lGLE9BQU87Z0JBQ2pEdEQsU0FBU0QsTUFBTUMsT0FBTztnQkFDdEJ5QixRQUFRcEQsSUFBSTZCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDeUQ7WUFDckM7WUFDQSxNQUFNL0UsS0FBS1IsSUFBSTZCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDeUQ7WUFFdEMsT0FBTztnQkFBQy9FO2dCQUFJcUM7YUFBTztRQUNyQjtJQUVKO0lBRUEsSUFBSW5CLE9BQU9DLFdBQVdGLFFBQVFpRSxLQUFLLEVBQUU7UUFDbkNOLFlBQVlNLEtBQUssR0FBRyxJQUFJM0csV0FDdEJpRCxPQUFPc0QsT0FBTyxDQUFDN0QsUUFBUWlFLEtBQUssRUFBRXBDLEdBQUcsQ0FBQyxDQUFDLENBQUNpQyxLQUFLTixNQUFNO1lBQzdDLE1BQU1VLE9BQU8zRixJQUFJNkIsWUFBWSxDQUFDOEQsSUFBSSxDQUFDM0YsS0FBS2lGLE9BQU87Z0JBQUV0RCxTQUFTRCxNQUFNQyxPQUFPO1lBQUM7WUFDeEUsTUFBTW5CLEtBQUtSLElBQUk2QixZQUFZLENBQUNDLFNBQVMsQ0FBQ3lEO1lBRXRDLE9BQU87Z0JBQUMvRTtnQkFBSW1GO2FBQUs7UUFDbkI7SUFFSjtJQUVBLElBQUlsRSxRQUFRbUUsUUFBUSxFQUFFO1FBQ3BCUixZQUFZUSxRQUFRLEdBQUcsSUFBSTdHLFdBQ3pCaUQsT0FBT3NELE9BQU8sQ0FBQzdELFFBQVFtRSxRQUFRLEVBQUV0QyxHQUFHLENBQUMsQ0FBQyxDQUFDaUMsS0FBS04sTUFBTTtZQUNoRCxNQUFNaEMsVUFBVWpELElBQUk2QixZQUFZLENBQUNvQixPQUFPLENBQUNqRCxLQUFLaUY7WUFJOUMsTUFBTXpFLEtBQUtSLElBQUk2QixZQUFZLENBQUNDLFNBQVMsQ0FBQ3lEO1lBRXRDLE9BQU87Z0JBQUMvRTtnQkFBSXlDO2FBQVE7UUFDdEI7SUFFSjtJQUVBLElBQUl4QixRQUFRb0UsV0FBVyxFQUFFO1FBQ3ZCVCxZQUFZUyxXQUFXLEdBQUcsSUFBSTlHLFdBQzVCaUQsT0FBT3NELE9BQU8sQ0FBQzdELFFBQVFvRSxXQUFXLEVBQUV2QyxHQUFHLENBQUMsQ0FBQyxDQUFDaUMsS0FBS04sTUFBTTtZQUNuRCxNQUFNekUsS0FBS1IsSUFBSTZCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDeUQ7WUFDdEMsTUFBTU8sYUFBYTlGLElBQUk2QixZQUFZLENBQUNpRSxVQUFVLENBQUM5RixLQUFLaUY7WUFFcEQsT0FBTztnQkFBQ3pFO2dCQUFJc0Y7YUFBVztRQUN6QjtJQUVKO0lBRUEsT0FBTzlGLElBQUk2QixZQUFZLENBQUNpRCxXQUFXLENBQUNMLHVCQUF1QixDQUFDekUsS0FBS3lCLFNBQVMyRCxhQUFhO1FBQ3JGekMsU0FBU2pCLE9BQU9pQjtRQUNoQmhCLFNBQVNELE9BQU9DLFVBQVUzQixJQUFJNkIsWUFBWSxDQUFDQyxTQUFTLENBQUNKLE1BQU1DLE9BQU8sSUFBSTFDO0lBQ3hFO0FBQ0Y7QUFFQSxPQUFPLFNBQVM4RyxxQ0FDZC9GLEdBQVEsRUFDUnlCLE9BQTJDLEVBQzNDQyxLQUE0QjtJQUU1QixNQUFNUSxRQUFRbEMsSUFBSTZCLFlBQVksQ0FBQ00saUJBQWlCLENBQUM2RCwyQkFBMkI7SUFDNUUsTUFBTTdHLFdBQVcsQ0FBQztJQUVsQixJQUFJK0MsTUFBTUgsV0FBVyxJQUFJTixRQUFRTSxXQUFXLEVBQUU1QyxTQUFTNEMsV0FBVyxHQUFHL0IsSUFBSTZCLFlBQVksQ0FBQ29FLG1CQUFtQixDQUFDakcsS0FBS3lCLFFBQVFNLFdBQVc7SUFDbEksSUFBSUcsTUFBTWdFLFFBQVEsSUFBSXpFLFFBQVF5RSxRQUFRLEVBQUUvRyxTQUFTK0csUUFBUSxHQUFHbEcsSUFBSTZCLFlBQVksQ0FBQ3NFLG1CQUFtQixDQUFDbkcsS0FBS3lCLFFBQVF5RSxRQUFRLEVBQUU7UUFBRXZELFNBQVNqQixPQUFPaUI7SUFBUTtJQUVsSixPQUFPM0MsSUFBSTZCLFlBQVksQ0FBQ2lELFdBQVcsQ0FBQ2tCLDJCQUEyQixDQUFDaEcsS0FBS3lCLFNBQVN0QyxVQUFVdUM7QUFDMUY7QUFFQSxPQUFPLFNBQVMwRSw2QkFBNkJwRyxHQUFRLEVBQUV5QixPQUFtQztJQUN4RixNQUFNUyxRQUFRbEMsSUFBSTZCLFlBQVksQ0FBQ00saUJBQWlCLENBQUM4RCxtQkFBbUI7SUFDcEUsTUFBTUksV0FBVyxDQUFDO0lBRWxCLElBQUluRSxNQUFNMUIsRUFBRSxJQUFJaUIsUUFBUWpCLEVBQUUsRUFBRTZGLFNBQVM3RixFQUFFLEdBQUdSLElBQUk2QixZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUWpCLEVBQUU7SUFDL0UsSUFBSTBCLE1BQU03QyxJQUFJLElBQUlvQyxRQUFRcEMsSUFBSSxFQUFFZ0gsU0FBU2hILElBQUksR0FBR29DLFFBQVFwQyxJQUFJO0lBQzVELElBQUk2QyxNQUFNb0Usa0JBQWtCLElBQUk3RSxRQUFROEUsb0JBQW9CLEVBQUVGLFNBQVNDLGtCQUFrQixHQUFHN0UsUUFBUThFLG9CQUFvQjtJQUN4SCxJQUFJckUsTUFBTXNFLGlCQUFpQixJQUFJL0UsUUFBUWdGLG1CQUFtQixFQUFFSixTQUFTRyxpQkFBaUIsR0FBR3hHLElBQUk2QixZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUWdGLG1CQUFtQjtJQUMvSSxJQUFJdkUsTUFBTXdFLHdCQUF3QixJQUFJakYsUUFBUWtGLDBCQUEwQixFQUFFTixTQUFTSyx3QkFBd0IsR0FBR2pGLFFBQVFrRiwwQkFBMEI7SUFDaEosSUFBSXpFLE1BQU0wRSxzQkFBc0IsSUFBSW5GLFFBQVFvRix3QkFBd0IsRUFBRVIsU0FBU08sc0JBQXNCLEdBQUduRixRQUFRb0Ysd0JBQXdCO0lBRXhJLE9BQU83RyxJQUFJNkIsWUFBWSxDQUFDaUQsV0FBVyxDQUFDbUIsbUJBQW1CLENBQUNqRyxLQUFLeUIsU0FBUzRFO0FBQ3hFO0FBRUEsT0FBTyxTQUFTUyw2QkFBNkI5RyxHQUFRLEVBQUV5QixPQUFtQyxFQUFFQyxLQUE0QjtJQUN0SCxNQUFNUSxRQUFRbEMsSUFBSTZCLFlBQVksQ0FBQ00saUJBQWlCLENBQUNnRSxtQkFBbUI7SUFDcEUsTUFBTUQsV0FBVyxDQUFDO0lBRWxCLElBQUloRSxNQUFNN0MsSUFBSSxJQUFJb0MsUUFBUXBDLElBQUksRUFBRTZHLFNBQVM3RyxJQUFJLEdBQUdvQyxRQUFRcEMsSUFBSTtJQUM1RCxJQUFJNkMsTUFBTTZFLGdCQUFnQixJQUFJdEYsUUFBUXVGLGlCQUFpQixFQUFFZCxTQUFTYSxnQkFBZ0IsR0FBR3RGLFFBQVF1RixpQkFBaUI7SUFDOUcsSUFBSTlFLE1BQU1jLE9BQU8sSUFBSXZCLFFBQVF1QixPQUFPLEVBQUVrRCxTQUFTbEQsT0FBTyxHQUFHaEQsSUFBSTZCLFlBQVksQ0FBQ21CLE9BQU8sQ0FBQ2hELEtBQUt5QixRQUFRdUIsT0FBTyxFQUFFO1FBQUVMLFNBQVNqQixPQUFPaUI7SUFBUTtJQUVsSSxPQUFPM0MsSUFBSTZCLFlBQVksQ0FBQ2lELFdBQVcsQ0FBQ3FCLG1CQUFtQixDQUFDbkcsS0FBS3lCLFNBQVN5RSxVQUFVeEU7QUFDbEYifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"auditLogEntry.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/auditLogEntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,wBAAgB,4CAA4C,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,oBAAoB,CA2BnH"}
1
+ {"version":3,"file":"auditLogEntry.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/auditLogEntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAE7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,wBAAgB,4CAA4C,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,oBAAoB,CA2BnH"}
@@ -1,7 +1,8 @@
1
+ import { snakelize } from '@discordeno/utils';
1
2
  export function transformAuditLogEntryToDiscordAuditLogEntry(bot, payload) {
2
3
  return {
3
4
  id: bot.transformers.reverse.snowflake(payload.id),
4
- changes: payload.changes,
5
+ changes: snakelize(payload.changes),
5
6
  user_id: payload.userId ? bot.transformers.reverse.snowflake(payload.userId) : null,
6
7
  target_id: payload.targetId ? bot.transformers.reverse.snowflake(payload.targetId) : null,
7
8
  action_type: payload.actionType,
@@ -24,4 +25,4 @@ export function transformAuditLogEntryToDiscordAuditLogEntry(bot, payload) {
24
25
  };
25
26
  }
26
27
 
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hdWRpdExvZ0VudHJ5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzY29yZEF1ZGl0TG9nRW50cnkgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vLi4vYm90LmpzJ1xuaW1wb3J0IHR5cGUgeyBBdWRpdExvZ0VudHJ5IH0gZnJvbSAnLi4vdHlwZXMuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1BdWRpdExvZ0VudHJ5VG9EaXNjb3JkQXVkaXRMb2dFbnRyeShib3Q6IEJvdCwgcGF5bG9hZDogQXVkaXRMb2dFbnRyeSk6IERpc2NvcmRBdWRpdExvZ0VudHJ5IHtcbiAgcmV0dXJuIHtcbiAgICBpZDogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLmlkKSxcbiAgICBjaGFuZ2VzOiBwYXlsb2FkLmNoYW5nZXMsXG4gICAgdXNlcl9pZDogcGF5bG9hZC51c2VySWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQudXNlcklkKSA6IG51bGwsXG4gICAgdGFyZ2V0X2lkOiBwYXlsb2FkLnRhcmdldElkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLnRhcmdldElkKSA6IG51bGwsXG4gICAgYWN0aW9uX3R5cGU6IHBheWxvYWQuYWN0aW9uVHlwZSxcblxuICAgIG9wdGlvbnM6IHBheWxvYWQub3B0aW9uc1xuICAgICAgPyB7XG4gICAgICAgICAgLy8gcmVzcGVjdCB0cmFuc2Zvcm1lciBhcyByZWZlcmVuY2UgdGhhbiB0eXBlXG4gICAgICAgICAgYXBwbGljYXRpb25faWQ6IHBheWxvYWQub3B0aW9ucy5hcHBsaWNhdGlvbklkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLm9wdGlvbnMuYXBwbGljYXRpb25JZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgYXV0b19tb2RlcmF0aW9uX3J1bGVfbmFtZTogcGF5bG9hZC5vcHRpb25zLmF1dG9Nb2RlcmF0aW9uUnVsZU5hbWUsXG4gICAgICAgICAgYXV0b19tb2RlcmF0aW9uX3J1bGVfdHJpZ2dlcl90eXBlOiBwYXlsb2FkLm9wdGlvbnMuYXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlclR5cGUsXG4gICAgICAgICAgY2hhbm5lbF9pZDogcGF5bG9hZC5vcHRpb25zLmNoYW5uZWxJZCA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UocGF5bG9hZC5vcHRpb25zLmNoYW5uZWxJZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgY291bnQ6IHBheWxvYWQub3B0aW9ucy5jb3VudCAhPT0gdW5kZWZpbmVkID8gcGF5bG9hZC5vcHRpb25zLmNvdW50LnRvU3RyaW5nKCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgZGVsZXRlX21lbWJlcl9kYXlzOiBwYXlsb2FkLm9wdGlvbnMuZGVsZXRlTWVtYmVyRGF5cyAhPT0gdW5kZWZpbmVkID8gcGF5bG9hZC5vcHRpb25zLmRlbGV0ZU1lbWJlckRheXMudG9TdHJpbmcoKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBpZDogcGF5bG9hZC5vcHRpb25zLmlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLm9wdGlvbnMuaWQpIDogdW5kZWZpbmVkLFxuICAgICAgICAgIG1lbWJlcnNfcmVtb3ZlZDogcGF5bG9hZC5vcHRpb25zLm1lbWJlcnNSZW1vdmVkICE9PSB1bmRlZmluZWQgPyBwYXlsb2FkLm9wdGlvbnMubWVtYmVyc1JlbW92ZWQudG9TdHJpbmcoKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBtZXNzYWdlX2lkOiBwYXlsb2FkLm9wdGlvbnMubWVzc2FnZUlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLm9wdGlvbnMubWVzc2FnZUlkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICByb2xlX25hbWU6IHBheWxvYWQub3B0aW9ucy5yb2xlTmFtZSxcbiAgICAgICAgICB0eXBlOiBwYXlsb2FkLm9wdGlvbnMudHlwZSAhPT0gdW5kZWZpbmVkID8gcGF5bG9hZC5vcHRpb25zLnR5cGUudG9TdHJpbmcoKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBpbnRlZ3JhdGlvbl90eXBlOiBwYXlsb2FkLm9wdGlvbnMuaW50ZWdyYXRpb25UeXBlLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICByZWFzb246IHBheWxvYWQucmVhc29uLFxuICB9XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtQXVkaXRMb2dFbnRyeVRvRGlzY29yZEF1ZGl0TG9nRW50cnkiLCJib3QiLCJwYXlsb2FkIiwiaWQiLCJ0cmFuc2Zvcm1lcnMiLCJyZXZlcnNlIiwic25vd2ZsYWtlIiwiY2hhbmdlcyIsInVzZXJfaWQiLCJ1c2VySWQiLCJ0YXJnZXRfaWQiLCJ0YXJnZXRJZCIsImFjdGlvbl90eXBlIiwiYWN0aW9uVHlwZSIsIm9wdGlvbnMiLCJhcHBsaWNhdGlvbl9pZCIsImFwcGxpY2F0aW9uSWQiLCJ1bmRlZmluZWQiLCJhdXRvX21vZGVyYXRpb25fcnVsZV9uYW1lIiwiYXV0b01vZGVyYXRpb25SdWxlTmFtZSIsImF1dG9fbW9kZXJhdGlvbl9ydWxlX3RyaWdnZXJfdHlwZSIsImF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJUeXBlIiwiY2hhbm5lbF9pZCIsImNoYW5uZWxJZCIsImNvdW50IiwidG9TdHJpbmciLCJkZWxldGVfbWVtYmVyX2RheXMiLCJkZWxldGVNZW1iZXJEYXlzIiwibWVtYmVyc19yZW1vdmVkIiwibWVtYmVyc1JlbW92ZWQiLCJtZXNzYWdlX2lkIiwibWVzc2FnZUlkIiwicm9sZV9uYW1lIiwicm9sZU5hbWUiLCJ0eXBlIiwiaW50ZWdyYXRpb25fdHlwZSIsImludGVncmF0aW9uVHlwZSIsInJlYXNvbiJdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxTQUFTQSw2Q0FBNkNDLEdBQVEsRUFBRUMsT0FBc0I7SUFDM0YsT0FBTztRQUNMQyxJQUFJRixJQUFJRyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDSixRQUFRQyxFQUFFO1FBQ2pESSxTQUFTTCxRQUFRSyxPQUFPO1FBQ3hCQyxTQUFTTixRQUFRTyxNQUFNLEdBQUdSLElBQUlHLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxTQUFTLENBQUNKLFFBQVFPLE1BQU0sSUFBSTtRQUMvRUMsV0FBV1IsUUFBUVMsUUFBUSxHQUFHVixJQUFJRyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDSixRQUFRUyxRQUFRLElBQUk7UUFDckZDLGFBQWFWLFFBQVFXLFVBQVU7UUFFL0JDLFNBQVNaLFFBQVFZLE9BQU8sR0FDcEI7WUFDRSw2Q0FBNkM7WUFDN0NDLGdCQUFnQmIsUUFBUVksT0FBTyxDQUFDRSxhQUFhLEdBQUdmLElBQUlHLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxTQUFTLENBQUNKLFFBQVFZLE9BQU8sQ0FBQ0UsYUFBYSxJQUFJQztZQUNwSEMsMkJBQTJCaEIsUUFBUVksT0FBTyxDQUFDSyxzQkFBc0I7WUFDakVDLG1DQUFtQ2xCLFFBQVFZLE9BQU8sQ0FBQ08sNkJBQTZCO1lBQ2hGQyxZQUFZcEIsUUFBUVksT0FBTyxDQUFDUyxTQUFTLEdBQUd0QixJQUFJRyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDSixRQUFRWSxPQUFPLENBQUNTLFNBQVMsSUFBSU47WUFDeEdPLE9BQU90QixRQUFRWSxPQUFPLENBQUNVLEtBQUssS0FBS1AsWUFBWWYsUUFBUVksT0FBTyxDQUFDVSxLQUFLLENBQUNDLFFBQVEsS0FBS1I7WUFDaEZTLG9CQUFvQnhCLFFBQVFZLE9BQU8sQ0FBQ2EsZ0JBQWdCLEtBQUtWLFlBQVlmLFFBQVFZLE9BQU8sQ0FBQ2EsZ0JBQWdCLENBQUNGLFFBQVEsS0FBS1I7WUFDbkhkLElBQUlELFFBQVFZLE9BQU8sQ0FBQ1gsRUFBRSxHQUFHRixJQUFJRyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDSixRQUFRWSxPQUFPLENBQUNYLEVBQUUsSUFBSWM7WUFDbEZXLGlCQUFpQjFCLFFBQVFZLE9BQU8sQ0FBQ2UsY0FBYyxLQUFLWixZQUFZZixRQUFRWSxPQUFPLENBQUNlLGNBQWMsQ0FBQ0osUUFBUSxLQUFLUjtZQUM1R2EsWUFBWTVCLFFBQVFZLE9BQU8sQ0FBQ2lCLFNBQVMsR0FBRzlCLElBQUlHLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxTQUFTLENBQUNKLFFBQVFZLE9BQU8sQ0FBQ2lCLFNBQVMsSUFBSWQ7WUFDeEdlLFdBQVc5QixRQUFRWSxPQUFPLENBQUNtQixRQUFRO1lBQ25DQyxNQUFNaEMsUUFBUVksT0FBTyxDQUFDb0IsSUFBSSxLQUFLakIsWUFBWWYsUUFBUVksT0FBTyxDQUFDb0IsSUFBSSxDQUFDVCxRQUFRLEtBQUtSO1lBQzdFa0Isa0JBQWtCakMsUUFBUVksT0FBTyxDQUFDc0IsZUFBZTtRQUNuRCxJQUNBbkI7UUFDSm9CLFFBQVFuQyxRQUFRbUMsTUFBTTtJQUN4QjtBQUNGIn0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hdWRpdExvZ0VudHJ5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzY29yZEF1ZGl0TG9nRW50cnkgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IHNuYWtlbGl6ZSB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi8uLi9ib3QuanMnXG5pbXBvcnQgdHlwZSB7IEF1ZGl0TG9nRW50cnkgfSBmcm9tICcuLi90eXBlcy5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUF1ZGl0TG9nRW50cnlUb0Rpc2NvcmRBdWRpdExvZ0VudHJ5KGJvdDogQm90LCBwYXlsb2FkOiBBdWRpdExvZ0VudHJ5KTogRGlzY29yZEF1ZGl0TG9nRW50cnkge1xuICByZXR1cm4ge1xuICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuaWQpLFxuICAgIGNoYW5nZXM6IHNuYWtlbGl6ZShwYXlsb2FkLmNoYW5nZXMpLFxuICAgIHVzZXJfaWQ6IHBheWxvYWQudXNlcklkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLnVzZXJJZCkgOiBudWxsLFxuICAgIHRhcmdldF9pZDogcGF5bG9hZC50YXJnZXRJZCA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UocGF5bG9hZC50YXJnZXRJZCkgOiBudWxsLFxuICAgIGFjdGlvbl90eXBlOiBwYXlsb2FkLmFjdGlvblR5cGUsXG5cbiAgICBvcHRpb25zOiBwYXlsb2FkLm9wdGlvbnNcbiAgICAgID8ge1xuICAgICAgICAgIC8vIHJlc3BlY3QgdHJhbnNmb3JtZXIgYXMgcmVmZXJlbmNlIHRoYW4gdHlwZVxuICAgICAgICAgIGFwcGxpY2F0aW9uX2lkOiBwYXlsb2FkLm9wdGlvbnMuYXBwbGljYXRpb25JZCA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UocGF5bG9hZC5vcHRpb25zLmFwcGxpY2F0aW9uSWQpIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGF1dG9fbW9kZXJhdGlvbl9ydWxlX25hbWU6IHBheWxvYWQub3B0aW9ucy5hdXRvTW9kZXJhdGlvblJ1bGVOYW1lLFxuICAgICAgICAgIGF1dG9fbW9kZXJhdGlvbl9ydWxlX3RyaWdnZXJfdHlwZTogcGF5bG9hZC5vcHRpb25zLmF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJUeXBlLFxuICAgICAgICAgIGNoYW5uZWxfaWQ6IHBheWxvYWQub3B0aW9ucy5jaGFubmVsSWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQub3B0aW9ucy5jaGFubmVsSWQpIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGNvdW50OiBwYXlsb2FkLm9wdGlvbnMuY291bnQgIT09IHVuZGVmaW5lZCA/IHBheWxvYWQub3B0aW9ucy5jb3VudC50b1N0cmluZygpIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGRlbGV0ZV9tZW1iZXJfZGF5czogcGF5bG9hZC5vcHRpb25zLmRlbGV0ZU1lbWJlckRheXMgIT09IHVuZGVmaW5lZCA/IHBheWxvYWQub3B0aW9ucy5kZWxldGVNZW1iZXJEYXlzLnRvU3RyaW5nKCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgaWQ6IHBheWxvYWQub3B0aW9ucy5pZCA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UocGF5bG9hZC5vcHRpb25zLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBtZW1iZXJzX3JlbW92ZWQ6IHBheWxvYWQub3B0aW9ucy5tZW1iZXJzUmVtb3ZlZCAhPT0gdW5kZWZpbmVkID8gcGF5bG9hZC5vcHRpb25zLm1lbWJlcnNSZW1vdmVkLnRvU3RyaW5nKCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbWVzc2FnZV9pZDogcGF5bG9hZC5vcHRpb25zLm1lc3NhZ2VJZCA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UocGF5bG9hZC5vcHRpb25zLm1lc3NhZ2VJZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgcm9sZV9uYW1lOiBwYXlsb2FkLm9wdGlvbnMucm9sZU5hbWUsXG4gICAgICAgICAgdHlwZTogcGF5bG9hZC5vcHRpb25zLnR5cGUgIT09IHVuZGVmaW5lZCA/IHBheWxvYWQub3B0aW9ucy50eXBlLnRvU3RyaW5nKCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgaW50ZWdyYXRpb25fdHlwZTogcGF5bG9hZC5vcHRpb25zLmludGVncmF0aW9uVHlwZSxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgcmVhc29uOiBwYXlsb2FkLnJlYXNvbixcbiAgfVxufVxuIl0sIm5hbWVzIjpbInNuYWtlbGl6ZSIsInRyYW5zZm9ybUF1ZGl0TG9nRW50cnlUb0Rpc2NvcmRBdWRpdExvZ0VudHJ5IiwiYm90IiwicGF5bG9hZCIsImlkIiwidHJhbnNmb3JtZXJzIiwicmV2ZXJzZSIsInNub3dmbGFrZSIsImNoYW5nZXMiLCJ1c2VyX2lkIiwidXNlcklkIiwidGFyZ2V0X2lkIiwidGFyZ2V0SWQiLCJhY3Rpb25fdHlwZSIsImFjdGlvblR5cGUiLCJvcHRpb25zIiwiYXBwbGljYXRpb25faWQiLCJhcHBsaWNhdGlvbklkIiwidW5kZWZpbmVkIiwiYXV0b19tb2RlcmF0aW9uX3J1bGVfbmFtZSIsImF1dG9Nb2RlcmF0aW9uUnVsZU5hbWUiLCJhdXRvX21vZGVyYXRpb25fcnVsZV90cmlnZ2VyX3R5cGUiLCJhdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyVHlwZSIsImNoYW5uZWxfaWQiLCJjaGFubmVsSWQiLCJjb3VudCIsInRvU3RyaW5nIiwiZGVsZXRlX21lbWJlcl9kYXlzIiwiZGVsZXRlTWVtYmVyRGF5cyIsIm1lbWJlcnNfcmVtb3ZlZCIsIm1lbWJlcnNSZW1vdmVkIiwibWVzc2FnZV9pZCIsIm1lc3NhZ2VJZCIsInJvbGVfbmFtZSIsInJvbGVOYW1lIiwidHlwZSIsImludGVncmF0aW9uX3R5cGUiLCJpbnRlZ3JhdGlvblR5cGUiLCJyZWFzb24iXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLFNBQVMsUUFBUSxvQkFBbUI7QUFJN0MsT0FBTyxTQUFTQyw2Q0FBNkNDLEdBQVEsRUFBRUMsT0FBc0I7SUFDM0YsT0FBTztRQUNMQyxJQUFJRixJQUFJRyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDSixRQUFRQyxFQUFFO1FBQ2pESSxTQUFTUixVQUFVRyxRQUFRSyxPQUFPO1FBQ2xDQyxTQUFTTixRQUFRTyxNQUFNLEdBQUdSLElBQUlHLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxTQUFTLENBQUNKLFFBQVFPLE1BQU0sSUFBSTtRQUMvRUMsV0FBV1IsUUFBUVMsUUFBUSxHQUFHVixJQUFJRyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDSixRQUFRUyxRQUFRLElBQUk7UUFDckZDLGFBQWFWLFFBQVFXLFVBQVU7UUFFL0JDLFNBQVNaLFFBQVFZLE9BQU8sR0FDcEI7WUFDRSw2Q0FBNkM7WUFDN0NDLGdCQUFnQmIsUUFBUVksT0FBTyxDQUFDRSxhQUFhLEdBQUdmLElBQUlHLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxTQUFTLENBQUNKLFFBQVFZLE9BQU8sQ0FBQ0UsYUFBYSxJQUFJQztZQUNwSEMsMkJBQTJCaEIsUUFBUVksT0FBTyxDQUFDSyxzQkFBc0I7WUFDakVDLG1DQUFtQ2xCLFFBQVFZLE9BQU8sQ0FBQ08sNkJBQTZCO1lBQ2hGQyxZQUFZcEIsUUFBUVksT0FBTyxDQUFDUyxTQUFTLEdBQUd0QixJQUFJRyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDSixRQUFRWSxPQUFPLENBQUNTLFNBQVMsSUFBSU47WUFDeEdPLE9BQU90QixRQUFRWSxPQUFPLENBQUNVLEtBQUssS0FBS1AsWUFBWWYsUUFBUVksT0FBTyxDQUFDVSxLQUFLLENBQUNDLFFBQVEsS0FBS1I7WUFDaEZTLG9CQUFvQnhCLFFBQVFZLE9BQU8sQ0FBQ2EsZ0JBQWdCLEtBQUtWLFlBQVlmLFFBQVFZLE9BQU8sQ0FBQ2EsZ0JBQWdCLENBQUNGLFFBQVEsS0FBS1I7WUFDbkhkLElBQUlELFFBQVFZLE9BQU8sQ0FBQ1gsRUFBRSxHQUFHRixJQUFJRyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDSixRQUFRWSxPQUFPLENBQUNYLEVBQUUsSUFBSWM7WUFDbEZXLGlCQUFpQjFCLFFBQVFZLE9BQU8sQ0FBQ2UsY0FBYyxLQUFLWixZQUFZZixRQUFRWSxPQUFPLENBQUNlLGNBQWMsQ0FBQ0osUUFBUSxLQUFLUjtZQUM1R2EsWUFBWTVCLFFBQVFZLE9BQU8sQ0FBQ2lCLFNBQVMsR0FBRzlCLElBQUlHLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxTQUFTLENBQUNKLFFBQVFZLE9BQU8sQ0FBQ2lCLFNBQVMsSUFBSWQ7WUFDeEdlLFdBQVc5QixRQUFRWSxPQUFPLENBQUNtQixRQUFRO1lBQ25DQyxNQUFNaEMsUUFBUVksT0FBTyxDQUFDb0IsSUFBSSxLQUFLakIsWUFBWWYsUUFBUVksT0FBTyxDQUFDb0IsSUFBSSxDQUFDVCxRQUFRLEtBQUtSO1lBQzdFa0Isa0JBQWtCakMsUUFBUVksT0FBTyxDQUFDc0IsZUFBZTtRQUNuRCxJQUNBbkI7UUFDSm9CLFFBQVFuQyxRQUFRbUMsTUFBTTtJQUN4QjtBQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"threadMember.d.ts","sourceRoot":"","sources":["../../src/transformers/threadMember.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AACvG,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEvE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,CAAC,EAAE,4BAA4B,GAAG,YAAY,CAehI;AAED,MAAM,WAAW,4BAA4B;IAC3C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,8BAA8B,GAAG,uBAAuB,CAM3H"}
1
+ {"version":3,"file":"threadMember.d.ts","sourceRoot":"","sources":["../../src/transformers/threadMember.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AACvG,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEvE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,CAAC,EAAE,4BAA4B,GAAG,YAAY,CAiBhI;AAED,MAAM,WAAW,4BAA4B;IAC3C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,8BAA8B,GAAG,uBAAuB,CAM3H"}
@@ -9,7 +9,9 @@ export function transformThreadMember(bot, payload, extra) {
9
9
  userId: payload.user_id
10
10
  }) : undefined
11
11
  };
12
- return bot.transformers.customizers.threadMember(bot, payload, threadMember, extra);
12
+ return bot.transformers.customizers.threadMember(bot, payload, threadMember, {
13
+ guildId: extra?.guildId ? bot.transformers.snowflake(extra?.guildId) : undefined
14
+ });
13
15
  }
14
16
  export function transformThreadMemberGuildCreate(bot, payload) {
15
17
  const threadMember = {
@@ -18,4 +20,4 @@ export function transformThreadMemberGuildCreate(bot, payload) {
18
20
  return bot.transformers.customizers.threadMemberGuildCreate(bot, payload, threadMember);
19
21
  }
20
22
 
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdGhyZWFkTWVtYmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBEaXNjb3JkVGhyZWFkTWVtYmVyLCBEaXNjb3JkVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJ1xuaW1wb3J0IHR5cGUgeyBUaHJlYWRNZW1iZXIsIFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlIH0gZnJvbSAnLi90eXBlcy5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybVRocmVhZE1lbWJlcihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFRocmVhZE1lbWJlciwgZXh0cmE/OiBUaHJlYWRNZW1iZXJUcmFuc2Zvcm1lckV4dHJhKTogVGhyZWFkTWVtYmVyIHtcbiAgY29uc3QgdGhyZWFkTWVtYmVyID0ge1xuICAgIGlkOiBwYXlsb2FkLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCkgOiB1bmRlZmluZWQsXG4gICAgdXNlcklkOiBwYXlsb2FkLnVzZXJfaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnVzZXJfaWQpIDogdW5kZWZpbmVkLFxuICAgIGpvaW5UaW1lc3RhbXA6IERhdGUucGFyc2UocGF5bG9hZC5qb2luX3RpbWVzdGFtcCksXG4gICAgZmxhZ3M6IHBheWxvYWQuZmxhZ3MsXG4gICAgbWVtYmVyOiBwYXlsb2FkLm1lbWJlclxuICAgICAgPyBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHBheWxvYWQubWVtYmVyLCB7XG4gICAgICAgICAgZ3VpbGRJZDogZXh0cmE/Lmd1aWxkSWQsXG4gICAgICAgICAgdXNlcklkOiBwYXlsb2FkLnVzZXJfaWQsXG4gICAgICAgIH0pXG4gICAgICA6IHVuZGVmaW5lZCxcbiAgfSBhcyBUaHJlYWRNZW1iZXJcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy50aHJlYWRNZW1iZXIoYm90LCBwYXlsb2FkLCB0aHJlYWRNZW1iZXIsIGV4dHJhKVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRocmVhZE1lbWJlclRyYW5zZm9ybWVyRXh0cmEge1xuICAvKipcbiAgICogUHJvdmlkZSB0aGlzIHBhcmFtZXRlciBpZiB5b3Ugd2FudCBpdCB0byBiZSBwYXNzZWQgZG93biB0byB0aGUgYHRocmVhZE1lbWJlci5tZW1iZXJgIG9iamVjdCAod2hlbiBgd2l0aE1lbWJlcnNgIGlzIHNldCB0byBgdHJ1ZWApLFxuICAgKiBzaW5jZSBEaXNjb3JkIGRvZXMgbm90IGluY2x1ZGUgYSBgZ3VpbGRJZGAgaW4gdGhhdCBwYXlsb2FkLlxuICAgKlxuICAgKiBUaGlzIGFsbG93cyB5b3UgdG8gY2FjaGUgbWVtYmVyIG9iamVjdHMgaW4gdGhlIG1lbWJlciBjdXN0b21pemVyLlxuICAgKi9cbiAgZ3VpbGRJZD86IEJpZ1N0cmluZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRUaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSk6IFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlIHtcbiAgY29uc3QgdGhyZWFkTWVtYmVyID0ge1xuICAgIGpvaW5UaW1lc3RhbXA6IERhdGUucGFyc2UocGF5bG9hZC5qb2luX3RpbWVzdGFtcCksXG4gIH0gYXMgVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGVcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy50aHJlYWRNZW1iZXJHdWlsZENyZWF0ZShib3QsIHBheWxvYWQsIHRocmVhZE1lbWJlcilcbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1UaHJlYWRNZW1iZXIiLCJib3QiLCJwYXlsb2FkIiwiZXh0cmEiLCJ0aHJlYWRNZW1iZXIiLCJpZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInVuZGVmaW5lZCIsInVzZXJJZCIsInVzZXJfaWQiLCJqb2luVGltZXN0YW1wIiwiRGF0ZSIsInBhcnNlIiwiam9pbl90aW1lc3RhbXAiLCJmbGFncyIsIm1lbWJlciIsImd1aWxkSWQiLCJjdXN0b21pemVycyIsInRyYW5zZm9ybVRocmVhZE1lbWJlckd1aWxkQ3JlYXRlIiwidGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUiXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sU0FBU0Esc0JBQXNCQyxHQUFRLEVBQUVDLE9BQTRCLEVBQUVDLEtBQW9DO0lBQ2hILE1BQU1DLGVBQWU7UUFDbkJDLElBQUlILFFBQVFHLEVBQUUsR0FBR0osSUFBSUssWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFHLEVBQUUsSUFBSUc7UUFDMURDLFFBQVFQLFFBQVFRLE9BQU8sR0FBR1QsSUFBSUssWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFRLE9BQU8sSUFBSUY7UUFDeEVHLGVBQWVDLEtBQUtDLEtBQUssQ0FBQ1gsUUFBUVksY0FBYztRQUNoREMsT0FBT2IsUUFBUWEsS0FBSztRQUNwQkMsUUFBUWQsUUFBUWMsTUFBTSxHQUNsQmYsSUFBSUssWUFBWSxDQUFDVSxNQUFNLENBQUNmLEtBQUtDLFFBQVFjLE1BQU0sRUFBRTtZQUMzQ0MsU0FBU2QsT0FBT2M7WUFDaEJSLFFBQVFQLFFBQVFRLE9BQU87UUFDekIsS0FDQUY7SUFDTjtJQUVBLE9BQU9QLElBQUlLLFlBQVksQ0FBQ1ksV0FBVyxDQUFDZCxZQUFZLENBQUNILEtBQUtDLFNBQVNFLGNBQWNEO0FBQy9FO0FBWUEsT0FBTyxTQUFTZ0IsaUNBQWlDbEIsR0FBUSxFQUFFQyxPQUF1QztJQUNoRyxNQUFNRSxlQUFlO1FBQ25CTyxlQUFlQyxLQUFLQyxLQUFLLENBQUNYLFFBQVFZLGNBQWM7SUFDbEQ7SUFFQSxPQUFPYixJQUFJSyxZQUFZLENBQUNZLFdBQVcsQ0FBQ0UsdUJBQXVCLENBQUNuQixLQUFLQyxTQUFTRTtBQUM1RSJ9
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdGhyZWFkTWVtYmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBEaXNjb3JkVGhyZWFkTWVtYmVyLCBEaXNjb3JkVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJ1xuaW1wb3J0IHR5cGUgeyBUaHJlYWRNZW1iZXIsIFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlIH0gZnJvbSAnLi90eXBlcy5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybVRocmVhZE1lbWJlcihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFRocmVhZE1lbWJlciwgZXh0cmE/OiBUaHJlYWRNZW1iZXJUcmFuc2Zvcm1lckV4dHJhKTogVGhyZWFkTWVtYmVyIHtcbiAgY29uc3QgdGhyZWFkTWVtYmVyID0ge1xuICAgIGlkOiBwYXlsb2FkLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCkgOiB1bmRlZmluZWQsXG4gICAgdXNlcklkOiBwYXlsb2FkLnVzZXJfaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnVzZXJfaWQpIDogdW5kZWZpbmVkLFxuICAgIGpvaW5UaW1lc3RhbXA6IERhdGUucGFyc2UocGF5bG9hZC5qb2luX3RpbWVzdGFtcCksXG4gICAgZmxhZ3M6IHBheWxvYWQuZmxhZ3MsXG4gICAgbWVtYmVyOiBwYXlsb2FkLm1lbWJlclxuICAgICAgPyBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHBheWxvYWQubWVtYmVyLCB7XG4gICAgICAgICAgZ3VpbGRJZDogZXh0cmE/Lmd1aWxkSWQsXG4gICAgICAgICAgdXNlcklkOiBwYXlsb2FkLnVzZXJfaWQsXG4gICAgICAgIH0pXG4gICAgICA6IHVuZGVmaW5lZCxcbiAgfSBhcyBUaHJlYWRNZW1iZXJcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy50aHJlYWRNZW1iZXIoYm90LCBwYXlsb2FkLCB0aHJlYWRNZW1iZXIsIHtcbiAgICBndWlsZElkOiBleHRyYT8uZ3VpbGRJZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGV4dHJhPy5ndWlsZElkKSA6IHVuZGVmaW5lZCxcbiAgfSlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaHJlYWRNZW1iZXJUcmFuc2Zvcm1lckV4dHJhIHtcbiAgLyoqXG4gICAqIFByb3ZpZGUgdGhpcyBwYXJhbWV0ZXIgaWYgeW91IHdhbnQgaXQgdG8gYmUgcGFzc2VkIGRvd24gdG8gdGhlIGB0aHJlYWRNZW1iZXIubWVtYmVyYCBvYmplY3QgKHdoZW4gYHdpdGhNZW1iZXJzYCBpcyBzZXQgdG8gYHRydWVgKSxcbiAgICogc2luY2UgRGlzY29yZCBkb2VzIG5vdCBpbmNsdWRlIGEgYGd1aWxkSWRgIGluIHRoYXQgcGF5bG9hZC5cbiAgICpcbiAgICogVGhpcyBhbGxvd3MgeW91IHRvIGNhY2hlIG1lbWJlciBvYmplY3RzIGluIHRoZSBtZW1iZXIgY3VzdG9taXplci5cbiAgICovXG4gIGd1aWxkSWQ/OiBCaWdTdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybVRocmVhZE1lbWJlckd1aWxkQ3JlYXRlKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUpOiBUaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSB7XG4gIGNvbnN0IHRocmVhZE1lbWJlciA9IHtcbiAgICBqb2luVGltZXN0YW1wOiBEYXRlLnBhcnNlKHBheWxvYWQuam9pbl90aW1lc3RhbXApLFxuICB9IGFzIFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMudGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUoYm90LCBwYXlsb2FkLCB0aHJlYWRNZW1iZXIpXG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtVGhyZWFkTWVtYmVyIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwidGhyZWFkTWVtYmVyIiwiaWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJ1bmRlZmluZWQiLCJ1c2VySWQiLCJ1c2VyX2lkIiwiam9pblRpbWVzdGFtcCIsIkRhdGUiLCJwYXJzZSIsImpvaW5fdGltZXN0YW1wIiwiZmxhZ3MiLCJtZW1iZXIiLCJndWlsZElkIiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1UaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSIsInRocmVhZE1lbWJlckd1aWxkQ3JlYXRlIl0sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLFNBQVNBLHNCQUFzQkMsR0FBUSxFQUFFQyxPQUE0QixFQUFFQyxLQUFvQztJQUNoSCxNQUFNQyxlQUFlO1FBQ25CQyxJQUFJSCxRQUFRRyxFQUFFLEdBQUdKLElBQUlLLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRRyxFQUFFLElBQUlHO1FBQzFEQyxRQUFRUCxRQUFRUSxPQUFPLEdBQUdULElBQUlLLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRUSxPQUFPLElBQUlGO1FBQ3hFRyxlQUFlQyxLQUFLQyxLQUFLLENBQUNYLFFBQVFZLGNBQWM7UUFDaERDLE9BQU9iLFFBQVFhLEtBQUs7UUFDcEJDLFFBQVFkLFFBQVFjLE1BQU0sR0FDbEJmLElBQUlLLFlBQVksQ0FBQ1UsTUFBTSxDQUFDZixLQUFLQyxRQUFRYyxNQUFNLEVBQUU7WUFDM0NDLFNBQVNkLE9BQU9jO1lBQ2hCUixRQUFRUCxRQUFRUSxPQUFPO1FBQ3pCLEtBQ0FGO0lBQ047SUFFQSxPQUFPUCxJQUFJSyxZQUFZLENBQUNZLFdBQVcsQ0FBQ2QsWUFBWSxDQUFDSCxLQUFLQyxTQUFTRSxjQUFjO1FBQzNFYSxTQUFTZCxPQUFPYyxVQUFVaEIsSUFBSUssWUFBWSxDQUFDQyxTQUFTLENBQUNKLE9BQU9jLFdBQVdUO0lBQ3pFO0FBQ0Y7QUFZQSxPQUFPLFNBQVNXLGlDQUFpQ2xCLEdBQVEsRUFBRUMsT0FBdUM7SUFDaEcsTUFBTUUsZUFBZTtRQUNuQk8sZUFBZUMsS0FBS0MsS0FBSyxDQUFDWCxRQUFRWSxjQUFjO0lBQ2xEO0lBRUEsT0FBT2IsSUFBSUssWUFBWSxDQUFDWSxXQUFXLENBQUNFLHVCQUF1QixDQUFDbkIsS0FBS0MsU0FBU0U7QUFDNUUifQ==
@@ -1,6 +1,7 @@
1
1
  import { type DiscordGuild } from '@discordeno/types';
2
2
  import { ToggleBitfieldBigint } from './ToggleBitfield.js';
3
- declare const featureNames: readonly ["animatedBanner", "animatedIcon", "applicationCommandPermissionsV2", "autoModeration", "banner", "community", "creatorMonetizableProvisional", "creatorStorePage", "developerSupportServer", "discoverable", "featurable", "invitesDisabled", "inviteSplash", "memberVerificationGateEnabled", "moreSoundboard", "moreStickers", "news", "partnered", "previewEnabled", "raidAlertsDisabled", "roleIcons", "roleSubscriptionsAvailableForPurchase", "roleSubscriptionsEnabled", "ticketedEventsEnabled", "vanityUrl", "verified", "vipRegions", "welcomeScreenEnabled", "guestsEnabled", "guildTags", "enhancedRoleColors"];
3
+ /** @private This is subject to breaking changes without notices */
4
+ export declare const guildFeatureNames: readonly ["animatedBanner", "animatedIcon", "applicationCommandPermissionsV2", "autoModeration", "banner", "community", "creatorMonetizableProvisional", "creatorStorePage", "developerSupportServer", "discoverable", "featurable", "invitesDisabled", "inviteSplash", "memberVerificationGateEnabled", "moreSoundboard", "moreStickers", "news", "partnered", "previewEnabled", "raidAlertsDisabled", "roleIcons", "roleSubscriptionsAvailableForPurchase", "roleSubscriptionsEnabled", "ticketedEventsEnabled", "vanityUrl", "verified", "vipRegions", "welcomeScreenEnabled", "guestsEnabled", "guildTags", "enhancedRoleColors"];
4
5
  export declare const GuildToggle: {
5
6
  /** Whether the bot is the owner of the guild */
6
7
  owner: bigint;
@@ -160,6 +161,5 @@ export declare class GuildToggles extends ToggleBitfieldBigint {
160
161
  list(): Record<GuildToggleKeys, boolean>;
161
162
  }
162
163
  export type GuildToggleKeys = keyof typeof GuildToggle;
163
- export type GuildFeatureKeys = (typeof featureNames)[number];
164
- export {};
164
+ export type GuildFeatureKeys = (typeof guildFeatureNames)[number];
165
165
  //# sourceMappingURL=guild.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guild.d.ts","sourceRoot":"","sources":["../../../src/transformers/toggles/guild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guild.d.ts","sourceRoot":"","sources":["../../../src/transformers/toggles/guild.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { GuildFeatures } from '@discordeno/types';
2
2
  import { ToggleBitfieldBigint } from './ToggleBitfield.js';
3
- const featureNames = [
3
+ /** @private This is subject to breaking changes without notices */ export const guildFeatureNames = [
4
4
  'animatedBanner',
5
5
  'animatedIcon',
6
6
  'applicationCommandPermissionsV2',
@@ -123,7 +123,7 @@ export class GuildToggles extends ToggleBitfieldBigint {
123
123
  get features() {
124
124
  const features = [];
125
125
  for (const key of Object.keys(GuildToggle)){
126
- if (!featureNames.includes(key)) continue;
126
+ if (!guildFeatureNames.includes(key)) continue;
127
127
  if (!super.contains(GuildToggle[key])) continue;
128
128
  features.push(key);
129
129
  }
@@ -253,4 +253,4 @@ export class GuildToggles extends ToggleBitfieldBigint {
253
253
  }
254
254
  }
255
255
 
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9ndWlsZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERpc2NvcmRHdWlsZCwgR3VpbGRGZWF0dXJlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGRCaWdpbnQgfSBmcm9tICcuL1RvZ2dsZUJpdGZpZWxkLmpzJ1xuXG5jb25zdCBmZWF0dXJlTmFtZXMgPSBbXG4gICdhbmltYXRlZEJhbm5lcicsXG4gICdhbmltYXRlZEljb24nLFxuICAnYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMicsXG4gICdhdXRvTW9kZXJhdGlvbicsXG4gICdiYW5uZXInLFxuICAnY29tbXVuaXR5JyxcbiAgJ2NyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsJyxcbiAgJ2NyZWF0b3JTdG9yZVBhZ2UnLFxuICAnZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcicsXG4gICdkaXNjb3ZlcmFibGUnLFxuICAnZmVhdHVyYWJsZScsXG4gICdpbnZpdGVzRGlzYWJsZWQnLFxuICAnaW52aXRlU3BsYXNoJyxcbiAgJ21lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkJyxcbiAgJ21vcmVTb3VuZGJvYXJkJyxcbiAgJ21vcmVTdGlja2VycycsXG4gICduZXdzJyxcbiAgJ3BhcnRuZXJlZCcsXG4gICdwcmV2aWV3RW5hYmxlZCcsXG4gICdyYWlkQWxlcnRzRGlzYWJsZWQnLFxuICAncm9sZUljb25zJyxcbiAgJ3JvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UnLFxuICAncm9sZVN1YnNjcmlwdGlvbnNFbmFibGVkJyxcbiAgJ3RpY2tldGVkRXZlbnRzRW5hYmxlZCcsXG4gICd2YW5pdHlVcmwnLFxuICAndmVyaWZpZWQnLFxuICAndmlwUmVnaW9ucycsXG4gICd3ZWxjb21lU2NyZWVuRW5hYmxlZCcsXG4gICdndWVzdHNFbmFibGVkJyxcbiAgJ2d1aWxkVGFncycsXG4gICdlbmhhbmNlZFJvbGVDb2xvcnMnLFxuXSBhcyBjb25zdFxuXG5leHBvcnQgY29uc3QgR3VpbGRUb2dnbGUgPSB7XG4gIC8qKiBXaGV0aGVyIHRoZSBib3QgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBvd25lcjogMW4gPDwgMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBzZXJ2ZXIgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgd2lkZ2V0RW5hYmxlZDogMW4gPDwgMW4sXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgY29uc2lkZXJlZCBhIGxhcmdlIGd1aWxkICovXG4gIGxhcmdlOiAxbiA8PCAybixcbiAgLyoqIFdoZXRoZXIgdGhpcyBndWlsZCBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYW4gb3V0YWdlICovXG4gIHVuYXZhaWxhYmxlOiAxbiA8PCAzbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyB0aGUgYm9vc3QgcHJvZ3Jlc3MgYmFyIGVuYWJsZWQgKi9cbiAgcHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZDogMW4gPDwgNG4sXG5cbiAgLy8gR1VJTEQgRkVBVFVSRVMgQVJFIEJFTE9XIFRISVNcblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYW4gYW5pbWF0ZWQgZ3VpbGQgYmFubmVyIGltYWdlICovXG4gIGFuaW1hdGVkQmFubmVyOiAxbiA8PCAxMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBhbmltYXRlZCBndWlsZCBpY29uICovXG4gIGFuaW1hdGVkSWNvbjogMW4gPDwgMTZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgdXNpbmcgdGhlIG9sZCBwZXJtaXNzaW9ucyBjb25maWd1cmF0aW9uIGJlaGF2aW9yICovXG4gIGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjI6IDFuIDw8IDE0bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBzZXQgdXAgYXV0byBtb2RlcmF0aW9uIHJ1bGVzICovXG4gIGF1dG9Nb2RlcmF0aW9uOiAxbiA8PCAyOG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIGd1aWxkIGJhbm5lciBpbWFnZSAqL1xuICBiYW5uZXI6IDFuIDw8IDE3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGNhbiBlbmFibGUgd2VsY29tZSBzY3JlZW4sIE1lbWJlcnNoaXAgU2NyZWVuaW5nLCBzdGFnZSBjaGFubmVscyBhbmQgZGlzY292ZXJ5LCBhbmQgcmVjZWl2ZXMgY29tbXVuaXR5IHVwZGF0ZXMgKi9cbiAgY29tbXVuaXR5OiAxbiA8PCAxMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBtb25ldGl6YXRpb24uICovXG4gIGNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsOiAxbiA8PCAzMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgcm9sZSBzdWJzY3JpcHRpb24gcHJvbW8gcGFnZS4gKi9cbiAgY3JlYXRvclN0b3JlUGFnZTogMW4gPDwgMzJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGJlZW4gc2V0IGFzIGEgc3VwcG9ydCBzZXJ2ZXIgb24gdGhlIEFwcCBEaXJlY3RvcnkgKi9cbiAgZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcjogMW4gPDwgMzBuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBiZSBkaXNjb3ZlcmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZGlzY292ZXJhYmxlOiAxbiA8PCAxM24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIGJlIGZlYXR1cmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZmVhdHVyYWJsZTogMW4gPDwgMTVuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHBhdXNlZCBpbnZpdGVzLCBwcmV2ZW50aW5nIG5ldyB1c2VycyBmcm9tIGpvaW5pbmcgKi9cbiAgaW52aXRlc0Rpc2FibGVkOiAxbiA8PCAyOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBpbnZpdGUgc3BsYXNoIGJhY2tncm91bmQgKi9cbiAgaW52aXRlU3BsYXNoOiAxbiA8PCA1bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIFtNZW1iZXJzaGlwIFNjcmVlbmluZ10oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI21lbWJlcnNoaXAtc2NyZWVuaW5nLW9iamVjdCkgKi9cbiAgbWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQ6IDFuIDw8IDE5bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBtb3JlIHNvdW5kYm9hcmQgc291bmQgc2xvdCAqL1xuICBtb3JlU291bmRib2FyZDogMW4gPDwgMjRuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGluY3JlYXNlZCBjdXN0b20gc3RpY2tlciBzbG90cyAqL1xuICBtb3JlU3RpY2tlcnM6IDFuIDw8IDIzbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gY3JlYXRlIG5ld3MgY2hhbm5lbHMgKi9cbiAgbmV3czogMW4gPDwgMTJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgcGFydG5lcmVkICovXG4gIHBhcnRuZXJlZDogMW4gPDwgOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBjYW4gYmUgcHJldmlld2VkIGJlZm9yZSBqb2luaW5nIHZpYSBNZW1iZXJzaGlwIFNjcmVlbmluZyBvciB0aGUgZGlyZWN0b3J5ICovXG4gIHByZXZpZXdFbmFibGVkOiAxbiA8PCAyMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZGlzYWJsZWQgYWxlcnRzIGZvciBqb2luIHJhaWRzIGluIHRoZSBjb25maWd1cmVkIHNhZmV0eSBhbGVydHMgY2hhbm5lbCAqL1xuICByYWlkQWxlcnRzRGlzYWJsZWQ6IDFuIDw8IDIybixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IHJvbGUgaWNvbnMgKi9cbiAgcm9sZUljb25zOiAxbiA8PCAyN24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgcm9sZSBzdWJzY3JpcHRpb25zIHRoYXQgY2FuIGJlIHB1cmNoYXNlZC4gKi9cbiAgcm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZTogMW4gPDwgMzNuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgcm9sZSBzdWJzY3JpcHRpb25zLiAqL1xuICByb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQ6IDFuIDw8IDM0bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBjcmVhdGVkIHNvdW5kYm9hcmQgc291bmRzLiAqL1xuICBzb3VuZGJvYXJkOiAxbiA8PCAyNW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aWNrZXRlZCBldmVudHMgKi9cbiAgdGlja2V0ZWRFdmVudHNFbmFibGVkOiAxbiA8PCAyMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIHZhbml0eSBVUkwgKi9cbiAgdmFuaXR5VXJsOiAxbiA8PCA3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHZlcmlmaWVkICovXG4gIHZlcmlmaWVkOiAxbiA8PCA4bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IDM4NCBrYnBzIGJpdHJhdGUgaW4gdm9pY2UgKHByZXZpb3VzbHkgVklQIHZvaWNlIHNlcnZlcnMpICovXG4gIHZpcFJlZ2lvbnM6IDFuIDw8IDZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgdGhlIHdlbGNvbWUgc2NyZWVuICovXG4gIHdlbGNvbWVTY3JlZW5FbmFibGVkOiAxbiA8PCAxOG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIGd1ZXN0IGludml0ZXMgKi9cbiAgZ3Vlc3RzRW5hYmxlZDogMW4gPDwgMjZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgZ3VpbGQgdGFncyAqL1xuICBndWlsZFRhZ3M6IDFuIDw8IDM2bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IGdyYWRpZW50IGNvbG9ycyB0byByb2xlcyAqL1xuICBlbmhhbmNlZFJvbGVDb2xvcnM6IDFuIDw8IDM1bixcbn1cblxuZXhwb3J0IGNsYXNzIEd1aWxkVG9nZ2xlcyBleHRlbmRzIFRvZ2dsZUJpdGZpZWxkQmlnaW50IHtcbiAgY29uc3RydWN0b3IoZ3VpbGRPclRvZ2dsZXNCaWdpbnQ6IERpc2NvcmRHdWlsZCB8IGJpZ2ludCkge1xuICAgIHN1cGVyKClcblxuICAgIGlmICh0eXBlb2YgZ3VpbGRPclRvZ2dsZXNCaWdpbnQgPT09ICdiaWdpbnQnKSB0aGlzLmJpdGZpZWxkID0gZ3VpbGRPclRvZ2dsZXNCaWdpbnRcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IGd1aWxkID0gZ3VpbGRPclRvZ2dsZXNCaWdpbnRcbiAgICAgIC8vIENhdXNlIGRpc2NvcmQgYmUgc21hcnQgbGlrZSB0aGF0XG4gICAgICBpZiAoIWd1aWxkLmZlYXR1cmVzKSBndWlsZC5mZWF0dXJlcyA9IFtdXG5cbiAgICAgIGlmIChndWlsZC5vd25lcikgdGhpcy5hZGQoR3VpbGRUb2dnbGUub3duZXIpXG4gICAgICBpZiAoZ3VpbGQud2lkZ2V0X2VuYWJsZWQpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLndpZGdldEVuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQubGFyZ2UpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmxhcmdlKVxuICAgICAgaWYgKGd1aWxkLnVuYXZhaWxhYmxlKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS51bmF2YWlsYWJsZSlcbiAgICAgIGlmIChndWlsZC5wcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkKVxuXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5BbmltYXRlZEJhbm5lcikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmFuaW1hdGVkQmFubmVyKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQW5pbWF0ZWRJY29uKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuYW5pbWF0ZWRJY29uKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjIpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5BdXRvTW9kZXJhdGlvbikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmF1dG9Nb2RlcmF0aW9uKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQmFubmVyKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuYmFubmVyKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQ29tbXVuaXR5KSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuY29tbXVuaXR5KVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQ3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5jcmVhdG9yTW9uZXRpemFibGVQcm92aXNpb25hbClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkNyZWF0b3JTdG9yZVBhZ2UpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5jcmVhdG9yU3RvcmVQYWdlKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRGV2ZWxvcGVyU3VwcG9ydFNlcnZlcikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmRldmVsb3BlclN1cHBvcnRTZXJ2ZXIpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5EaXNjb3ZlcmFibGUpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5kaXNjb3ZlcmFibGUpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5GZWF0dXJhYmxlKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZmVhdHVyYWJsZSlcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkludml0ZXNEaXNhYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmludml0ZXNEaXNhYmxlZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkludml0ZVNwbGFzaCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmludml0ZVNwbGFzaClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLk1lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUubWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Nb3JlU291bmRib2FyZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm1vcmVTb3VuZGJvYXJkKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuTW9yZVN0aWNrZXJzKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUubW9yZVN0aWNrZXJzKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuTmV3cykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm5ld3MpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5QYXJ0bmVyZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wYXJ0bmVyZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5QcmV2aWV3RW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnByZXZpZXdFbmFibGVkKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUmFpZEFsZXJ0c0Rpc2FibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUucmFpZEFsZXJ0c0Rpc2FibGVkKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUm9sZUljb25zKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUucm9sZUljb25zKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnJvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Sb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5yb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Tb3VuZGJvYXJkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuc291bmRib2FyZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlRpY2tldGVkRXZlbnRzRW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnRpY2tldGVkRXZlbnRzRW5hYmxlZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlZhbml0eVVybCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnZhbml0eVVybClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlZlcmlmaWVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudmVyaWZpZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5WaXBSZWdpb25zKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudmlwUmVnaW9ucylcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLldlbGNvbWVTY3JlZW5FbmFibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUud2VsY29tZVNjcmVlbkVuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5HdWVzdHNFbmFibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZ3Vlc3RzRW5hYmxlZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkd1aWxkVGFncykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmd1aWxkVGFncylcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkVuaGFuY2VkUm9sZUNvbG9ycykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmVuaGFuY2VkUm9sZUNvbG9ycylcbiAgICB9XG4gIH1cblxuICBnZXQgZmVhdHVyZXMoKTogR3VpbGRGZWF0dXJlS2V5c1tdIHtcbiAgICBjb25zdCBmZWF0dXJlczogR3VpbGRGZWF0dXJlS2V5c1tdID0gW11cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhHdWlsZFRvZ2dsZSkpIHtcbiAgICAgIGlmICghZmVhdHVyZU5hbWVzLmluY2x1ZGVzKGtleSBhcyBHdWlsZEZlYXR1cmVLZXlzKSkgY29udGludWVcbiAgICAgIGlmICghc3VwZXIuY29udGFpbnMoR3VpbGRUb2dnbGVba2V5IGFzIEd1aWxkVG9nZ2xlS2V5c10pKSBjb250aW51ZVxuXG4gICAgICBmZWF0dXJlcy5wdXNoKGtleSBhcyBHdWlsZEZlYXR1cmVLZXlzKVxuICAgIH1cblxuICAgIHJldHVybiBmZWF0dXJlc1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGJvdCBpcyB0aGUgb3duZXIgb2YgdGhlIGd1aWxkICovXG4gIGdldCBvd25lcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ293bmVyJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBzZXJ2ZXIgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgZ2V0IHdpZGdldEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd3aWRnZXRFbmFibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgY29uc2lkZXJlZCBhIGxhcmdlIGd1aWxkICovXG4gIGdldCBsYXJnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2xhcmdlJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoaXMgZ3VpbGQgaXMgdW5hdmFpbGFibGUgZHVlIHRvIGFuIG91dGFnZSAqL1xuICBnZXQgdW5hdmFpbGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd1bmF2YWlsYWJsZScpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHRoZSBib29zdCBwcm9ncmVzcyBiYXIgZW5hYmxlZCAqL1xuICBnZXQgcHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3ByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGFuIGludml0ZSBzcGxhc2ggYmFja2dyb3VuZCAqL1xuICBnZXQgaW52aXRlU3BsYXNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnaW52aXRlU3BsYXNoJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCAzODQga2JwcyBiaXRyYXRlIGluIHZvaWNlIChwcmV2aW91c2x5IFZJUCB2b2ljZSBzZXJ2ZXJzKSAqL1xuICBnZXQgdmlwUmVnaW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3ZpcFJlZ2lvbnMnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGEgdmFuaXR5IFVSTCAqL1xuICBnZXQgdmFuaXR5VXJsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndmFuaXR5VXJsJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyB2ZXJpZmllZCAqL1xuICBnZXQgdmVyaWZpZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd2ZXJpZmllZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgcGFydG5lcmVkICovXG4gIGdldCBwYXJ0bmVyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdwYXJ0bmVyZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGNhbiBlbmFibGUgd2VsY29tZSBzY3JlZW4sIE1lbWJlcnNoaXAgU2NyZWVuaW5nLCBzdGFnZSBjaGFubmVscyBhbmQgZGlzY292ZXJ5LCBhbmQgcmVjZWl2ZXMgY29tbXVuaXR5IHVwZGF0ZXMgKi9cbiAgZ2V0IGNvbW11bml0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2NvbW11bml0eScpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgR3VpbGQgaGFzIGJlZW4gc2V0IGFzIGEgc3VwcG9ydCBzZXJ2ZXIgb24gdGhlIEFwcCBEaXJlY3RvcnkgKi9cbiAgZ2V0IGRldmVsb3BlclN1cHBvcnRTZXJ2ZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdkZXZlbG9wZXJTdXBwb3J0U2VydmVyJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBhbmltYXRlZCBndWlsZCBiYW5uZXIgaW1hZ2UgKi9cbiAgZ2V0IGFuaW1hdGVkQmFubmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnYW5pbWF0ZWRCYW5uZXInKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gY3JlYXRlIG5ld3MgY2hhbm5lbHMgKi9cbiAgZ2V0IG5ld3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCduZXdzJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIGJlIGRpc2NvdmVyZWQgaW4gdGhlIGRpcmVjdG9yeSAqL1xuICBnZXQgZGlzY292ZXJhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZGlzY292ZXJhYmxlJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIGJlIGZlYXR1cmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZ2V0IGZlYXR1cmFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdmZWF0dXJhYmxlJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBhbmltYXRlZCBndWlsZCBpY29uICovXG4gIGdldCBhbmltYXRlZEljb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdhbmltYXRlZEljb24nKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGEgZ3VpbGQgYmFubmVyIGltYWdlICovXG4gIGdldCBiYW5uZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdiYW5uZXInKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIHRoZSB3ZWxjb21lIHNjcmVlbiAqL1xuICBnZXQgd2VsY29tZVNjcmVlbkVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd3ZWxjb21lU2NyZWVuRW5hYmxlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgW01lbWJlcnNoaXAgU2NyZWVuaW5nXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjbWVtYmVyc2hpcC1zY3JlZW5pbmctb2JqZWN0KSAqL1xuICBnZXQgbWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdtZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIG1vcmUgc291bmRib2FyZCBzb3VuZCBzbG90ICovXG4gIGdldCBtb3JlU291bmRib2FyZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ21vcmVTb3VuZGJvYXJkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBjYW4gYmUgcHJldmlld2VkIGJlZm9yZSBqb2luaW5nIHZpYSBNZW1iZXJzaGlwIFNjcmVlbmluZyBvciB0aGUgZGlyZWN0b3J5ICovXG4gIGdldCBwcmV2aWV3RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3ByZXZpZXdFbmFibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aWNrZXRlZCBldmVudHMgKi9cbiAgZ2V0IHRpY2tldGVkRXZlbnRzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3RpY2tldGVkRXZlbnRzRW5hYmxlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGluY3JlYXNlZCBjdXN0b20gc3RpY2tlciBzbG90cyAqL1xuICBnZXQgbW9yZVN0aWNrZXJzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnbW9yZVN0aWNrZXJzJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIHNldCByb2xlIGljb25zICovXG4gIGdldCByb2xlSWNvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdyb2xlSWNvbnMnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBzZXQgdXAgYXV0byBtb2RlcmF0aW9uIHJ1bGVzICovXG4gIGdldCBhdXRvTW9kZXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2F1dG9Nb2RlcmF0aW9uJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgcGF1c2VkIGludml0ZXMsIHByZXZlbnRpbmcgbmV3IHVzZXJzIGZyb20gam9pbmluZyAqL1xuICBnZXQgaW52aXRlc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnaW52aXRlc0Rpc2FibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyB1c2luZyB0aGUgb2xkIHBlcm1pc3Npb25zIGNvbmZpZ3VyYXRpb24gYmVoYXZpb3IgKi9cbiAgZ2V0IGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBtb25ldGl6YXRpb24uICovXG4gIGdldCBjcmVhdG9yTW9uZXRpemFibGVQcm92aXNpb25hbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2NyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgcm9sZSBzdWJzY3JpcHRpb24gcHJvbW8gcGFnZS4gKi9cbiAgZ2V0IGNyZWF0b3JTdG9yZVBhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdjcmVhdG9yU3RvcmVQYWdlJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZGlzYWJsZWQgYWxlcnRzIGZvciBqb2luIHJhaWRzIGluIHRoZSBjb25maWd1cmVkIHNhZmV0eSBhbGVydHMgY2hhbm5lbCAqL1xuICBnZXQgcmFpZEFsZXJ0c0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncmFpZEFsZXJ0c0Rpc2FibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgcm9sZSBzdWJzY3JpcHRpb25zIHRoYXQgY2FuIGJlIHB1cmNoYXNlZC4gKi9cbiAgZ2V0IHJvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdyb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCByb2xlIHN1YnNjcmlwdGlvbnMuICovXG4gIGdldCByb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdyb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBjcmVhdGVkIHNvdW5kYm9hcmQgc291bmRzLiAqL1xuICBnZXQgc291bmRib2FyZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3NvdW5kYm9hcmQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gZ3Vlc3QgaW52aXRlcyAqL1xuICBnZXQgZ3Vlc3RzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2d1ZXN0c0VuYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGd1aWxkIHRhZ3MgKi9cbiAgZ2V0IGd1aWxkVGFncygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2d1aWxkVGFncycpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBzZXQgZ3JhZGllbnQgY29sb3JzIHRvIHJvbGVzICovXG4gIGdldCBlbmhhbmNlZFJvbGVDb2xvcnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdlbmhhbmNlZFJvbGVDb2xvcnMnKVxuICB9XG5cbiAgLyoqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGUgcGVybWlzc2lvbnMgZXhpc3QgaW4gdGhpcyAqL1xuICBoYXMocGVybWlzc2lvbnM6IEd1aWxkVG9nZ2xlS2V5cyB8IEd1aWxkVG9nZ2xlS2V5c1tdKTogYm9vbGVhbiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBlcm1pc3Npb25zKSkgcmV0dXJuIHN1cGVyLmNvbnRhaW5zKEd1aWxkVG9nZ2xlW3Blcm1pc3Npb25zXSlcblxuICAgIHJldHVybiBzdXBlci5jb250YWlucyhwZXJtaXNzaW9ucy5yZWR1Y2UoKGEsIGIpID0+IChhIHw9IEd1aWxkVG9nZ2xlW2JdKSwgMG4pKVxuICB9XG5cbiAgLyoqIExpc3RzIGFsbCB0aGUgdG9nZ2xlcyBmb3IgdGhlIHJvbGUgYW5kIHdoZXRoZXIgb3Igbm90IGVhY2ggaXMgdHJ1ZSBvciBmYWxzZS4gKi9cbiAgbGlzdCgpOiBSZWNvcmQ8R3VpbGRUb2dnbGVLZXlzLCBib29sZWFuPiB7XG4gICAgY29uc3QganNvbjogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fVxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKEd1aWxkVG9nZ2xlKSkge1xuICAgICAganNvbltrZXldID0gc3VwZXIuY29udGFpbnModmFsdWUpXG4gICAgfVxuXG4gICAgcmV0dXJuIGpzb24gYXMgUmVjb3JkPEd1aWxkVG9nZ2xlS2V5cywgYm9vbGVhbj5cbiAgfVxufVxuXG5leHBvcnQgdHlwZSBHdWlsZFRvZ2dsZUtleXMgPSBrZXlvZiB0eXBlb2YgR3VpbGRUb2dnbGVcblxuZXhwb3J0IHR5cGUgR3VpbGRGZWF0dXJlS2V5cyA9ICh0eXBlb2YgZmVhdHVyZU5hbWVzKVtudW1iZXJdXG4iXSwibmFtZXMiOlsiR3VpbGRGZWF0dXJlcyIsIlRvZ2dsZUJpdGZpZWxkQmlnaW50IiwiZmVhdHVyZU5hbWVzIiwiR3VpbGRUb2dnbGUiLCJvd25lciIsIndpZGdldEVuYWJsZWQiLCJsYXJnZSIsInVuYXZhaWxhYmxlIiwicHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCIsImFuaW1hdGVkQmFubmVyIiwiYW5pbWF0ZWRJY29uIiwiYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMiIsImF1dG9Nb2RlcmF0aW9uIiwiYmFubmVyIiwiY29tbXVuaXR5IiwiY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwiLCJjcmVhdG9yU3RvcmVQYWdlIiwiZGV2ZWxvcGVyU3VwcG9ydFNlcnZlciIsImRpc2NvdmVyYWJsZSIsImZlYXR1cmFibGUiLCJpbnZpdGVzRGlzYWJsZWQiLCJpbnZpdGVTcGxhc2giLCJtZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCIsIm1vcmVTb3VuZGJvYXJkIiwibW9yZVN0aWNrZXJzIiwibmV3cyIsInBhcnRuZXJlZCIsInByZXZpZXdFbmFibGVkIiwicmFpZEFsZXJ0c0Rpc2FibGVkIiwicm9sZUljb25zIiwicm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSIsInJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCIsInNvdW5kYm9hcmQiLCJ0aWNrZXRlZEV2ZW50c0VuYWJsZWQiLCJ2YW5pdHlVcmwiLCJ2ZXJpZmllZCIsInZpcFJlZ2lvbnMiLCJ3ZWxjb21lU2NyZWVuRW5hYmxlZCIsImd1ZXN0c0VuYWJsZWQiLCJndWlsZFRhZ3MiLCJlbmhhbmNlZFJvbGVDb2xvcnMiLCJHdWlsZFRvZ2dsZXMiLCJndWlsZE9yVG9nZ2xlc0JpZ2ludCIsImJpdGZpZWxkIiwiZ3VpbGQiLCJmZWF0dXJlcyIsImFkZCIsIndpZGdldF9lbmFibGVkIiwicHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZCIsImluY2x1ZGVzIiwiQW5pbWF0ZWRCYW5uZXIiLCJBbmltYXRlZEljb24iLCJBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyIiwiQXV0b01vZGVyYXRpb24iLCJCYW5uZXIiLCJDb21tdW5pdHkiLCJDcmVhdG9yTW9uZXRpemFibGVQcm92aXNpb25hbCIsIkNyZWF0b3JTdG9yZVBhZ2UiLCJEZXZlbG9wZXJTdXBwb3J0U2VydmVyIiwiRGlzY292ZXJhYmxlIiwiRmVhdHVyYWJsZSIsIkludml0ZXNEaXNhYmxlZCIsIkludml0ZVNwbGFzaCIsIk1lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkIiwiTW9yZVNvdW5kYm9hcmQiLCJNb3JlU3RpY2tlcnMiLCJOZXdzIiwiUGFydG5lcmVkIiwiUHJldmlld0VuYWJsZWQiLCJSYWlkQWxlcnRzRGlzYWJsZWQiLCJSb2xlSWNvbnMiLCJSb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlIiwiUm9sZVN1YnNjcmlwdGlvbnNFbmFibGVkIiwiU291bmRib2FyZCIsIlRpY2tldGVkRXZlbnRzRW5hYmxlZCIsIlZhbml0eVVybCIsIlZlcmlmaWVkIiwiVmlwUmVnaW9ucyIsIldlbGNvbWVTY3JlZW5FbmFibGVkIiwiR3Vlc3RzRW5hYmxlZCIsIkd1aWxkVGFncyIsIkVuaGFuY2VkUm9sZUNvbG9ycyIsImtleSIsIk9iamVjdCIsImtleXMiLCJjb250YWlucyIsInB1c2giLCJoYXMiLCJwZXJtaXNzaW9ucyIsIkFycmF5IiwiaXNBcnJheSIsInJlZHVjZSIsImEiLCJiIiwibGlzdCIsImpzb24iLCJ2YWx1ZSIsImVudHJpZXMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQTRCQSxhQUFhLFFBQVEsb0JBQW1CO0FBQ3BFLFNBQVNDLG9CQUFvQixRQUFRLHNCQUFxQjtBQUUxRCxNQUFNQyxlQUFlO0lBQ25CO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFFRCxPQUFPLE1BQU1DLGNBQWM7SUFDekIsOENBQThDLEdBQzlDQyxPQUFPLEVBQUUsSUFBSSxFQUFFO0lBQ2YseUNBQXlDLEdBQ3pDQyxlQUFlLEVBQUUsSUFBSSxFQUFFO0lBQ3ZCLDZDQUE2QyxHQUM3Q0MsT0FBTyxFQUFFLElBQUksRUFBRTtJQUNmLHVEQUF1RCxHQUN2REMsYUFBYSxFQUFFLElBQUksRUFBRTtJQUNyQix5REFBeUQsR0FDekRDLDJCQUEyQixFQUFFLElBQUksRUFBRTtJQUVuQyxnQ0FBZ0M7SUFFaEMsdUVBQXVFLEdBQ3ZFQyxnQkFBZ0IsRUFBRSxJQUFJLEdBQUc7SUFDekIsK0RBQStELEdBQy9EQyxjQUFjLEVBQUUsSUFBSSxHQUFHO0lBQ3ZCLDBFQUEwRSxHQUMxRUMsaUNBQWlDLEVBQUUsSUFBSSxHQUFHO0lBQzFDLHVEQUF1RCxHQUN2REMsZ0JBQWdCLEVBQUUsSUFBSSxHQUFHO0lBQ3pCLDZEQUE2RCxHQUM3REMsUUFBUSxFQUFFLElBQUksR0FBRztJQUNqQixvSUFBb0ksR0FDcElDLFdBQVcsRUFBRSxJQUFJLEdBQUc7SUFDcEIsZ0RBQWdELEdBQ2hEQywrQkFBK0IsRUFBRSxJQUFJ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
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9ndWlsZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERpc2NvcmRHdWlsZCwgR3VpbGRGZWF0dXJlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGRCaWdpbnQgfSBmcm9tICcuL1RvZ2dsZUJpdGZpZWxkLmpzJ1xuXG4vKiogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2VzICovXG5leHBvcnQgY29uc3QgZ3VpbGRGZWF0dXJlTmFtZXMgPSBbXG4gICdhbmltYXRlZEJhbm5lcicsXG4gICdhbmltYXRlZEljb24nLFxuICAnYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMicsXG4gICdhdXRvTW9kZXJhdGlvbicsXG4gICdiYW5uZXInLFxuICAnY29tbXVuaXR5JyxcbiAgJ2NyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsJyxcbiAgJ2NyZWF0b3JTdG9yZVBhZ2UnLFxuICAnZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcicsXG4gICdkaXNjb3ZlcmFibGUnLFxuICAnZmVhdHVyYWJsZScsXG4gICdpbnZpdGVzRGlzYWJsZWQnLFxuICAnaW52aXRlU3BsYXNoJyxcbiAgJ21lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkJyxcbiAgJ21vcmVTb3VuZGJvYXJkJyxcbiAgJ21vcmVTdGlja2VycycsXG4gICduZXdzJyxcbiAgJ3BhcnRuZXJlZCcsXG4gICdwcmV2aWV3RW5hYmxlZCcsXG4gICdyYWlkQWxlcnRzRGlzYWJsZWQnLFxuICAncm9sZUljb25zJyxcbiAgJ3JvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UnLFxuICAncm9sZVN1YnNjcmlwdGlvbnNFbmFibGVkJyxcbiAgJ3RpY2tldGVkRXZlbnRzRW5hYmxlZCcsXG4gICd2YW5pdHlVcmwnLFxuICAndmVyaWZpZWQnLFxuICAndmlwUmVnaW9ucycsXG4gICd3ZWxjb21lU2NyZWVuRW5hYmxlZCcsXG4gICdndWVzdHNFbmFibGVkJyxcbiAgJ2d1aWxkVGFncycsXG4gICdlbmhhbmNlZFJvbGVDb2xvcnMnLFxuXSBhcyBjb25zdFxuXG5leHBvcnQgY29uc3QgR3VpbGRUb2dnbGUgPSB7XG4gIC8qKiBXaGV0aGVyIHRoZSBib3QgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBvd25lcjogMW4gPDwgMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBzZXJ2ZXIgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgd2lkZ2V0RW5hYmxlZDogMW4gPDwgMW4sXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgY29uc2lkZXJlZCBhIGxhcmdlIGd1aWxkICovXG4gIGxhcmdlOiAxbiA8PCAybixcbiAgLyoqIFdoZXRoZXIgdGhpcyBndWlsZCBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYW4gb3V0YWdlICovXG4gIHVuYXZhaWxhYmxlOiAxbiA8PCAzbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyB0aGUgYm9vc3QgcHJvZ3Jlc3MgYmFyIGVuYWJsZWQgKi9cbiAgcHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZDogMW4gPDwgNG4sXG5cbiAgLy8gR1VJTEQgRkVBVFVSRVMgQVJFIEJFTE9XIFRISVNcblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYW4gYW5pbWF0ZWQgZ3VpbGQgYmFubmVyIGltYWdlICovXG4gIGFuaW1hdGVkQmFubmVyOiAxbiA8PCAxMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBhbmltYXRlZCBndWlsZCBpY29uICovXG4gIGFuaW1hdGVkSWNvbjogMW4gPDwgMTZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgdXNpbmcgdGhlIG9sZCBwZXJtaXNzaW9ucyBjb25maWd1cmF0aW9uIGJlaGF2aW9yICovXG4gIGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjI6IDFuIDw8IDE0bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBzZXQgdXAgYXV0byBtb2RlcmF0aW9uIHJ1bGVzICovXG4gIGF1dG9Nb2RlcmF0aW9uOiAxbiA8PCAyOG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIGd1aWxkIGJhbm5lciBpbWFnZSAqL1xuICBiYW5uZXI6IDFuIDw8IDE3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGNhbiBlbmFibGUgd2VsY29tZSBzY3JlZW4sIE1lbWJlcnNoaXAgU2NyZWVuaW5nLCBzdGFnZSBjaGFubmVscyBhbmQgZGlzY292ZXJ5LCBhbmQgcmVjZWl2ZXMgY29tbXVuaXR5IHVwZGF0ZXMgKi9cbiAgY29tbXVuaXR5OiAxbiA8PCAxMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBtb25ldGl6YXRpb24uICovXG4gIGNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsOiAxbiA8PCAzMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgcm9sZSBzdWJzY3JpcHRpb24gcHJvbW8gcGFnZS4gKi9cbiAgY3JlYXRvclN0b3JlUGFnZTogMW4gPDwgMzJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGJlZW4gc2V0IGFzIGEgc3VwcG9ydCBzZXJ2ZXIgb24gdGhlIEFwcCBEaXJlY3RvcnkgKi9cbiAgZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcjogMW4gPDwgMzBuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBiZSBkaXNjb3ZlcmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZGlzY292ZXJhYmxlOiAxbiA8PCAxM24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIGJlIGZlYXR1cmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZmVhdHVyYWJsZTogMW4gPDwgMTVuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHBhdXNlZCBpbnZpdGVzLCBwcmV2ZW50aW5nIG5ldyB1c2VycyBmcm9tIGpvaW5pbmcgKi9cbiAgaW52aXRlc0Rpc2FibGVkOiAxbiA8PCAyOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBpbnZpdGUgc3BsYXNoIGJhY2tncm91bmQgKi9cbiAgaW52aXRlU3BsYXNoOiAxbiA8PCA1bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIFtNZW1iZXJzaGlwIFNjcmVlbmluZ10oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI21lbWJlcnNoaXAtc2NyZWVuaW5nLW9iamVjdCkgKi9cbiAgbWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQ6IDFuIDw8IDE5bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBtb3JlIHNvdW5kYm9hcmQgc291bmQgc2xvdCAqL1xuICBtb3JlU291bmRib2FyZDogMW4gPDwgMjRuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGluY3JlYXNlZCBjdXN0b20gc3RpY2tlciBzbG90cyAqL1xuICBtb3JlU3RpY2tlcnM6IDFuIDw8IDIzbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gY3JlYXRlIG5ld3MgY2hhbm5lbHMgKi9cbiAgbmV3czogMW4gPDwgMTJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgcGFydG5lcmVkICovXG4gIHBhcnRuZXJlZDogMW4gPDwgOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBjYW4gYmUgcHJldmlld2VkIGJlZm9yZSBqb2luaW5nIHZpYSBNZW1iZXJzaGlwIFNjcmVlbmluZyBvciB0aGUgZGlyZWN0b3J5ICovXG4gIHByZXZpZXdFbmFibGVkOiAxbiA8PCAyMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZGlzYWJsZWQgYWxlcnRzIGZvciBqb2luIHJhaWRzIGluIHRoZSBjb25maWd1cmVkIHNhZmV0eSBhbGVydHMgY2hhbm5lbCAqL1xuICByYWlkQWxlcnRzRGlzYWJsZWQ6IDFuIDw8IDIybixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IHJvbGUgaWNvbnMgKi9cbiAgcm9sZUljb25zOiAxbiA8PCAyN24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgcm9sZSBzdWJzY3JpcHRpb25zIHRoYXQgY2FuIGJlIHB1cmNoYXNlZC4gKi9cbiAgcm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZTogMW4gPDwgMzNuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgcm9sZSBzdWJzY3JpcHRpb25zLiAqL1xuICByb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQ6IDFuIDw8IDM0bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBjcmVhdGVkIHNvdW5kYm9hcmQgc291bmRzLiAqL1xuICBzb3VuZGJvYXJkOiAxbiA8PCAyNW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aWNrZXRlZCBldmVudHMgKi9cbiAgdGlja2V0ZWRFdmVudHNFbmFibGVkOiAxbiA8PCAyMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIHZhbml0eSBVUkwgKi9cbiAgdmFuaXR5VXJsOiAxbiA8PCA3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHZlcmlmaWVkICovXG4gIHZlcmlmaWVkOiAxbiA8PCA4bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IDM4NCBrYnBzIGJpdHJhdGUgaW4gdm9pY2UgKHByZXZpb3VzbHkgVklQIHZvaWNlIHNlcnZlcnMpICovXG4gIHZpcFJlZ2lvbnM6IDFuIDw8IDZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgdGhlIHdlbGNvbWUgc2NyZWVuICovXG4gIHdlbGNvbWVTY3JlZW5FbmFibGVkOiAxbiA8PCAxOG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIGd1ZXN0IGludml0ZXMgKi9cbiAgZ3Vlc3RzRW5hYmxlZDogMW4gPDwgMjZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgZ3VpbGQgdGFncyAqL1xuICBndWlsZFRhZ3M6IDFuIDw8IDM2bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IGdyYWRpZW50IGNvbG9ycyB0byByb2xlcyAqL1xuICBlbmhhbmNlZFJvbGVDb2xvcnM6IDFuIDw8IDM1bixcbn1cblxuZXhwb3J0IGNsYXNzIEd1aWxkVG9nZ2xlcyBleHRlbmRzIFRvZ2dsZUJpdGZpZWxkQmlnaW50IHtcbiAgY29uc3RydWN0b3IoZ3VpbGRPclRvZ2dsZXNCaWdpbnQ6IERpc2NvcmRHdWlsZCB8IGJpZ2ludCkge1xuICAgIHN1cGVyKClcblxuICAgIGlmICh0eXBlb2YgZ3VpbGRPclRvZ2dsZXNCaWdpbnQgPT09ICdiaWdpbnQnKSB0aGlzLmJpdGZpZWxkID0gZ3VpbGRPclRvZ2dsZXNCaWdpbnRcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IGd1aWxkID0gZ3VpbGRPclRvZ2dsZXNCaWdpbnRcbiAgICAgIC8vIENhdXNlIGRpc2NvcmQgYmUgc21hcnQgbGlrZSB0aGF0XG4gICAgICBpZiAoIWd1aWxkLmZlYXR1cmVzKSBndWlsZC5mZWF0dXJlcyA9IFtdXG5cbiAgICAgIGlmIChndWlsZC5vd25lcikgdGhpcy5hZGQoR3VpbGRUb2dnbGUub3duZXIpXG4gICAgICBpZiAoZ3VpbGQud2lkZ2V0X2VuYWJsZWQpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLndpZGdldEVuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQubGFyZ2UpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmxhcmdlKVxuICAgICAgaWYgKGd1aWxkLnVuYXZhaWxhYmxlKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS51bmF2YWlsYWJsZSlcbiAgICAgIGlmIChndWlsZC5wcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkKVxuXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5BbmltYXRlZEJhbm5lcikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmFuaW1hdGVkQmFubmVyKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQW5pbWF0ZWRJY29uKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuYW5pbWF0ZWRJY29uKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjIpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5BdXRvTW9kZXJhdGlvbikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmF1dG9Nb2RlcmF0aW9uKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQmFubmVyKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuYmFubmVyKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQ29tbXVuaXR5KSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuY29tbXVuaXR5KVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQ3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5jcmVhdG9yTW9uZXRpemFibGVQcm92aXNpb25hbClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkNyZWF0b3JTdG9yZVBhZ2UpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5jcmVhdG9yU3RvcmVQYWdlKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRGV2ZWxvcGVyU3VwcG9ydFNlcnZlcikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmRldmVsb3BlclN1cHBvcnRTZXJ2ZXIpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5EaXNjb3ZlcmFibGUpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5kaXNjb3ZlcmFibGUpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5GZWF0dXJhYmxlKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZmVhdHVyYWJsZSlcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkludml0ZXNEaXNhYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmludml0ZXNEaXNhYmxlZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkludml0ZVNwbGFzaCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmludml0ZVNwbGFzaClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLk1lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUubWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Nb3JlU291bmRib2FyZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm1vcmVTb3VuZGJvYXJkKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuTW9yZVN0aWNrZXJzKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUubW9yZVN0aWNrZXJzKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuTmV3cykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm5ld3MpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5QYXJ0bmVyZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wYXJ0bmVyZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5QcmV2aWV3RW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnByZXZpZXdFbmFibGVkKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUmFpZEFsZXJ0c0Rpc2FibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUucmFpZEFsZXJ0c0Rpc2FibGVkKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUm9sZUljb25zKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUucm9sZUljb25zKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnJvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Sb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5yb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Tb3VuZGJvYXJkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuc291bmRib2FyZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlRpY2tldGVkRXZlbnRzRW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnRpY2tldGVkRXZlbnRzRW5hYmxlZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlZhbml0eVVybCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnZhbml0eVVybClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlZlcmlmaWVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudmVyaWZpZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5WaXBSZWdpb25zKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudmlwUmVnaW9ucylcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLldlbGNvbWVTY3JlZW5FbmFibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUud2VsY29tZVNjcmVlbkVuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5HdWVzdHNFbmFibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZ3Vlc3RzRW5hYmxlZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkd1aWxkVGFncykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmd1aWxkVGFncylcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkVuaGFuY2VkUm9sZUNvbG9ycykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmVuaGFuY2VkUm9sZUNvbG9ycylcbiAgICB9XG4gIH1cblxuICBnZXQgZmVhdHVyZXMoKTogR3VpbGRGZWF0dXJlS2V5c1tdIHtcbiAgICBjb25zdCBmZWF0dXJlczogR3VpbGRGZWF0dXJlS2V5c1tdID0gW11cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhHdWlsZFRvZ2dsZSkpIHtcbiAgICAgIGlmICghZ3VpbGRGZWF0dXJlTmFtZXMuaW5jbHVkZXMoa2V5IGFzIEd1aWxkRmVhdHVyZUtleXMpKSBjb250aW51ZVxuICAgICAgaWYgKCFzdXBlci5jb250YWlucyhHdWlsZFRvZ2dsZVtrZXkgYXMgR3VpbGRUb2dnbGVLZXlzXSkpIGNvbnRpbnVlXG5cbiAgICAgIGZlYXR1cmVzLnB1c2goa2V5IGFzIEd1aWxkRmVhdHVyZUtleXMpXG4gICAgfVxuXG4gICAgcmV0dXJuIGZlYXR1cmVzXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgYm90IGlzIHRoZSBvd25lciBvZiB0aGUgZ3VpbGQgKi9cbiAgZ2V0IG93bmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnb3duZXInKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHNlcnZlciB3aWRnZXQgaXMgZW5hYmxlZCAqL1xuICBnZXQgd2lkZ2V0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3dpZGdldEVuYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyBjb25zaWRlcmVkIGEgbGFyZ2UgZ3VpbGQgKi9cbiAgZ2V0IGxhcmdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnbGFyZ2UnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhpcyBndWlsZCBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYW4gb3V0YWdlICovXG4gIGdldCB1bmF2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3VuYXZhaWxhYmxlJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgdGhlIGJvb3N0IHByb2dyZXNzIGJhciBlbmFibGVkICovXG4gIGdldCBwcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYW4gaW52aXRlIHNwbGFzaCBiYWNrZ3JvdW5kICovXG4gIGdldCBpbnZpdGVTcGxhc2goKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdpbnZpdGVTcGxhc2gnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IDM4NCBrYnBzIGJpdHJhdGUgaW4gdm9pY2UgKHByZXZpb3VzbHkgVklQIHZvaWNlIHNlcnZlcnMpICovXG4gIGdldCB2aXBSZWdpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndmlwUmVnaW9ucycpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYSB2YW5pdHkgVVJMICovXG4gIGdldCB2YW5pdHlVcmwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd2YW5pdHlVcmwnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHZlcmlmaWVkICovXG4gIGdldCB2ZXJpZmllZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3ZlcmlmaWVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBwYXJ0bmVyZWQgKi9cbiAgZ2V0IHBhcnRuZXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3BhcnRuZXJlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgY2FuIGVuYWJsZSB3ZWxjb21lIHNjcmVlbiwgTWVtYmVyc2hpcCBTY3JlZW5pbmcsIHN0YWdlIGNoYW5uZWxzIGFuZCBkaXNjb3ZlcnksIGFuZCByZWNlaXZlcyBjb21tdW5pdHkgdXBkYXRlcyAqL1xuICBnZXQgY29tbXVuaXR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnY29tbXVuaXR5JylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBHdWlsZCBoYXMgYmVlbiBzZXQgYXMgYSBzdXBwb3J0IHNlcnZlciBvbiB0aGUgQXBwIERpcmVjdG9yeSAqL1xuICBnZXQgZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2RldmVsb3BlclN1cHBvcnRTZXJ2ZXInKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGFuIGFuaW1hdGVkIGd1aWxkIGJhbm5lciBpbWFnZSAqL1xuICBnZXQgYW5pbWF0ZWRCYW5uZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdhbmltYXRlZEJhbm5lcicpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBjcmVhdGUgbmV3cyBjaGFubmVscyAqL1xuICBnZXQgbmV3cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ25ld3MnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gYmUgZGlzY292ZXJlZCBpbiB0aGUgZGlyZWN0b3J5ICovXG4gIGdldCBkaXNjb3ZlcmFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdkaXNjb3ZlcmFibGUnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gYmUgZmVhdHVyZWQgaW4gdGhlIGRpcmVjdG9yeSAqL1xuICBnZXQgZmVhdHVyYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2ZlYXR1cmFibGUnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGFuIGFuaW1hdGVkIGd1aWxkIGljb24gKi9cbiAgZ2V0IGFuaW1hdGVkSWNvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2FuaW1hdGVkSWNvbicpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYSBndWlsZCBiYW5uZXIgaW1hZ2UgKi9cbiAgZ2V0IGJhbm5lcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2Jhbm5lcicpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgdGhlIHdlbGNvbWUgc2NyZWVuICovXG4gIGdldCB3ZWxjb21lU2NyZWVuRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3dlbGNvbWVTY3JlZW5FbmFibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBbTWVtYmVyc2hpcCBTY3JlZW5pbmddKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNtZW1iZXJzaGlwLXNjcmVlbmluZy1vYmplY3QpICovXG4gIGdldCBtZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ21lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgbW9yZSBzb3VuZGJvYXJkIHNvdW5kIHNsb3QgKi9cbiAgZ2V0IG1vcmVTb3VuZGJvYXJkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnbW9yZVNvdW5kYm9hcmQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGNhbiBiZSBwcmV2aWV3ZWQgYmVmb3JlIGpvaW5pbmcgdmlhIE1lbWJlcnNoaXAgU2NyZWVuaW5nIG9yIHRoZSBkaXJlY3RvcnkgKi9cbiAgZ2V0IHByZXZpZXdFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncHJldmlld0VuYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIHRpY2tldGVkIGV2ZW50cyAqL1xuICBnZXQgdGlja2V0ZWRFdmVudHNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndGlja2V0ZWRFdmVudHNFbmFibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgaW5jcmVhc2VkIGN1c3RvbSBzdGlja2VyIHNsb3RzICovXG4gIGdldCBtb3JlU3RpY2tlcnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdtb3JlU3RpY2tlcnMnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IHJvbGUgaWNvbnMgKi9cbiAgZ2V0IHJvbGVJY29ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3JvbGVJY29ucycpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHNldCB1cCBhdXRvIG1vZGVyYXRpb24gcnVsZXMgKi9cbiAgZ2V0IGF1dG9Nb2RlcmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnYXV0b01vZGVyYXRpb24nKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBwYXVzZWQgaW52aXRlcywgcHJldmVudGluZyBuZXcgdXNlcnMgZnJvbSBqb2luaW5nICovXG4gIGdldCBpbnZpdGVzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdpbnZpdGVzRGlzYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHVzaW5nIHRoZSBvbGQgcGVybWlzc2lvbnMgY29uZmlndXJhdGlvbiBiZWhhdmlvciAqL1xuICBnZXQgYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2FwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjInKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIG1vbmV0aXphdGlvbi4gKi9cbiAgZ2V0IGNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIHRoZSByb2xlIHN1YnNjcmlwdGlvbiBwcm9tbyBwYWdlLiAqL1xuICBnZXQgY3JlYXRvclN0b3JlUGFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2NyZWF0b3JTdG9yZVBhZ2UnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBkaXNhYmxlZCBhbGVydHMgZm9yIGpvaW4gcmFpZHMgaW4gdGhlIGNvbmZpZ3VyZWQgc2FmZXR5IGFsZXJ0cyBjaGFubmVsICovXG4gIGdldCByYWlkQWxlcnRzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdyYWlkQWxlcnRzRGlzYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyByb2xlIHN1YnNjcmlwdGlvbnMgdGhhdCBjYW4gYmUgcHVyY2hhc2VkLiAqL1xuICBnZXQgcm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3JvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIHJvbGUgc3Vic2NyaXB0aW9ucy4gKi9cbiAgZ2V0IHJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3JvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGNyZWF0ZWQgc291bmRib2FyZCBzb3VuZHMuICovXG4gIGdldCBzb3VuZGJvYXJkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnc291bmRib2FyZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBndWVzdCBpbnZpdGVzICovXG4gIGdldCBndWVzdHNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZ3Vlc3RzRW5hYmxlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgZ3VpbGQgdGFncyAqL1xuICBnZXQgZ3VpbGRUYWdzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZ3VpbGRUYWdzJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIHNldCBncmFkaWVudCBjb2xvcnMgdG8gcm9sZXMgKi9cbiAgZ2V0IGVuaGFuY2VkUm9sZUNvbG9ycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2VuaGFuY2VkUm9sZUNvbG9ycycpXG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgb3Igbm90IHRoZSBwZXJtaXNzaW9ucyBleGlzdCBpbiB0aGlzICovXG4gIGhhcyhwZXJtaXNzaW9uczogR3VpbGRUb2dnbGVLZXlzIHwgR3VpbGRUb2dnbGVLZXlzW10pOiBib29sZWFuIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocGVybWlzc2lvbnMpKSByZXR1cm4gc3VwZXIuY29udGFpbnMoR3VpbGRUb2dnbGVbcGVybWlzc2lvbnNdKVxuXG4gICAgcmV0dXJuIHN1cGVyLmNvbnRhaW5zKHBlcm1pc3Npb25zLnJlZHVjZSgoYSwgYikgPT4gKGEgfD0gR3VpbGRUb2dnbGVbYl0pLCAwbikpXG4gIH1cblxuICAvKiogTGlzdHMgYWxsIHRoZSB0b2dnbGVzIGZvciB0aGUgcm9sZSBhbmQgd2hldGhlciBvciBub3QgZWFjaCBpcyB0cnVlIG9yIGZhbHNlLiAqL1xuICBsaXN0KCk6IFJlY29yZDxHdWlsZFRvZ2dsZUtleXMsIGJvb2xlYW4+IHtcbiAgICBjb25zdCBqc29uOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoR3VpbGRUb2dnbGUpKSB7XG4gICAgICBqc29uW2tleV0gPSBzdXBlci5jb250YWlucyh2YWx1ZSlcbiAgICB9XG5cbiAgICByZXR1cm4ganNvbiBhcyBSZWNvcmQ8R3VpbGRUb2dnbGVLZXlzLCBib29sZWFuPlxuICB9XG59XG5cbmV4cG9ydCB0eXBlIEd1aWxkVG9nZ2xlS2V5cyA9IGtleW9mIHR5cGVvZiBHdWlsZFRvZ2dsZVxuXG5leHBvcnQgdHlwZSBHdWlsZEZlYXR1cmVLZXlzID0gKHR5cGVvZiBndWlsZEZlYXR1cmVOYW1lcylbbnVtYmVyXVxuIl0sIm5hbWVzIjpbIkd1aWxkRmVhdHVyZXMiLCJUb2dnbGVCaXRmaWVsZEJpZ2ludCIsImd1aWxkRmVhdHVyZU5hbWVzIiwiR3VpbGRUb2dnbGUiLCJvd25lciIsIndpZGdldEVuYWJsZWQiLCJsYXJnZSIsInVuYXZhaWxhYmxlIiwicHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCIsImFuaW1hdGVkQmFubmVyIiwiYW5pbWF0ZWRJY29uIiwiYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMiIsImF1dG9Nb2RlcmF0aW9uIiwiYmFubmVyIiwiY29tbXVuaXR5IiwiY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwiLCJjcmVhdG9yU3RvcmVQYWdlIiwiZGV2ZWxvcGVyU3VwcG9ydFNlcnZlciIsImRpc2NvdmVyYWJsZSIsImZlYXR1cmFibGUiLCJpbnZpdGVzRGlzYWJsZWQiLCJpbnZpdGVTcGxhc2giLCJtZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCIsIm1vcmVTb3VuZGJvYXJkIiwibW9yZVN0aWNrZXJzIiwibmV3cyIsInBhcnRuZXJlZCIsInByZXZpZXdFbmFibGVkIiwicmFpZEFsZXJ0c0Rpc2FibGVkIiwicm9sZUljb25zIiwicm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSIsInJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCIsInNvdW5kYm9hcmQiLCJ0aWNrZXRlZEV2ZW50c0VuYWJsZWQiLCJ2YW5pdHlVcmwiLCJ2ZXJpZmllZCIsInZpcFJlZ2lvbnMiLCJ3ZWxjb21lU2NyZWVuRW5hYmxlZCIsImd1ZXN0c0VuYWJsZWQiLCJndWlsZFRhZ3MiLCJlbmhhbmNlZFJvbGVDb2xvcnMiLCJHdWlsZFRvZ2dsZXMiLCJndWlsZE9yVG9nZ2xlc0JpZ2ludCIsImJpdGZpZWxkIiwiZ3VpbGQiLCJmZWF0dXJlcyIsImFkZCIsIndpZGdldF9lbmFibGVkIiwicHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZCIsImluY2x1ZGVzIiwiQW5pbWF0ZWRCYW5uZXIiLCJBbmltYXRlZEljb24iLCJBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyIiwiQXV0b01vZGVyYXRpb24iLCJCYW5uZXIiLCJDb21tdW5pdHkiLCJDcmVhdG9yTW9uZXRpemFibGVQcm92aXNpb25hbCIsIkNyZWF0b3JTdG9yZVBhZ2UiLCJEZXZlbG9wZXJTdXBwb3J0U2VydmVyIiwiRGlzY292ZXJhYmxlIiwiRmVhdHVyYWJsZSIsIkludml0ZXNEaXNhYmxlZCIsIkludml0ZVNwbGFzaCIsIk1lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkIiwiTW9yZVNvdW5kYm9hcmQiLCJNb3JlU3RpY2tlcnMiLCJOZXdzIiwiUGFydG5lcmVkIiwiUHJldmlld0VuYWJsZWQiLCJSYWlkQWxlcnRzRGlzYWJsZWQiLCJSb2xlSWNvbnMiLCJSb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlIiwiUm9sZVN1YnNjcmlwdGlvbnNFbmFibGVkIiwiU291bmRib2FyZCIsIlRpY2tldGVkRXZlbnRzRW5hYmxlZCIsIlZhbml0eVVybCIsIlZlcmlmaWVkIiwiVmlwUmVnaW9ucyIsIldlbGNvbWVTY3JlZW5FbmFibGVkIiwiR3Vlc3RzRW5hYmxlZCIsIkd1aWxkVGFncyIsIkVuaGFuY2VkUm9sZUNvbG9ycyIsImtleSIsIk9iamVjdCIsImtleXMiLCJjb250YWlucyIsInB1c2giLCJoYXMiLCJwZXJtaXNzaW9ucyIsIkFycmF5IiwiaXNBcnJheSIsInJlZHVjZSIsImEiLCJiIiwibGlzdCIsImpzb24iLCJ2YWx1ZSIsImVudHJpZXMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQTRCQSxhQUFhLFFBQVEsb0JBQW1CO0FBQ3BFLFNBQVNDLG9CQUFvQixRQUFRLHNCQUFxQjtBQUUxRCxpRUFBaUUsR0FDakUsT0FBTyxNQUFNQyxvQkFBb0I7SUFDL0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRCxDQUFTO0FBRVYsT0FBTyxNQUFNQyxjQUFjO0lBQ3pCLDhDQUE4QyxHQUM5Q0MsT0FBTyxFQUFFLElBQUksRUFBRTtJQUNmLHlDQUF5QyxHQUN6Q0MsZUFBZSxFQUFFLElBQUksRUFBRTtJQUN2Qiw2Q0FBNkMsR0FDN0NDLE9BQU8sRUFBRSxJQUFJLEVBQUU7SUFDZix1REFBdUQsR0FDdkRDLGFBQWEsRUFBRSxJQUFJLEVBQUU7SUFDckIseURBQXlELEdBQ3pEQywyQkFBMkIsRUFBRSxJQUFJLEVBQUU7SUFFbkMsZ0NBQWdDO0lBRWhDLHVFQUF1RSxHQUN2RUMsZ0JBQWdCLEVBQUUsSUFBSSxHQUFHO0lBQ3pCLCtEQUErRCxHQUMvREMsY0FBYyxFQUFFLElBQUksR0FBRztJQUN2QiwwRUFBMEUsR0FDMUVDLGlDQUFpQyxFQUFFLElBQUksR0FBRztJQUMxQyx1REFBdUQsR0FDdkRDLGdCQUFnQixFQUFFLElBQUks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
@@ -1,6 +1,7 @@
1
1
  import { type DiscordMember } from '@discordeno/types';
2
2
  import { ToggleBitfield } from './ToggleBitfield.js';
3
- declare const memberFlags: readonly ["didRejoin", "startedOnboarding", "bypassesVerification", "completedOnboarding"];
3
+ /** @private This is subject to breaking changes without notices */
4
+ export declare const memberFlags: readonly ["didRejoin", "startedOnboarding", "bypassesVerification", "completedOnboarding"];
4
5
  export declare const MemberToggle: {
5
6
  /** Whether the user is deafened in voice channels */
6
7
  deaf: number;
@@ -65,5 +66,4 @@ export declare class MemberToggles extends ToggleBitfield {
65
66
  }
66
67
  export type MemberToggleKeys = keyof typeof MemberToggle;
67
68
  export type MemberFlagsKeys = (typeof memberFlags)[number];
68
- export {};
69
69
  //# sourceMappingURL=member.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../src/transformers/toggles/member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,QAAA,MAAM,WAAW,4FAA6F,CAAA;AAE9G,eAAO,MAAM,YAAY;IACvB,qDAAqD;;IAErD,kDAAkD;;IAElD,wFAAwF;;IAKxF,6CAA6C;;IAE7C,sCAAsC;;IAEtC,4DAA4D;;IAE5D,oCAAoC;;IAEpC,mFAAmF;;IAEnF,yDAAyD;;IAEzD,2DAA2D;;IAE3D,yEAAyE;;IAEzE,kDAAkD;;IAElD,+CAA+C;;CAEhD,CAAA;AAED,qBAAa,aAAc,SAAQ,cAAc;gBACnC,kBAAkB,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM;IA0B/D,IAAI,KAAK,IAAI,MAAM,CAelB;IAED,wDAAwD;IACxD,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,kDAAkD;IAClD,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,wFAAwF;IACxF,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,6CAA6C;IAC7C,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,sCAAsC;IACtC,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED,4DAA4D;IAC5D,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED,oCAAoC;IACpC,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,mFAAmF;IACnF,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,yDAAyD;IACzD,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,2DAA2D;IAC3D,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED,yEAAyE;IACzE,IAAI,0BAA0B,IAAI,OAAO,CAExC;IAED,kDAAkD;IAClD,IAAI,4BAA4B,IAAI,OAAO,CAE1C;IAED,+CAA+C;IAC/C,IAAI,0BAA0B,IAAI,OAAO,CAExC;IAED,0DAA0D;IAC1D,GAAG,CAAC,WAAW,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,OAAO;IAMhE,mFAAmF;IACnF,IAAI,IAAI,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC;CAQ1C;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,YAAY,CAAA;AAExD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA"}
1
+ {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../src/transformers/toggles/member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,mEAAmE;AACnE,eAAO,MAAM,WAAW,4FAA6F,CAAA;AAErH,eAAO,MAAM,YAAY;IACvB,qDAAqD;;IAErD,kDAAkD;;IAElD,wFAAwF;;IAKxF,6CAA6C;;IAE7C,sCAAsC;;IAEtC,4DAA4D;;IAE5D,oCAAoC;;IAEpC,mFAAmF;;IAEnF,yDAAyD;;IAEzD,2DAA2D;;IAE3D,yEAAyE;;IAEzE,kDAAkD;;IAElD,+CAA+C;;CAEhD,CAAA;AAED,qBAAa,aAAc,SAAQ,cAAc;gBACnC,kBAAkB,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM;IA0B/D,IAAI,KAAK,IAAI,MAAM,CAelB;IAED,wDAAwD;IACxD,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,kDAAkD;IAClD,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,wFAAwF;IACxF,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,6CAA6C;IAC7C,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,sCAAsC;IACtC,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED,4DAA4D;IAC5D,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED,oCAAoC;IACpC,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,mFAAmF;IACnF,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,yDAAyD;IACzD,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,2DAA2D;IAC3D,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED,yEAAyE;IACzE,IAAI,0BAA0B,IAAI,OAAO,CAExC;IAED,kDAAkD;IAClD,IAAI,4BAA4B,IAAI,OAAO,CAE1C;IAED,+CAA+C;IAC/C,IAAI,0BAA0B,IAAI,OAAO,CAExC;IAED,0DAA0D;IAC1D,GAAG,CAAC,WAAW,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,OAAO;IAMhE,mFAAmF;IACnF,IAAI,IAAI,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC;CAQ1C;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,YAAY,CAAA;AAExD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA"}