surgio 2.10.1 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +83 -50
  2. package/build/command/check.js +4 -4
  3. package/build/command/doctor.js +5 -5
  4. package/build/command/generate.js +4 -4
  5. package/build/command/lint.js +3 -3
  6. package/build/command/new.js +4 -4
  7. package/build/command/subscriptions.js +8 -7
  8. package/build/command/upload.js +3 -3
  9. package/build/generate.js +4 -4
  10. package/build/generator/artifact.d.ts +2 -1
  11. package/build/generator/artifact.js +19 -18
  12. package/build/generator/template.js +11 -17
  13. package/build/index.js +12 -8
  14. package/build/misc/flag_cn.d.ts +1 -0
  15. package/build/misc/flag_cn.js +3 -2
  16. package/build/provider/BlackSSLProvider.js +4 -4
  17. package/build/provider/ClashProvider.js +28 -54
  18. package/build/provider/CustomProvider.js +3 -5
  19. package/build/provider/Provider.d.ts +4 -0
  20. package/build/provider/Provider.js +34 -6
  21. package/build/provider/ShadowsocksJsonSubscribeProvider.js +4 -4
  22. package/build/provider/ShadowsocksSubscribeProvider.js +10 -26
  23. package/build/provider/ShadowsocksrSubscribeProvider.js +11 -26
  24. package/build/provider/SsdProvider.js +11 -27
  25. package/build/provider/TrojanProvider.d.ts +18 -0
  26. package/build/provider/TrojanProvider.js +78 -0
  27. package/build/provider/V2rayNSubscribeProvider.d.ts +3 -2
  28. package/build/provider/V2rayNSubscribeProvider.js +39 -22
  29. package/build/provider/index.js +4 -1
  30. package/build/types.d.ts +7 -1
  31. package/build/types.js +2 -1
  32. package/build/utils/config.js +12 -14
  33. package/build/utils/constant.js +5 -5
  34. package/build/utils/dns.js +6 -17
  35. package/build/utils/error-helper.js +1 -1
  36. package/build/utils/filter.js +3 -3
  37. package/build/utils/flag.js +4 -4
  38. package/build/utils/http-client.js +2 -2
  39. package/build/utils/index.d.ts +1 -0
  40. package/build/utils/index.js +58 -53
  41. package/build/utils/linter.js +3 -3
  42. package/build/utils/loon.js +5 -5
  43. package/build/utils/patch-proxy.js +3 -3
  44. package/build/utils/remote-snippet.js +10 -13
  45. package/build/utils/ss.js +4 -4
  46. package/build/utils/ssr.js +7 -7
  47. package/build/utils/subscription.js +7 -7
  48. package/build/utils/tmp-helper.js +2 -2
  49. package/build/utils/trojan.d.ts +2 -0
  50. package/build/utils/trojan.js +33 -0
  51. package/hygen-template/provider/new/index.js +3 -0
  52. package/package.json +22 -20
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isPkgBundle = exports.isGitLabCI = exports.isGitHubActions = exports.isHeroku = exports.isVercel = exports.isNow = exports.isIp = exports.lowercaseHeaderKeys = exports.applyFilter = exports.formatV2rayConfig = exports.ensureConfigFolder = exports.normalizeClashProxyGroupConfig = exports.decodeStringList = exports.pickAndFormatStringList = exports.toYaml = exports.generateClashProxyGroup = exports.getClashNodeNames = exports.getNodeNames = exports.getShadowsocksNodesJSON = exports.getQuantumultXNodes = exports.getQuantumultNodes = exports.getV2rayNNodes = exports.getShadowsocksrNodes = exports.getShadowsocksNodes = exports.fromBase64 = exports.toBase64 = exports.fromUrlSafeBase64 = exports.toUrlSafeBase64 = exports.getMellowNodes = exports.getClashNodes = exports.getSurgeNodes = exports.getShadowsocksJSONConfig = exports.getUrl = exports.getDownloadUrl = void 0;
6
+ exports.isRailway = exports.isPkgBundle = exports.isGitLabCI = exports.isGitHubActions = exports.isHeroku = exports.isVercel = exports.isNow = exports.isIp = exports.lowercaseHeaderKeys = exports.applyFilter = exports.formatV2rayConfig = exports.ensureConfigFolder = exports.normalizeClashProxyGroupConfig = exports.decodeStringList = exports.pickAndFormatStringList = exports.toYaml = exports.generateClashProxyGroup = exports.getClashNodeNames = exports.getNodeNames = exports.getShadowsocksNodesJSON = exports.getQuantumultXNodes = exports.getQuantumultNodes = exports.getV2rayNNodes = exports.getShadowsocksrNodes = exports.getShadowsocksNodes = exports.fromBase64 = exports.toBase64 = exports.fromUrlSafeBase64 = exports.toUrlSafeBase64 = exports.getMellowNodes = exports.getClashNodes = exports.getSurgeNodes = exports.getShadowsocksJSONConfig = exports.getUrl = exports.getDownloadUrl = void 0;
7
7
  const logger_1 = require("@surgio/logger");
8
8
  const assert_1 = __importDefault(require("assert"));
9
9
  const fs_extra_1 = __importDefault(require("fs-extra"));
@@ -21,7 +21,7 @@ const constant_1 = require("./constant");
21
21
  const filter_1 = require("./filter");
22
22
  const http_client_1 = __importDefault(require("./http-client"));
23
23
  const v2ray_1 = require("./v2ray");
24
- const logger = logger_1.createLogger({ service: 'surgio:utils' });
24
+ const logger = (0, logger_1.createLogger)({ service: 'surgio:utils' });
25
25
  const getDownloadUrl = (baseUrl = '/', artifactName, inline = true, accessToken) => {
26
26
  let urlSearchParams;
27
27
  let name;
@@ -53,7 +53,7 @@ const getUrl = (baseUrl, path, accessToken) => {
53
53
  };
54
54
  exports.getUrl = getUrl;
55
55
  const getShadowsocksJSONConfig = async (url, udpRelay) => {
56
- assert_1.default(url, '未指定订阅地址 url');
56
+ (0, assert_1.default)(url, '未指定订阅地址 url');
57
57
  async function requestConfigFromRemote() {
58
58
  const response = cache_1.ConfigCache.has(url)
59
59
  ? JSON.parse(cache_1.ConfigCache.get(url))
@@ -96,7 +96,7 @@ const getSurgeNodes = function (list, filter) {
96
96
  if (arguments.length === 2 && typeof filter === 'undefined') {
97
97
  throw new Error(constant_1.ERR_INVALID_FILTER);
98
98
  }
99
- const result = exports.applyFilter(list, filter)
99
+ const result = (0, exports.applyFilter)(list, filter)
100
100
  .map((nodeConfig) => {
101
101
  var _a, _b, _c, _d;
102
102
  switch (nodeConfig.type) {
@@ -115,7 +115,7 @@ const getSurgeNodes = function (list, filter) {
115
115
  config.hostname,
116
116
  config.port,
117
117
  'encrypt-method=' + config.method,
118
- ...exports.pickAndFormatStringList(config, [
118
+ ...(0, exports.pickAndFormatStringList)(config, [
119
119
  'password',
120
120
  'udp-relay',
121
121
  'obfs',
@@ -142,7 +142,7 @@ const getSurgeNodes = function (list, filter) {
142
142
  config.method,
143
143
  config.password,
144
144
  'https://raw.githubusercontent.com/ConnersHua/SSEncrypt/master/SSEncrypt.module',
145
- ...exports.pickAndFormatStringList(config, [
145
+ ...(0, exports.pickAndFormatStringList)(config, [
146
146
  'udp-relay',
147
147
  'obfs',
148
148
  'obfs-host',
@@ -177,7 +177,7 @@ const getSurgeNodes = function (list, filter) {
177
177
  ...(typeof config.testUrl === 'string'
178
178
  ? [`test-url=${config.testUrl}`]
179
179
  : []),
180
- ...exports.pickAndFormatStringList(config, [
180
+ ...(0, exports.pickAndFormatStringList)(config, [
181
181
  'sni',
182
182
  'tfo',
183
183
  'mptcp',
@@ -202,7 +202,7 @@ const getSurgeNodes = function (list, filter) {
202
202
  ...(typeof config.testUrl === 'string'
203
203
  ? [`test-url=${config.testUrl}`]
204
204
  : []),
205
- ...exports.pickAndFormatStringList(config, ['tfo', 'mptcp']),
205
+ ...(0, exports.pickAndFormatStringList)(config, ['tfo', 'mptcp']),
206
206
  ].join(', '),
207
207
  ].join(' = ');
208
208
  }
@@ -220,7 +220,7 @@ const getSurgeNodes = function (list, filter) {
220
220
  ...(typeof config.testUrl === 'string'
221
221
  ? [`test-url=${config.testUrl}`]
222
222
  : []),
223
- ...exports.pickAndFormatStringList(config, [
223
+ ...(0, exports.pickAndFormatStringList)(config, [
224
224
  'psk',
225
225
  'obfs',
226
226
  'obfs-host',
@@ -273,7 +273,7 @@ const getSurgeNodes = function (list, filter) {
273
273
  if (config.hostnameIp && config.hostnameIp.length) {
274
274
  configString.push(...config.hostnameIp.map((item) => `addresses = ${item}`));
275
275
  }
276
- if (exports.isIp(config.hostname)) {
276
+ if ((0, exports.isIp)(config.hostname)) {
277
277
  configString.push(`addresses = ${config.hostname}`);
278
278
  }
279
279
  return [config.nodeName, configString.join(', ')].join(' = ');
@@ -330,8 +330,8 @@ const getSurgeNodes = function (list, filter) {
330
330
  throw new Error(`为 Surge 生成 Vmess 配置时必须为 Provider ${(_d = config.provider) === null || _d === void 0 ? void 0 : _d.name} 设置 startPort,参考 http://url.royli.dev/bWcpe`);
331
331
  }
332
332
  const jsonFileName = `v2ray_${config.localPort}_${config.hostname}_${config.port}.json`;
333
- const jsonFilePath = path_1.join(exports.ensureConfigFolder(), jsonFileName);
334
- const jsonFile = exports.formatV2rayConfig(config.localPort, nodeConfig);
333
+ const jsonFilePath = (0, path_1.join)((0, exports.ensureConfigFolder)(), jsonFileName);
334
+ const jsonFile = (0, exports.formatV2rayConfig)(config.localPort, nodeConfig);
335
335
  const args = [
336
336
  '--config',
337
337
  jsonFilePath.replace(os_1.default.homedir(), '$HOME'),
@@ -345,7 +345,7 @@ const getSurgeNodes = function (list, filter) {
345
345
  if (config.hostnameIp && config.hostnameIp.length) {
346
346
  configString.push(...config.hostnameIp.map((item) => `addresses = ${item}`));
347
347
  }
348
- if (exports.isIp(config.hostname)) {
348
+ if ((0, exports.isIp)(config.hostname)) {
349
349
  configString.push(`addresses = ${config.hostname}`);
350
350
  }
351
351
  // istanbul ignore next
@@ -361,7 +361,7 @@ const getSurgeNodes = function (list, filter) {
361
361
  nodeConfig.hostname,
362
362
  `${nodeConfig.port}`,
363
363
  `password=${nodeConfig.password}`,
364
- ...exports.pickAndFormatStringList(nodeConfig, [
364
+ ...(0, exports.pickAndFormatStringList)(nodeConfig, [
365
365
  'tfo',
366
366
  'mptcp',
367
367
  'sni',
@@ -390,7 +390,7 @@ const getSurgeNodes = function (list, filter) {
390
390
  ...(typeof nodeConfig.testUrl === 'string'
391
391
  ? [`test-url=${nodeConfig.testUrl}`]
392
392
  : []),
393
- ...exports.pickAndFormatStringList(nodeConfig, [
393
+ ...(0, exports.pickAndFormatStringList)(nodeConfig, [
394
394
  'username',
395
395
  'password',
396
396
  'sni',
@@ -423,7 +423,7 @@ const getClashNodes = function (list, filter) {
423
423
  if (arguments.length === 2 && typeof filter === 'undefined') {
424
424
  throw new Error(constant_1.ERR_INVALID_FILTER);
425
425
  }
426
- return exports.applyFilter(list, filter)
426
+ return (0, exports.applyFilter)(list, filter)
427
427
  .map((nodeConfig) => {
428
428
  var _a, _b, _c, _d, _e;
429
429
  // istanbul ignore next
@@ -450,7 +450,7 @@ const getClashNodes = function (list, filter) {
450
450
  }
451
451
  : null)), { host: nodeConfig['obfs-host'], path: nodeConfig['obfs-uri'] || '/', mux: typeof nodeConfig.mux === 'boolean'
452
452
  ? nodeConfig.mux
453
- : false, headers: nodeConfig.wsHeaders || {} }),
453
+ : false, headers: lodash_1.default.omit(nodeConfig.wsHeaders || {}, ['host']) }),
454
454
  }
455
455
  : null));
456
456
  case types_1.NodeTypeEnum.Vmess:
@@ -464,8 +464,10 @@ const getClashNodes = function (list, filter) {
464
464
  }
465
465
  : null)), (nodeConfig.network === 'ws'
466
466
  ? {
467
- 'ws-path': nodeConfig.path,
468
- 'ws-headers': Object.assign(Object.assign({}, (nodeConfig.host ? { host: nodeConfig.host } : null)), nodeConfig.wsHeaders),
467
+ 'ws-opts': {
468
+ path: nodeConfig.path,
469
+ headers: Object.assign(Object.assign({}, (nodeConfig.host ? { host: nodeConfig.host } : null)), lodash_1.default.omit(nodeConfig.wsHeaders, ['host'])),
470
+ },
469
471
  }
470
472
  : null));
471
473
  case types_1.NodeTypeEnum.Shadowsocksr: {
@@ -537,11 +539,11 @@ const getMellowNodes = function (list, filter) {
537
539
  if (arguments.length === 2 && typeof filter === 'undefined') {
538
540
  throw new Error(constant_1.ERR_INVALID_FILTER);
539
541
  }
540
- const result = exports.applyFilter(list, filter)
542
+ const result = (0, exports.applyFilter)(list, filter)
541
543
  .map((nodeConfig) => {
542
544
  switch (nodeConfig.type) {
543
545
  case types_1.NodeTypeEnum.Vmess: {
544
- const uri = v2ray_1.formatVmessUri(nodeConfig, { isMellow: true });
546
+ const uri = (0, v2ray_1.formatVmessUri)(nodeConfig, { isMellow: true });
545
547
  return [
546
548
  nodeConfig.nodeName,
547
549
  'vmess1',
@@ -549,7 +551,7 @@ const getMellowNodes = function (list, filter) {
549
551
  ].join(', ');
550
552
  }
551
553
  case types_1.NodeTypeEnum.Shadowsocks: {
552
- const uri = exports.getShadowsocksNodes([nodeConfig]);
554
+ const uri = (0, exports.getShadowsocksNodes)([nodeConfig]);
553
555
  return [nodeConfig.nodeName, 'ss', uri.trim()].join(', ');
554
556
  }
555
557
  // istanbul ignore next
@@ -570,7 +572,7 @@ const fromUrlSafeBase64 = (str) => {
570
572
  if (urlsafe_base64_1.default.validate(str)) {
571
573
  return urlsafe_base64_1.default.decode(str).toString();
572
574
  }
573
- return exports.fromBase64(str);
575
+ return (0, exports.fromBase64)(str);
574
576
  };
575
577
  exports.fromUrlSafeBase64 = fromUrlSafeBase64;
576
578
  // istanbul ignore next
@@ -599,7 +601,7 @@ const getShadowsocksNodes = (list, groupName = 'Surgio') => {
599
601
  : null)), (groupName ? { group: encodeURIComponent(groupName) } : null));
600
602
  return [
601
603
  'ss://',
602
- exports.toUrlSafeBase64(`${config.method}:${config.password}`),
604
+ (0, exports.toUrlSafeBase64)(`${config.method}:${config.password}`),
603
605
  '@',
604
606
  config.hostname,
605
607
  ':',
@@ -638,18 +640,18 @@ const getShadowsocksrNodes = (list, groupName) => {
638
640
  nodeConfig.protocol,
639
641
  nodeConfig.method,
640
642
  nodeConfig.obfs,
641
- exports.toUrlSafeBase64(nodeConfig.password),
643
+ (0, exports.toUrlSafeBase64)(nodeConfig.password),
642
644
  ].join(':');
643
645
  const query = {
644
- obfsparam: exports.toUrlSafeBase64(nodeConfig.obfsparam),
645
- protoparam: exports.toUrlSafeBase64(nodeConfig.protoparam),
646
- remarks: exports.toUrlSafeBase64(nodeConfig.nodeName),
647
- group: exports.toUrlSafeBase64(groupName),
646
+ obfsparam: (0, exports.toUrlSafeBase64)(nodeConfig.obfsparam),
647
+ protoparam: (0, exports.toUrlSafeBase64)(nodeConfig.protoparam),
648
+ remarks: (0, exports.toUrlSafeBase64)(nodeConfig.nodeName),
649
+ group: (0, exports.toUrlSafeBase64)(groupName),
648
650
  udpport: 0,
649
651
  uot: 0,
650
652
  };
651
653
  return ('ssr://' +
652
- exports.toUrlSafeBase64([
654
+ (0, exports.toUrlSafeBase64)([
653
655
  baseUri,
654
656
  '/?',
655
657
  query_string_1.default.stringify(query, {
@@ -689,7 +691,7 @@ const getV2rayNNodes = (list) => {
689
691
  path: nodeConfig.path,
690
692
  tls: nodeConfig.tls ? 'tls' : '',
691
693
  };
692
- return 'vmess://' + exports.toBase64(JSON.stringify(json));
694
+ return 'vmess://' + (0, exports.toBase64)(JSON.stringify(json));
693
695
  }
694
696
  // istanbul ignore next
695
697
  default:
@@ -711,7 +713,7 @@ const getQuantumultNodes = function (list, groupName = 'Surgio', filter) {
711
713
  .map((headerKey) => `${headerKey}:${wsHeaders[headerKey]}`)
712
714
  .join('[Rr][Nn]');
713
715
  }
714
- const result = exports.applyFilter(list, filter)
716
+ const result = (0, exports.applyFilter)(list, filter)
715
717
  .map((nodeConfig) => {
716
718
  switch (nodeConfig.type) {
717
719
  case types_1.NodeTypeEnum.Vmess: {
@@ -733,13 +735,13 @@ const getQuantumultNodes = function (list, groupName = 'Surgio', filter) {
733
735
  ]
734
736
  .filter((value) => !!value)
735
737
  .join(',');
736
- return ('vmess://' + exports.toBase64([nodeConfig.nodeName, config].join(' = ')));
738
+ return ('vmess://' + (0, exports.toBase64)([nodeConfig.nodeName, config].join(' = ')));
737
739
  }
738
740
  case types_1.NodeTypeEnum.Shadowsocks: {
739
- return exports.getShadowsocksNodes([nodeConfig], groupName);
741
+ return (0, exports.getShadowsocksNodes)([nodeConfig], groupName);
740
742
  }
741
743
  case types_1.NodeTypeEnum.Shadowsocksr:
742
- return exports.getShadowsocksrNodes([nodeConfig], groupName);
744
+ return (0, exports.getShadowsocksrNodes)([nodeConfig], groupName);
743
745
  case types_1.NodeTypeEnum.HTTPS: {
744
746
  const config = [
745
747
  nodeConfig.nodeName,
@@ -754,7 +756,7 @@ const getQuantumultNodes = function (list, groupName = 'Surgio', filter) {
754
756
  'certificate=1',
755
757
  ].join(', '),
756
758
  ].join(' = ');
757
- return 'http://' + exports.toBase64(config);
759
+ return 'http://' + (0, exports.toBase64)(config);
758
760
  }
759
761
  // istanbul ignore next
760
762
  default:
@@ -774,7 +776,7 @@ const getQuantumultXNodes = function (list, filter) {
774
776
  if (arguments.length === 2 && typeof filter === 'undefined') {
775
777
  throw new Error(constant_1.ERR_INVALID_FILTER);
776
778
  }
777
- const result = exports.applyFilter(list, filter)
779
+ const result = (0, exports.applyFilter)(list, filter)
778
780
  .map((nodeConfig) => {
779
781
  switch (nodeConfig.type) {
780
782
  case types_1.NodeTypeEnum.Vmess: {
@@ -826,7 +828,7 @@ const getQuantumultXNodes = function (list, filter) {
826
828
  case types_1.NodeTypeEnum.Shadowsocks: {
827
829
  const config = [
828
830
  `${nodeConfig.hostname}:${nodeConfig.port}`,
829
- ...exports.pickAndFormatStringList(nodeConfig, ['method', 'password']),
831
+ ...(0, exports.pickAndFormatStringList)(nodeConfig, ['method', 'password']),
830
832
  ...(nodeConfig.obfs && ['http', 'tls'].includes(nodeConfig.obfs)
831
833
  ? [
832
834
  `obfs=${nodeConfig.obfs}`,
@@ -855,7 +857,7 @@ const getQuantumultXNodes = function (list, filter) {
855
857
  case types_1.NodeTypeEnum.Shadowsocksr: {
856
858
  const config = [
857
859
  `${nodeConfig.hostname}:${nodeConfig.port}`,
858
- ...exports.pickAndFormatStringList(nodeConfig, ['method', 'password']),
860
+ ...(0, exports.pickAndFormatStringList)(nodeConfig, ['method', 'password']),
859
861
  `ssr-protocol=${nodeConfig.protocol}`,
860
862
  `ssr-protocol-param=${nodeConfig.protoparam}`,
861
863
  `obfs=${nodeConfig.obfs}`,
@@ -870,7 +872,7 @@ const getQuantumultXNodes = function (list, filter) {
870
872
  case types_1.NodeTypeEnum.HTTPS: {
871
873
  const config = [
872
874
  `${nodeConfig.hostname}:${nodeConfig.port}`,
873
- ...exports.pickAndFormatStringList(nodeConfig, ['username', 'password']),
875
+ ...(0, exports.pickAndFormatStringList)(nodeConfig, ['username', 'password']),
874
876
  ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
875
877
  ];
876
878
  if (nodeConfig.type === types_1.NodeTypeEnum.HTTPS) {
@@ -882,7 +884,7 @@ const getQuantumultXNodes = function (list, filter) {
882
884
  case types_1.NodeTypeEnum.Trojan: {
883
885
  const config = [
884
886
  `${nodeConfig.hostname}:${nodeConfig.port}`,
885
- ...exports.pickAndFormatStringList(nodeConfig, ['password']),
887
+ ...(0, exports.pickAndFormatStringList)(nodeConfig, ['password']),
886
888
  'over-tls=true',
887
889
  `tls-verification=${nodeConfig.skipCertVerify !== true}`,
888
890
  ...(nodeConfig.sni ? [`tls-host=${nodeConfig.sni}`] : []),
@@ -914,7 +916,7 @@ const getShadowsocksNodesJSON = (list) => {
914
916
  switch (nodeConfig.type) {
915
917
  case types_1.NodeTypeEnum.Shadowsocks: {
916
918
  const useObfs = Boolean(nodeConfig.obfs && nodeConfig['obfs-host']);
917
- return Object.assign({ remarks: nodeConfig.nodeName, server: nodeConfig.hostname, server_port: nodeConfig.port, method: nodeConfig.method, remarks_base64: exports.toUrlSafeBase64(nodeConfig.nodeName), password: nodeConfig.password, tcp_over_udp: false, udp_over_tcp: false, enable: true }, (useObfs
919
+ return Object.assign({ remarks: nodeConfig.nodeName, server: nodeConfig.hostname, server_port: nodeConfig.port, method: nodeConfig.method, remarks_base64: (0, exports.toUrlSafeBase64)(nodeConfig.nodeName), password: nodeConfig.password, tcp_over_udp: false, udp_over_tcp: false, enable: true }, (useObfs
918
920
  ? {
919
921
  plugin: 'obfs-local',
920
922
  'plugin-opts': `obfs=${nodeConfig.obfs};obfs-host=${nodeConfig['obfs-host']}`,
@@ -936,7 +938,7 @@ const getNodeNames = function (list, filter, separator) {
936
938
  if (arguments.length === 2 && typeof filter === 'undefined') {
937
939
  throw new Error(constant_1.ERR_INVALID_FILTER);
938
940
  }
939
- return exports.applyFilter(list, filter)
941
+ return (0, exports.applyFilter)(list, filter)
940
942
  .map((item) => item.nodeName)
941
943
  .join(separator || ', ');
942
944
  };
@@ -950,7 +952,7 @@ const getClashNodeNames = function (list, filter, existingProxies) {
950
952
  if (existingProxies) {
951
953
  result = result.concat(existingProxies);
952
954
  }
953
- result = result.concat(exports.applyFilter(list, filter).map((item) => item.nodeName));
955
+ result = result.concat((0, exports.applyFilter)(list, filter).map((item) => item.nodeName));
954
956
  return result;
955
957
  };
956
958
  exports.getClashNodeNames = getClashNodeNames;
@@ -958,7 +960,7 @@ const generateClashProxyGroup = (ruleName, ruleType, nodeNameList, options) => {
958
960
  let proxies;
959
961
  if (options.existingProxies) {
960
962
  if (options.filter) {
961
- const nodes = exports.applyFilter(nodeNameList, options.filter);
963
+ const nodes = (0, exports.applyFilter)(nodeNameList, options.filter);
962
964
  proxies = [].concat(options.existingProxies, nodes.map((item) => item.nodeName));
963
965
  }
964
966
  else {
@@ -966,7 +968,7 @@ const generateClashProxyGroup = (ruleName, ruleType, nodeNameList, options) => {
966
968
  }
967
969
  }
968
970
  else {
969
- const nodes = exports.applyFilter(nodeNameList, options.filter);
971
+ const nodes = (0, exports.applyFilter)(nodeNameList, options.filter);
970
972
  proxies = nodes.map((item) => item.nodeName);
971
973
  }
972
974
  return Object.assign({ type: ruleType, name: ruleName, proxies }, (['url-test', 'fallback', 'load-balance'].includes(ruleType)
@@ -1010,10 +1012,10 @@ const normalizeClashProxyGroupConfig = (nodeList, customFilters, proxyGroupModif
1010
1012
  return proxyGroup.map((item) => {
1011
1013
  if (item.hasOwnProperty('filter')) {
1012
1014
  // istanbul ignore next
1013
- if (!item.filter || !filter_1.validateFilter(item.filter)) {
1015
+ if (!item.filter || !(0, filter_1.validateFilter)(item.filter)) {
1014
1016
  throw new Error(`过滤器 ${item.filter} 无效,请检查 proxyGroupModifier`);
1015
1017
  }
1016
- return exports.generateClashProxyGroup(item.name, item.type, nodeList, {
1018
+ return (0, exports.generateClashProxyGroup)(item.name, item.type, nodeList, {
1017
1019
  filter: item.filter,
1018
1020
  existingProxies: item.proxies,
1019
1021
  proxyTestUrl: options.proxyTestUrl,
@@ -1021,7 +1023,7 @@ const normalizeClashProxyGroupConfig = (nodeList, customFilters, proxyGroupModif
1021
1023
  });
1022
1024
  }
1023
1025
  else {
1024
- return exports.generateClashProxyGroup(item.name, item.type, nodeList, {
1026
+ return (0, exports.generateClashProxyGroup)(item.name, item.type, nodeList, {
1025
1027
  existingProxies: item.proxies,
1026
1028
  proxyTestUrl: options.proxyTestUrl,
1027
1029
  proxyTestInterval: options.proxyTestInterval,
@@ -1041,7 +1043,7 @@ const ensureConfigFolder = (dir = os_1.default.homedir()) => {
1041
1043
  // istanbul ignore next
1042
1044
  baseDir = '/tmp';
1043
1045
  }
1044
- const configDir = path_1.join(baseDir, '.config/surgio');
1046
+ const configDir = (0, path_1.join)(baseDir, '.config/surgio');
1045
1047
  fs_extra_1.default.mkdirpSync(configDir);
1046
1048
  return configDir;
1047
1049
  };
@@ -1107,7 +1109,7 @@ const formatV2rayConfig = (localPort, nodeConfig) => {
1107
1109
  exports.formatV2rayConfig = formatV2rayConfig;
1108
1110
  const applyFilter = (nodeList, filter) => {
1109
1111
  // istanbul ignore next
1110
- if (filter && !filter_1.validateFilter(filter)) {
1112
+ if (filter && !(0, filter_1.validateFilter)(filter)) {
1111
1113
  throw new Error(`使用了无效的过滤器 ${filter}`);
1112
1114
  }
1113
1115
  let nodes = nodeList.filter((item) => {
@@ -1141,7 +1143,7 @@ const isNow = () => typeof process.env.NOW_REGION !== 'undefined' ||
1141
1143
  typeof process.env.VERCEL_REGION !== 'undefined';
1142
1144
  exports.isNow = isNow;
1143
1145
  // istanbul ignore next
1144
- const isVercel = () => exports.isNow();
1146
+ const isVercel = () => (0, exports.isNow)();
1145
1147
  exports.isVercel = isVercel;
1146
1148
  // istanbul ignore next
1147
1149
  const isHeroku = () => typeof process.env.DYNO !== 'undefined';
@@ -1155,4 +1157,7 @@ exports.isGitLabCI = isGitLabCI;
1155
1157
  // istanbul ignore next
1156
1158
  const isPkgBundle = () => __dirname.startsWith('/snapshot');
1157
1159
  exports.isPkgBundle = isPkgBundle;
1158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMkNBQThDO0FBQzlDLG9EQUE0QjtBQUM1Qix3REFBMEI7QUFDMUIsb0RBQXVCO0FBQ3ZCLDRDQUFvQjtBQUNwQiwrQkFBNEI7QUFDNUIsZ0VBQXVDO0FBRXZDLDZCQUEyQztBQUMzQyxvRUFBMkM7QUFDM0MsZ0RBQXdCO0FBQ3hCLDhDQUFzQjtBQUV0QixvQ0Fla0I7QUFDbEIsbUNBQXNDO0FBQ3RDLHlDQUF5RDtBQUN6RCxxQ0FBMEM7QUFDMUMsZ0VBQXVDO0FBQ3ZDLG1DQUF5QztBQUV6QyxNQUFNLE1BQU0sR0FBRyxxQkFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7QUFFbEQsTUFBTSxjQUFjLEdBQUcsQ0FDNUIsT0FBTyxHQUFHLEdBQUcsRUFDYixZQUFvQixFQUNwQixNQUFNLEdBQUcsSUFBSSxFQUNiLFdBQW9CLEVBQ1osRUFBRTtJQUNWLElBQUksZUFBZ0MsQ0FBQztJQUNyQyxJQUFJLElBQVksQ0FBQztJQUVqQixJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDOUIsZUFBZSxHQUFHLElBQUkscUJBQWUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEUsSUFBSSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDbkM7U0FBTTtRQUNMLGVBQWUsR0FBRyxJQUFJLHFCQUFlLEVBQUUsQ0FBQztRQUN4QyxJQUFJLEdBQUcsWUFBWSxDQUFDO0tBQ3JCO0lBRUQsSUFBSSxXQUFXLEVBQUU7UUFDZixlQUFlLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztLQUNsRDtJQUNELElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztLQUNoQztJQUVELE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUV6QyxPQUFPLEdBQUcsT0FBTyxHQUFHLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0FBQ3hELENBQUMsQ0FBQztBQTNCVyxRQUFBLGNBQWMsa0JBMkJ6QjtBQUVLLE1BQU0sTUFBTSxHQUFHLENBQ3BCLE9BQWUsRUFDZixJQUFZLEVBQ1osV0FBb0IsRUFDWixFQUFFO0lBQ1YsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sR0FBRyxHQUFHLElBQUksU0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuQyxJQUFJLFdBQVcsRUFBRTtRQUNmLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztLQUNuRDtJQUNELE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQVhXLFFBQUEsTUFBTSxVQVdqQjtBQUVLLE1BQU0sd0JBQXdCLEdBQUcsS0FBSyxFQUMzQyxHQUFXLEVBQ1gsUUFBa0IsRUFDNkIsRUFBRTtJQUNqRCxnQkFBTSxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUUzQixLQUFLLFVBQVUsdUJBQXVCO1FBR3BDLE1BQU0sUUFBUSxHQUFHLG1CQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUNuQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQVcsQ0FBQztZQUM1QyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUNoQixNQUFNLEdBQUcsR0FBRyxNQUFNLHFCQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUV0QyxtQkFBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUUvQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFVCxPQUFRLFFBQVEsQ0FBQyxPQUE4QixDQUFDLEdBQUcsQ0FDakQsQ0FBQyxJQUFJLEVBQXlCLEVBQUU7WUFDOUIsTUFBTSxVQUFVLEdBQVE7Z0JBQ3RCLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBaUI7Z0JBQ2hDLElBQUksRUFBRSxvQkFBWSxDQUFDLFdBQVc7Z0JBQzlCLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBZ0I7Z0JBQy9CLElBQUksRUFBRSxJQUFJLENBQUMsV0FBcUI7Z0JBQ2hDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBZ0I7Z0JBQzdCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBa0I7YUFDbEMsQ0FBQztZQUVGLElBQUksT0FBTyxRQUFRLEtBQUssU0FBUyxFQUFFO2dCQUNqQyxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsUUFBUSxDQUFDO2FBQ3BDO1lBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFlBQVksRUFBRTtnQkFDaEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ2xELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBRTNELElBQUksSUFBSSxFQUFFO29CQUNSLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUMxQixVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztpQkFDbkU7YUFDRjtZQUVELE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sTUFBTSx1QkFBdUIsRUFBRSxDQUFDO0FBQ3pDLENBQUMsQ0FBQztBQWpEVyxRQUFBLHdCQUF3Qiw0QkFpRG5DO0FBRUY7O0dBRUc7QUFDSSxNQUFNLGFBQWEsR0FBRyxVQUMzQixJQUEyQyxFQUMzQyxNQUFrRDtJQUVsRCx1QkFBdUI7SUFDdkIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7UUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBa0IsQ0FBQyxDQUFDO0tBQ3JDO0lBRUQsTUFBTSxNQUFNLEdBQWEsbUJBQVcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1NBQy9DLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBc0IsRUFBRTs7UUFDdEMsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLEtBQUssb0JBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDN0IsTUFBTSxNQUFNLEdBQUcsVUFBbUMsQ0FBQztnQkFFbkQsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3RELE1BQU0sQ0FBQyxJQUFJLENBQ1Qsa0RBQ0UsVUFBVyxDQUFDLFFBQ2QsT0FBTyxDQUNSLENBQUM7b0JBQ0YsT0FBTyxLQUFLLENBQUMsQ0FBQztpQkFDZjtnQkFFRCxpQ0FBaUM7Z0JBQ2pDLElBQUksQ0FBQSxNQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxXQUFXLDBDQUFFLGlCQUFpQixNQUFLLElBQUksRUFBRTtvQkFDdkQsT0FBTzt3QkFDTCxNQUFNLENBQUMsUUFBUTt3QkFDZjs0QkFDRSxJQUFJOzRCQUNKLE1BQU0sQ0FBQyxRQUFROzRCQUNmLE1BQU0sQ0FBQyxJQUFJOzRCQUNYLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxNQUFNOzRCQUNqQyxHQUFHLCtCQUF1QixDQUFDLE1BQU0sRUFBRTtnQ0FDakMsVUFBVTtnQ0FDVixXQUFXO2dDQUNYLE1BQU07Z0NBQ04sV0FBVztnQ0FDWCxLQUFLO2dDQUNMLE9BQU87NkJBQ1IsQ0FBQzs0QkFDRixHQUFHLENBQUMsT0FBTyxNQUFNLENBQUMsT0FBTyxLQUFLLFFBQVE7Z0NBQ3BDLENBQUMsQ0FBQyxDQUFDLFlBQVksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dDQUNoQyxDQUFDLENBQUMsRUFBRSxDQUFDOzRCQUNQLEdBQUcsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxlQUFlLEtBQUssUUFBUTtnQ0FDNUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQ0FDaEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt5QkFDUixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7cUJBQ2IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2Y7Z0JBRUQsc0JBQXNCO2dCQUN0QixPQUFPO29CQUNMLE1BQU0sQ0FBQyxRQUFRO29CQUNmO3dCQUNFLFFBQVE7d0JBQ1IsTUFBTSxDQUFDLFFBQVE7d0JBQ2YsTUFBTSxDQUFDLElBQUk7d0JBQ1gsTUFBTSxDQUFDLE1BQU07d0JBQ2IsTUFBTSxDQUFDLFFBQVE7d0JBQ2YsZ0ZBQWdGO3dCQUNoRixHQUFHLCtCQUF1QixDQUFDLE1BQU0sRUFBRTs0QkFDakMsV0FBVzs0QkFDWCxNQUFNOzRCQUNOLFdBQVc7NEJBQ1gsS0FBSzs0QkFDTCxPQUFPO3lCQUNSLENBQUM7d0JBQ0YsR0FBRyxDQUFDLE9BQU8sTUFBTSxDQUFDLE9BQU8sS0FBSyxRQUFROzRCQUNwQyxDQUFDLENBQUMsQ0FBQyxZQUFZLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQzs0QkFDaEMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDUCxHQUFHLENBQUMsT0FBTyxNQUFNLENBQUMsZUFBZSxLQUFLLFFBQVE7NEJBQzVDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7NEJBQ2hELENBQUMsQ0FBQyxFQUFFLENBQUM7cUJBQ1IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUNiLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2Y7WUFFRCxLQUFLLG9CQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLE1BQU0sTUFBTSxHQUFHLFVBQTZCLENBQUM7Z0JBRTdDLE9BQU87b0JBQ0wsTUFBTSxDQUFDLFFBQVE7b0JBQ2Y7d0JBQ0UsT0FBTzt3QkFDUCxNQUFNLENBQUMsUUFBUTt3QkFDZixNQUFNLENBQUMsSUFBSTt3QkFDWCxNQUFNLENBQUMsUUFBUTt3QkFDZixNQUFNLENBQUMsUUFBUTt3QkFDZixHQUFHLENBQUMsT0FBTyxNQUFNLENBQUMsY0FBYyxLQUFLLFNBQVM7NEJBQzVDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7NEJBQy9DLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ1AsR0FBRyxDQUFDLE9BQU8sTUFBTSxDQUFDLGVBQWUsS0FBSyxRQUFROzRCQUM1QyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDOzRCQUNoRCxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUNQLEdBQUcsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxPQUFPLEtBQUssUUFBUTs0QkFDcEMsQ0FBQyxDQUFDLENBQUMsWUFBWSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7NEJBQ2hDLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ1AsR0FBRywrQkFBdUIsQ0FBQyxNQUFNLEVBQUU7NEJBQ2pDLEtBQUs7NEJBQ0wsS0FBSzs0QkFDTCxPQUFPOzRCQUNQLE9BQU87eUJBQ1IsQ0FBQztxQkFDSCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7aUJBQ2IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDZjtZQUVELEtBQUssb0JBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEIsTUFBTSxNQUFNLEdBQUcsVUFBNEIsQ0FBQztnQkFFNUMsT0FBTztvQkFDTCxNQUFNLENBQUMsUUFBUTtvQkFDZjt3QkFDRSxNQUFNO3dCQUNOLE1BQU0sQ0FBQyxRQUFRO3dCQUNmLE1BQU0sQ0FBQyxJQUFJO3dCQUNYLE1BQU0sQ0FBQyxRQUFRO3dCQUNmLE1BQU0sQ0FBQyxRQUFRO3dCQUNmLEdBQUcsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxlQUFlLEtBQUssUUFBUTs0QkFDNUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQzs0QkFDaEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDUCxHQUFHLENBQUMsT0FBTyxNQUFNLENBQUMsT0FBTyxLQUFLLFFBQVE7NEJBQ3BDLENBQUMsQ0FBQyxDQUFDLFlBQVksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDOzRCQUNoQyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUNQLEdBQUcsK0JBQXVCLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO3FCQUNyRCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7aUJBQ2IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDZjtZQUVELEtBQUssb0JBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkIsTUFBTSxNQUFNLEdBQUcsVUFBNkIsQ0FBQztnQkFFN0MsT0FBTztvQkFDTCxNQUFNLENBQUMsUUFBUTtvQkFDZjt3QkFDRSxPQUFPO3dCQUNQLE1BQU0sQ0FBQyxRQUFRO3dCQUNmLE1BQU0sQ0FBQyxJQUFJO3dCQUNYLEdBQUcsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxlQUFlLEtBQUssUUFBUTs0QkFDNUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQzs0QkFDaEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDUCxHQUFHLENBQUMsT0FBTyxNQUFNLENBQUMsT0FBTyxLQUFLLFFBQVE7NEJBQ3BDLENBQUMsQ0FBQyxDQUFDLFlBQVksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDOzRCQUNoQyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUNQLEdBQUcsK0JBQXVCLENBQUMsTUFBTSxFQUFFOzRCQUNqQyxLQUFLOzRCQUNMLE1BQU07NEJBQ04sV0FBVzs0QkFDWCxTQUFTOzRCQUNULEtBQUs7NEJBQ0wsT0FBTzt5QkFDUixDQUFDO3FCQUNILENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztpQkFDYixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNmO1lBRUQsS0FBSyxvQkFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUM5QixNQUFNLE1BQU0sR0FBRyxVQUFvQyxDQUFDO2dCQUVwRCx1QkFBdUI7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO29CQUNuQixNQUFNLElBQUksS0FBSyxDQUNiLDBEQUEwRCxDQUMzRCxDQUFDO2lCQUNIO2dCQUVELE1BQU0sSUFBSSxHQUFHO29CQUNYLElBQUk7b0JBQ0osTUFBTSxDQUFDLFFBQVE7b0JBQ2YsSUFBSTtvQkFDSixHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUU7b0JBQ2hCLElBQUk7b0JBQ0osTUFBTSxDQUFDLE1BQU07b0JBQ2IsSUFBSTtvQkFDSixNQUFNLENBQUMsSUFBSTtvQkFDWCxJQUFJO29CQUNKLE1BQU0sQ0FBQyxRQUFRO29CQUNmLElBQUk7b0JBQ0osTUFBTSxDQUFDLFFBQVE7b0JBQ2YsSUFBSTtvQkFDSixHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUU7b0JBQ3JCLElBQUk7b0JBQ0osV0FBVztpQkFDWixDQUFDO2dCQUVGLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRTtvQkFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUNwQztnQkFDRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUU7b0JBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDbkM7Z0JBRUQsTUFBTSxZQUFZLEdBQUc7b0JBQ25CLFVBQVU7b0JBQ1YsVUFBVSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtvQkFDMUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxVQUFVLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDckQsZ0JBQWdCLE1BQU0sQ0FBQyxTQUFTLEVBQUU7aUJBQ25DLENBQUM7Z0JBRUYsSUFBSSxNQUFNLENBQUMsU0FBUyxLQUFLLENBQUMsRUFBRTtvQkFDMUIsTUFBTSxJQUFJLEtBQUssQ0FDYixrQ0FBa0MsTUFBQSxNQUFNLENBQUMsUUFBUSwwQ0FBRSxJQUFJLDZDQUE2QyxDQUNyRyxDQUFDO2lCQUNIO2dCQUVELElBQUksTUFBTSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRTtvQkFDakQsWUFBWSxDQUFDLElBQUksQ0FDZixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLENBQzFELENBQUM7aUJBQ0g7Z0JBRUQsSUFBSSxZQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUN6QixZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ3JEO2dCQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDL0Q7WUFFRCxLQUFLLG9CQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLE1BQU0sTUFBTSxHQUFHLFVBQTZCLENBQUM7Z0JBRTdDLElBQUksQ0FBQSxNQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxXQUFXLDBDQUFFLEtBQUssTUFBSyxRQUFRLEVBQUU7b0JBQy9DLDJCQUEyQjtvQkFFM0IsTUFBTSxVQUFVLEdBQUc7d0JBQ2pCLE9BQU87d0JBQ1AsTUFBTSxDQUFDLFFBQVE7d0JBQ2YsTUFBTSxDQUFDLElBQUk7d0JBQ1gsWUFBWSxNQUFNLENBQUMsSUFBSSxFQUFFO3FCQUMxQixDQUFDO29CQUVGLFNBQVMsU0FBUyxDQUFDLFNBQWlDO3dCQUNsRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDOzZCQUMxQixHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLEdBQUcsU0FBUyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDOzZCQUMxRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2YsQ0FBQztvQkFFRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFO3dCQUMzQixVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3dCQUMzQixVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7d0JBQzFDLFVBQVUsQ0FBQyxJQUFJLENBQ2IsYUFBYTs0QkFDWCxJQUFJLENBQUMsU0FBUyxDQUNaLFNBQVMsaUJBQ1AsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLFFBQVEsRUFDcEMsWUFBWSxFQUFFLGtCQUFPLElBQ2xCLGdCQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUNyQyxDQUNILENBQ0osQ0FBQztxQkFDSDtvQkFFRCxJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUU7d0JBQ2QsVUFBVSxDQUFDLElBQUksQ0FDYixVQUFVLEVBQ1YsR0FBRyxDQUFDLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxTQUFTOzRCQUNuQyxDQUFDLENBQUMsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQzs0QkFDM0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxjQUFjLEtBQUssU0FBUzs0QkFDNUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQzs0QkFDL0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUMvQyxDQUFDO3FCQUNIO29CQUVELElBQUksT0FBTyxNQUFNLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRTt3QkFDbkMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO3FCQUN0QztvQkFFRCxJQUFJLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUU7d0JBQ3JDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztxQkFDMUM7b0JBRUQsSUFBSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsRUFBRTt3QkFDN0IsVUFBVSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO3FCQUNsRTtvQkFFRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTt3QkFDckIsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ2xEO29CQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQzdEO3FCQUFNO29CQUNMLDBCQUEwQjtvQkFFMUIsdUJBQXVCO29CQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTt3QkFDbkIsTUFBTSxJQUFJLEtBQUssQ0FDYixtREFBbUQsQ0FDcEQsQ0FBQztxQkFDSDtvQkFFRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLEtBQUssQ0FBQyxFQUFFO3dCQUMxQixNQUFNLElBQUksS0FBSyxDQUNiLG9DQUFvQyxNQUFBLE1BQU0sQ0FBQyxRQUFRLDBDQUFFLElBQUksNkNBQTZDLENBQ3ZHLENBQUM7cUJBQ0g7b0JBRUQsTUFBTSxZQUFZLEdBQUcsU0FBUyxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDO29CQUN4RixNQUFNLFlBQVksR0FBRyxXQUFJLENBQUMsMEJBQWtCLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztvQkFDOUQsTUFBTSxRQUFRLEdBQUcseUJBQWlCLENBQ2hDLE1BQU0sQ0FBQyxTQUFtQixFQUMxQixVQUFVLENBQ1gsQ0FBQztvQkFDRixNQUFNLElBQUksR0FBRzt3QkFDWCxVQUFVO3dCQUNWLFlBQVksQ0FBQyxPQUFPLENBQUMsWUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQztxQkFDNUMsQ0FBQztvQkFDRixNQUFNLFlBQVksR0FBRzt3QkFDbkIsVUFBVTt3QkFDVixVQUFVLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUMxQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFVBQVUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUNyRCxnQkFBZ0IsTUFBTSxDQUFDLFNBQVMsRUFBRTtxQkFDbkMsQ0FBQztvQkFFRixJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7d0JBQ2pELFlBQVksQ0FBQyxJQUFJLENBQ2YsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUMxRCxDQUFDO3FCQUNIO29CQUVELElBQUksWUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTt3QkFDekIsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO3FCQUNyRDtvQkFFRCx1QkFBdUI7b0JBQ3ZCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssTUFBTSxFQUFFO3dCQUNuQyxrQkFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7cUJBQzFDO29CQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQy9EO2FBQ0Y7WUFFRCxLQUFLLG9CQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3hCLE1BQU0sVUFBVSxHQUFhO29CQUMzQixRQUFRO29CQUNSLFVBQVUsQ0FBQyxRQUFRO29CQUNuQixHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUU7b0JBQ3BCLFlBQVksVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDakMsR0FBRywrQkFBdUIsQ0FBQyxVQUFVLEVBQUU7d0JBQ3JDLEtBQUs7d0JBQ0wsT0FBTzt3QkFDUCxLQUFLO3dCQUNMLE9BQU87cUJBQ1IsQ0FBQztvQkFDRixHQUFHLENBQUMsT0FBTyxVQUFVLENBQUMsT0FBTyxLQUFLLFFBQVE7d0JBQ3hDLENBQUMsQ0FBQyxDQUFDLFlBQVksVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUNwQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNQLEdBQUcsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxlQUFlLEtBQUssUUFBUTt3QkFDaEQsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQzt3QkFDcEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDUCxHQUFHLENBQUMsT0FBTyxVQUFVLENBQUMsY0FBYyxLQUFLLFNBQVM7d0JBQ2hELENBQUMsQ0FBQyxDQUFDLG9CQUFvQixVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7d0JBQ25ELENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQ1IsQ0FBQztnQkFFRixPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2pFO1lBRUQsS0FBSyxvQkFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QixNQUFNLE1BQU0sR0FBRztvQkFDYixVQUFVLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRO29CQUNqRCxVQUFVLENBQUMsUUFBUTtvQkFDbkIsVUFBVSxDQUFDLElBQUk7b0JBQ2YsR0FBRyxDQUFDLE9BQU8sVUFBVSxDQUFDLGVBQWUsS0FBSyxRQUFRO3dCQUNoRCxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsVUFBVSxDQUFDLGVBQWUsRUFBRSxDQUFDO3dCQUNwRCxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNQLEdBQUcsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxPQUFPLEtBQUssUUFBUTt3QkFDeEMsQ0FBQyxDQUFDLENBQUMsWUFBWSxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7d0JBQ3BDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ1AsR0FBRywrQkFBdUIsQ0FBQyxVQUFVLEVBQUU7d0JBQ3JDLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixLQUFLO3dCQUNMLEtBQUs7d0JBQ0wsT0FBTzt3QkFDUCxPQUFPO3FCQUNSLENBQUM7aUJBQ0gsQ0FBQztnQkFFRixJQUFJLFVBQVUsQ0FBQyxHQUFHLEtBQUssSUFBSSxFQUFFO29CQUMzQixNQUFNLENBQUMsSUFBSSxDQUNULEdBQUcsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxjQUFjLEtBQUssU0FBUzt3QkFDaEQsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFDbkQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxVQUFVLEtBQUssUUFBUTt3QkFDM0MsQ0FBQyxDQUFDLENBQUMsZUFBZSxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7d0JBQzFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDUixDQUFDO2lCQUNIO2dCQUVELE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDN0Q7WUFFRCx1QkFBdUI7WUFDdkI7Z0JBQ0UsTUFBTSxDQUFDLElBQUksQ0FDVCxpQkFBa0IsVUFBa0IsQ0FBQyxJQUFJLFdBQ3RDLFVBQWtCLENBQUMsUUFDdEIsT0FBTyxDQUNSLENBQUM7Z0JBQ0YsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNqQjtJQUNILENBQUMsQ0FBQztTQUNELE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBa0IsRUFBRSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQztJQUV4RCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBelpXLFFBQUEsYUFBYSxpQkF5WnhCO0FBRUssTUFBTSxhQUFhLEdBQUcsVUFDM0IsSUFBMkMsRUFDM0MsTUFBa0Q7SUFFbEQsdUJBQXVCO0lBQ3ZCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1FBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQWtCLENBQUMsQ0FBQztLQUNyQztJQUVELE9BQU8sbUJBQVcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1NBQzdCLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFOztRQUNsQix1QkFBdUI7UUFDdkIsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLEtBQUssb0JBQVksQ0FBQyxXQUFXO2dCQUMzQixxQ0FDRSxJQUFJLEVBQUUsSUFBSSxFQUNWLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxFQUN6QixJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFDekIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQzdCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUNyQixNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFDM0IsR0FBRyxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLElBQ2xDLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztvQkFDOUQsQ0FBQyxDQUFDO3dCQUNFLE1BQU0sRUFBRSxNQUFNO3dCQUNkLGFBQWEsRUFBRTs0QkFDYixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7NEJBQ3JCLElBQUksRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDO3lCQUM5QjtxQkFDRjtvQkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQ04sQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO29CQUM1RCxDQUFDLENBQUM7d0JBQ0UsTUFBTSxFQUFFLGNBQWM7d0JBQ3RCLGFBQWEsZ0NBQ1gsSUFBSSxFQUFFLFdBQVcsRUFDakIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUMzQixDQUFDLE9BQU8sVUFBVSxDQUFDLGNBQWMsS0FBSyxTQUFTOzRCQUNsRCxVQUFVLENBQUMsSUFBSSxLQUFLLEtBQUs7NEJBQ3ZCLENBQUMsQ0FBQztnQ0FDRSxrQkFBa0IsRUFBRSxVQUFVLENBQUMsY0FBYzs2QkFDOUM7NEJBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUNULElBQUksRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQzdCLElBQUksRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxFQUNuQyxHQUFHLEVBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxLQUFLLFNBQVM7Z0NBQ2pDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRztnQ0FDaEIsQ0FBQyxDQUFDLEtBQUssRUFDWCxPQUFPLEVBQUUsVUFBVSxDQUFDLFNBQVMsSUFBSSxFQUFFLEdBQ3BDO3FCQUNGO29CQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDVDtZQUVKLEtBQUssb0JBQVksQ0FBQyxLQUFLO2dCQUNyQixpRUFDRSxJQUFJLEVBQUUsT0FBTyxFQUNiLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxFQUN6QixJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFDekIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQzNCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUNyQixHQUFHLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksRUFDckMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQ3JCLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxJQUN4QixDQUFDLFVBQVUsQ0FBQyxPQUFPLEtBQUssS0FBSztvQkFDOUIsQ0FBQyxDQUFDLElBQUk7b0JBQ04sQ0FBQyxDQUFDO3dCQUNFLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTztxQkFDNUIsQ0FBQyxLQUNOLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRyxLQUNoQixDQUFDLE9BQU8sVUFBVSxDQUFDLGNBQWMsS0FBSyxTQUFTLElBQUksVUFBVSxDQUFDLEdBQUc7b0JBQ2xFLENBQUMsQ0FBQzt3QkFDRSxrQkFBa0IsRUFBRSxVQUFVLENBQUMsY0FBYztxQkFDOUM7b0JBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUNOLENBQUMsVUFBVSxDQUFDLE9BQU8sS0FBSyxJQUFJO29CQUM3QixDQUFDLENBQUM7d0JBQ0UsU0FBUyxFQUFFLFVBQVUsQ0FBQyxJQUFJO3dCQUMxQixZQUFZLGtDQUNQLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FDcEQsVUFBVSxDQUFDLFNBQVMsQ0FDeEI7cUJBQ0Y7b0JBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUNUO1lBRUosS0FBSyxvQkFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUM5QixNQUFNLFNBQVMsR0FBRyxNQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxXQUFXLDBDQUFFLFNBQVMsQ0FBQztnQkFFckQscUNBQ0UsSUFBSSxFQUFFLEtBQUssRUFDWCxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFDekIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQzNCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUNyQixRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFDN0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQ3JCLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUM3QixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sSUFDdEIsQ0FBQyxTQUFTLEtBQUssUUFBUTtvQkFDeEIsQ0FBQyxDQUFDO3dCQUNFLFlBQVksRUFBRSxNQUFBLFVBQVUsQ0FBQyxTQUFTLG1DQUFJLEVBQUU7d0JBQ3hDLGdCQUFnQixFQUFFLE1BQUEsVUFBVSxDQUFDLFVBQVUsbUNBQUksRUFBRTtxQkFDOUM7b0JBQ0gsQ0FBQyxDQUFDO3dCQUNFLFNBQVMsRUFBRSxNQUFBLFVBQVUsQ0FBQyxTQUFTLG1DQUFJLEVBQUU7d0JBQ3JDLGFBQWEsRUFBRSxNQUFBLFVBQVUsQ0FBQyxVQUFVLG1DQUFJLEVBQUU7cUJBQzNDLENBQUMsS0FDTixHQUFHLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFDckM7YUFDSDtZQUVELEtBQUssb0JBQVksQ0FBQyxLQUFLO2dCQUNyQix1QkFDRSxJQUFJLEVBQUUsT0FBTyxFQUNiLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxFQUN6QixNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFDM0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQ3JCLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUNuQixXQUFXLGtCQUNULElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxJQUNsQixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUM7d0JBQ3pCLENBQUMsQ0FBQzs0QkFDRSxJQUFJLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQzt5QkFDOUI7d0JBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUVSLENBQUMsVUFBVSxDQUFDLE9BQU87b0JBQ3BCLENBQUMsQ0FBQzt3QkFDRSxPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87cUJBQzVCO29CQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDVDtZQUVKLEtBQUssb0JBQVksQ0FBQyxLQUFLO2dCQUNyQixPQUFPO29CQUNMLElBQUksRUFBRSxNQUFNO29CQUNaLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUTtvQkFDekIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRO29CQUMzQixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7b0JBQ3JCLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLDBCQUEwQixJQUFJLEVBQUU7b0JBQzlELFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLDBCQUEwQixJQUFJLEVBQUU7b0JBQzlELEdBQUcsRUFBRSxJQUFJO29CQUNULGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxjQUFjLEtBQUssSUFBSTtpQkFDdkQsQ0FBQztZQUVKLEtBQUssb0JBQVksQ0FBQyxJQUFJO2dCQUNwQixPQUFPO29CQUNMLElBQUksRUFBRSxNQUFNO29CQUNaLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUTtvQkFDekIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRO29CQUMzQixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7b0JBQ3JCLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLDBCQUEwQixJQUFJLEVBQUU7b0JBQzlELFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLDBCQUEwQixJQUFJLEVBQUU7aUJBQy9ELENBQUM7WUFFSixLQUFLLG9CQUFZLENBQUMsTUFBTTtnQkFDdEIsaUVBQ0UsSUFBSSxFQUFFLFFBQVEsRUFDZCxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFDekIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQzNCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUNyQixRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsSUFDMUIsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO29CQUN6QixDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFO29CQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQ04sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUNwRCxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQ3BELGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxjQUFjLEtBQUssSUFBSSxJQUN0RDtZQUVKLEtBQUssb0JBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEIsK0VBQ0UsSUFBSSxFQUFFLFFBQVEsRUFDZCxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFDekIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQzNCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxJQUNsQixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQ2hFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FDaEUsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxHQUFHLEtBQUssU0FBUztvQkFDckMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ3pCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FDTixDQUFDLE9BQU8sVUFBVSxDQUFDLGNBQWMsS0FBSyxTQUFTO29CQUNoRCxDQUFDLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLENBQUMsY0FBYyxFQUFFO29CQUNuRCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQ04sQ0FBQyxPQUFPLFVBQVUsQ0FBQyxRQUFRLEtBQUssU0FBUztvQkFDMUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUU7b0JBQzlCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDVDthQUNIO1lBRUQsdUJBQXVCO1lBQ3ZCO2dCQUNFLE1BQU0sQ0FBQyxJQUFJLENBQ1QsaUJBQWtCLFVBQWtCLENBQUMsSUFBSSxXQUN0QyxVQUFrQixDQUFDLFFBQ3RCLE9BQU8sQ0FDUixDQUFDO2dCQUNGLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDSCxDQUFDLENBQUM7U0FDRCxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUM7QUE5TVcsUUFBQSxhQUFhLGlCQThNeEI7QUFFSyxNQUFNLGNBQWMsR0FBRyxVQUM1QixJQUE0RCxFQUM1RCxNQUFrRDtJQUVsRCx1QkFBdUI7SUFDdkIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7UUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBa0IsQ0FBQyxDQUFDO0tBQ3JDO0lBRUQsTUFBTSxNQUFNLEdBQUcsbUJBQVcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1NBQ3JDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQ2xCLFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRTtZQUN2QixLQUFLLG9CQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLE1BQU0sR0FBRyxHQUFHLHNCQUFjLENBQUMsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQzNELE9BQU87b0JBQ0wsVUFBVSxDQUFDLFFBQVE7b0JBQ25CLFFBQVE7b0JBQ1IsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDO2lCQUM1QyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNkO1lBRUQsS0FBSyxvQkFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM3QixNQUFNLEdBQUcsR0FBRywyQkFBbUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQzlDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDM0Q7WUFFRCx1QkFBdUI7WUFDdkI7Z0JBQ0UsTUFBTSxDQUFDLElBQUksQ0FDVCxrQkFBbUIsVUFBa0IsQ0FBQyxJQUFJLFdBQ3ZDLFVBQWtCLENBQUMsUUFDdEIsT0FBTyxDQUNSLENBQUM7Z0JBQ0YsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNILENBQUMsQ0FBQztTQUNELE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTVCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUM7QUF2Q1csUUFBQSxjQUFjLGtCQXVDekI7QUFFRix1QkFBdUI7QUFDaEIsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFXLEVBQVUsRUFBRSxDQUNyRCx3QkFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBRHBDLFFBQUEsZUFBZSxtQkFDcUI7QUFFakQsdUJBQXVCO0FBQ2hCLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxHQUFXLEVBQVUsRUFBRTtJQUN2RCxJQUFJLHdCQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQy9CLE9BQU8sd0JBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDN0M7SUFDRCxPQUFPLGtCQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDO0FBTFcsUUFBQSxpQkFBaUIscUJBSzVCO0FBRUYsdUJBQXVCO0FBQ2hCLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUUsQ0FDOUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRGpDLFFBQUEsUUFBUSxZQUN5QjtBQUU5Qyx1QkFBdUI7QUFDaEIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFXLEVBQVUsRUFBRSxDQUNoRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFEakMsUUFBQSxVQUFVLGNBQ3VCO0FBRTlDOztHQUVHO0FBQ0ksTUFBTSxtQkFBbUIsR0FBRyxDQUNqQyxJQUEwQyxFQUMxQyxTQUFTLEdBQUcsUUFBUSxFQUNaLEVBQUU7SUFDVixNQUFNLE1BQU0sR0FBdUIsSUFBSTtTQUNwQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUNsQix1QkFBdUI7UUFDdkIsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLEtBQUssb0JBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDN0IsTUFBTSxNQUFNLEdBQUcsZ0JBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU0sS0FBSyxtQ0FJTixDQUFDLE1BQU0sQ0FBQyxJQUFJO29CQUNiLENBQUMsQ0FBQzt3QkFDRSxNQUFNLEVBQUUsR0FBRyxrQkFBa0IsQ0FDM0IsbUJBQW1CLE1BQU0sQ0FBQyxJQUFJLGNBQWMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQ2xFLEVBQUU7cUJBQ0o7b0JBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUNOLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDakUsQ0FBQztnQkFFRixPQUFPO29CQUNMLE9BQU87b0JBQ1AsdUJBQWUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUN0RCxHQUFHO29CQUNILE1BQU0sQ0FBQyxRQUFRO29CQUNmLEdBQUc7b0JBQ0gsTUFBTSxDQUFDLElBQUk7b0JBQ1gsSUFBSTtvQkFDSixzQkFBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7d0JBQzNCLE1BQU0sRUFBRSxLQUFLO3dCQUNiLElBQUksRUFBRSxLQUFLO3FCQUNaLENBQUM7b0JBQ0YsR0FBRztvQkFDSCxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO2lCQUNwQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNaO1lBRUQsdUJBQXVCO1lBQ3ZCO2dCQUNFLE1BQU0sQ0FBQyxJQUFJLENBQ1QsMEJBQTBCLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxDQUFDLFFBQVEsT0FBTyxDQUM5RSxDQUFDO2dCQUNGLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDSCxDQUFDLENBQUM7U0FDRCxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU1QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBeERXLFFBQUEsbUJBQW1CLHVCQXdEOUI7QUFFSyxNQUFNLG9CQUFvQixHQUFHLENBQ2xDLElBQTJDLEVBQzNDLFNBQWlCLEVBQ1QsRUFBRTtJQUNWLE1BQU0sTUFBTSxHQUFzQyxJQUFJO1NBQ25ELEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQ2xCLHVCQUF1QjtRQUN2QixJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFO1lBQy9CLE9BQU8sS0FBSyxDQUFDLENBQUM7U0FDZjtRQUVELFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRTtZQUN2QixLQUFLLG9CQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQzlCLE1BQU0sT0FBTyxHQUFHO29CQUNkLFVBQVUsQ0FBQyxRQUFRO29CQUNuQixVQUFVLENBQUMsSUFBSTtvQkFDZixVQUFVLENBQUMsUUFBUTtvQkFDbkIsVUFBVSxDQUFDLE1BQU07b0JBQ2pCLFVBQVUsQ0FBQyxJQUFJO29CQUNmLHVCQUFlLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztpQkFDckMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ1osTUFBTSxLQUFLLEdBQUc7b0JBQ1osU0FBUyxFQUFFLHVCQUFlLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztvQkFDaEQsVUFBVSxFQUFFLHVCQUFlLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztvQkFDbEQsT0FBTyxFQUFFLHVCQUFlLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztvQkFDN0MsS0FBSyxFQUFFLHVCQUFlLENBQUMsU0FBUyxDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQztvQkFDVixHQUFHLEVBQUUsQ0FBQztpQkFDUCxDQUFDO2dCQUVGLE9BQU8sQ0FDTCxRQUFRO29CQUNSLHVCQUFlLENBQ2I7d0JBQ0UsT0FBTzt3QkFDUCxJQUFJO3dCQUNKLHNCQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTs0QkFDM0IsTUFBTSxFQUFFLEtBQUs7eUJBQ2QsQ0FBQztxQkFDSCxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDWCxDQUNGLENBQUM7YUFDSDtZQUVELHVCQUF1QjtZQUN2QjtnQkFDRSxNQUFNLENBQUMsSUFBSSxDQUNULDJCQUEyQixVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsQ0FBQyxRQUFRLE9BQU8sQ0FDL0UsQ0FBQztnQkFDRixPQUFPLEtBQUssQ0FBQyxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQyxDQUFDO1NBQ0QsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUM7SUFFeEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQztBQXZEVyxRQUFBLG9CQUFvQix3QkF1RC9CO0FBRUssTUFBTSxjQUFjLEdBQUcsQ0FDNUIsSUFBb0MsRUFDNUIsRUFBRTtJQUNWLE1BQU0sTUFBTSxHQUEwQixJQUFJO1NBQ3ZDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBc0IsRUFBRTtRQUN0Qyx1QkFBdUI7UUFDdkIsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRTtZQUMvQixPQUFPLEtBQUssQ0FBQyxDQUFDO1NBQ2Y7UUFFRCxRQUFRLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDdkIsS0FBSyxvQkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QixNQUFNLElBQUksR0FBRztvQkFDWCxDQUFDLEVBQUUsR0FBRztvQkFDTixFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVE7b0JBQ3ZCLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUTtvQkFDeEIsSUFBSSxFQUFFLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRTtvQkFDMUIsRUFBRSxFQUFFLFVBQVUsQ0FBQyxJQUFJO29CQUNuQixHQUFHLEVBQUUsVUFBVSxDQUFDLE9BQU87b0JBQ3ZCLEdBQUcsRUFBRSxVQUFVLENBQUMsT0FBTztvQkFDdkIsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO29CQUNyQixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7b0JBQ3JCLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7aUJBQ2pDLENBQUM7Z0JBRUYsT0FBTyxVQUFVLEdBQUcsZ0JBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDcEQ7WUFFRCx1QkFBdUI7WUFDdkI7Z0JBQ0UsTUFBTSxDQUFDLElBQUksQ0FDVCxvQkFBb0IsVUFBVSxDQUFDLElBQUksVUFBVSxVQUFVLENBQUMsUUFBUSxPQUFPLENBQ3hFLENBQUM7Z0JBQ0YsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNqQjtJQUNILENBQUMsQ0FBQztTQUNELE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBa0IsRUFBRSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQztJQUV4RCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBeENXLFFBQUEsY0FBYyxrQkF3Q3pCO0FBRUssTUFBTSxrQkFBa0IsR0FBRyxVQUNoQyxJQUtDLEVBQ0QsU0FBUyxHQUFHLFFBQVEsRUFDcEIsTUFBc0Q7SUFFdEQsdUJBQXVCO0lBQ3ZCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1FBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQWtCLENBQUMsQ0FBQztLQUNyQztJQUVELFNBQVMsU0FBUyxDQUFDLFNBQWlDO1FBQ2xELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7YUFDMUIsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxHQUFHLFNBQVMsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQzthQUMxRCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUEwQixtQkFBVyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7U0FDNUQsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFzQixFQUFFO1FBQ3RDLFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRTtZQUN2QixLQUFLLG9CQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLE1BQU0sTUFBTSxHQUFHO29CQUNiLE9BQU87b0JBQ1AsVUFBVSxDQUFDLFFBQVE7b0JBQ25CLFVBQVUsQ0FBQyxJQUFJO29CQUNmLFVBQVUsQ0FBQyxNQUFNLEtBQUssTUFBTTt3QkFDMUIsQ0FBQyxDQUFDLHdCQUF3Qjt3QkFDMUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNO29CQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQy9CLFVBQVUsQ0FBQyxPQUFPO29CQUNsQixTQUFTLFNBQVMsRUFBRTtvQkFDcEIsWUFBWSxVQUFVLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUU7b0JBQ3hELGVBQWU7b0JBQ2YsUUFBUSxVQUFVLENBQUMsT0FBTyxFQUFFO29CQUM1QixhQUFhLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtvQkFDckQsZUFBZSxJQUFJLENBQUMsU0FBUyxDQUMzQixTQUFTLGlCQUNQLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQzVDLFlBQVksRUFBRSxrQkFBTyxJQUNsQixnQkFBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDekMsQ0FDSCxFQUFFO2lCQUNKO3FCQUNFLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztxQkFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUViLE9BQU8sQ0FDTCxVQUFVLEdBQUcsZ0JBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2pFLENBQUM7YUFDSDtZQUVELEtBQUssb0JBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDN0IsT0FBTywyQkFBbUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ3JEO1lBRUQsS0FBSyxvQkFBWSxDQUFDLFlBQVk7Z0JBQzVCLE9BQU8sNEJBQW9CLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUV2RCxLQUFLLG9CQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLE1BQU0sTUFBTSxHQUFHO29CQUNiLFVBQVUsQ0FBQyxRQUFRO29CQUNuQjt3QkFDRSxNQUFNO3dCQUNOLDBCQUEwQixVQUFVLENBQUMsUUFBUSxFQUFFO3dCQUMvQyx1QkFBdUIsVUFBVSxDQUFDLElBQUksRUFBRTt3QkFDeEMsMEJBQTBCO3dCQUMxQiwyQkFBMkIsVUFBVSxDQUFDLFFBQVEsRUFBRTt3QkFDaEQsMkJBQTJCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7d0JBQ2hELGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUNiLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUVkLE9BQU8sU0FBUyxHQUFHLGdCQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDckM7WUFFRCx1QkFBdUI7WUFDdkI7Z0JBQ0UsTUFBTSxDQUFDLElBQUksQ0FDVCxzQkFDRyxVQUFrQixDQUFDLElBQ3RCLFdBQVksVUFBa0IsQ0FBQyxRQUFRLE9BQU8sQ0FDL0MsQ0FBQztnQkFDRixPQUFPLEtBQUssQ0FBQyxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQyxDQUFDO1NBQ0QsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFrQixFQUFFLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBRXhELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUM7QUE3RlcsUUFBQSxrQkFBa0Isc0JBNkY3QjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxtQkFBbUIsR0FBRyxVQUNqQyxJQUEyQyxFQUMzQyxNQUFzRDtJQUV0RCx1QkFBdUI7SUFDdkIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7UUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBa0IsQ0FBQyxDQUFDO0tBQ3JDO0lBRUQsTUFBTSxNQUFNLEdBQTBCLG1CQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztTQUM1RCxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQXNCLEVBQUU7UUFDdEMsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLEtBQUssb0JBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkIsTUFBTSxNQUFNLEdBQUc7b0JBQ2IsR0FBRyxVQUFVLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUU7b0JBQzNDLDJCQUEyQjtvQkFDM0IsVUFBVSxDQUFDLE1BQU0sS0FBSyxNQUFNO3dCQUMxQixDQUFDLENBQUMsK0JBQStCO3dCQUNqQyxDQUFDLENBQUMsVUFBVSxVQUFVLENBQUMsTUFBTSxFQUFFO29CQUNqQyxZQUFZLFVBQVUsQ0FBQyxJQUFJLEVBQUU7b0JBQzdCLEdBQUcsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUN0RCxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQzlDLENBQUM7Z0JBRUYsUUFBUSxVQUFVLENBQUMsT0FBTyxFQUFFO29CQUMxQixLQUFLLElBQUk7d0JBQ1AsSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFOzRCQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3lCQUN6Qjs2QkFBTTs0QkFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3lCQUN4Qjt3QkFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksVUFBVSxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO3dCQUNsRCxNQUFNLENBQUMsSUFBSSxDQUNULGFBQWEsVUFBVSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQ3RELENBQUM7d0JBQ0YsdUJBQXVCO3dCQUN2QixJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUU7NEJBQ3BCLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7eUJBQzNCO3dCQUVELE1BQU07b0JBQ1IsS0FBSyxLQUFLO3dCQUNSLElBQUksVUFBVSxDQUFDLEdBQUcsRUFBRTs0QkFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQzt5QkFDOUI7d0JBQ0QsdUJBQXVCO3dCQUN2QixJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUU7NEJBQ3BCLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7eUJBQzNCO3dCQUVELE1BQU07b0JBQ1IsUUFBUTtvQkFDUixhQUFhO2lCQUNkO2dCQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFFMUMsdUJBQXVCO2dCQUN2QixJQUNFLFVBQVUsQ0FBQyxTQUFTO29CQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUM1QztvQkFDQSxNQUFNLENBQUMsSUFBSSxDQUNULHVDQUF1QyxVQUFVLENBQUMsUUFBUSxRQUFRLENBQ25FLENBQUM7aUJBQ0g7Z0JBRUQsT0FBTyxTQUFTLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzthQUNyQztZQUVELEtBQUssb0JBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDN0IsTUFBTSxNQUFNLEdBQUc7b0JBQ2IsR0FBRyxVQUFVLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUU7b0JBQzNDLEdBQUcsK0JBQXVCLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUM5RCxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQzt3QkFDOUQsQ0FBQyxDQUFDOzRCQUNFLFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRTs0QkFDekIsYUFBYSxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7eUJBQ3ZDO3dCQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ1AsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7d0JBQzVELENBQUMsQ0FBQzs0QkFDRSxRQUFRLFVBQVUsQ0FBQyxJQUFJLEVBQUU7NEJBQ3pCLGFBQWEsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUU7NEJBQzdELFlBQVksVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsRUFBRTt5QkFDNUM7d0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDUCxHQUFHLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDdEQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUMxRCxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQzFELE9BQU8sVUFBVSxDQUFDLFFBQVEsRUFBRTtpQkFDN0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRWIsdUJBQXVCO2dCQUN2QixJQUNFLFVBQVUsQ0FBQyxTQUFTO29CQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUM1QztvQkFDQSxNQUFNLENBQUMsSUFBSSxDQUNULHVDQUF1QyxVQUFVLENBQUMsUUFBUSxRQUFRLENBQ25FLENBQUM7aUJBQ0g7Z0JBRUQsT0FBTyxlQUFlLE1BQU0sRUFBRSxDQUFDO2FBQ2hDO1lBRUQsS0FBSyxvQkFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUM5QixNQUFNLE1BQU0sR0FBRztvQkFDYixHQUFHLFVBQVUsQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDLElBQUksRUFBRTtvQkFDM0MsR0FBRywrQkFBdUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7b0JBQzlELGdCQUFnQixVQUFVLENBQUMsUUFBUSxFQUFFO29CQUNyQyxzQkFBc0IsVUFBVSxDQUFDLFVBQVUsRUFBRTtvQkFDN0MsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFO29CQUN6QixhQUFhLFVBQVUsQ0FBQyxTQUFTLEVBQUU7b0JBQ25DLEdBQUcsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUN0RCxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQzFELE9BQU8sVUFBVSxDQUFDLFFBQVEsRUFBRTtpQkFDN0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRWIsT0FBTyxlQUFlLE1BQU0sRUFBRSxDQUFDO2FBQ2hDO1lBRUQsS0FBSyxvQkFBWSxDQUFDLElBQUksQ0FBQztZQUN2QixLQUFLLG9CQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLE1BQU0sTUFBTSxHQUFHO29CQUNiLEdBQUcsVUFBVSxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFO29CQUMzQyxHQUFHLCtCQUF1QixDQUFDLFVBQVUsRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztvQkFDaEUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2lCQUMzRCxDQUFDO2dCQUVGLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxvQkFBWSxDQUFDLEtBQUssRUFBRTtvQkFDMUMsTUFBTSxDQUFDLElBQUksQ0FDVCxlQUFlLEVBQ2Ysb0JBQW9CLFVBQVUsQ0FBQyxjQUFjLEtBQUssSUFBSSxFQUFFLEVBQ3hELEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUMzRCxDQUFDO2lCQUNIO2dCQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFFMUMsT0FBTyxRQUFRLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzthQUNwQztZQUVELEtBQUssb0JBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEIsTUFBTSxNQUFNLEdBQUc7b0JBQ2IsR0FBRyxVQUFVLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUU7b0JBQzNDLEdBQUcsK0JBQXVCLENBQUMsVUFBVSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQ3BELGVBQWU7b0JBQ2Ysb0JBQW9CLFVBQVUsQ0FBQyxjQUFjLEtBQUssSUFBSSxFQUFFO29CQUN4RCxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ3pELEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDMUQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ3RELEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDMUQsT0FBTyxVQUFVLENBQUMsUUFBUSxFQUFFO2lCQUM3QixDQUFDO2dCQUVGLE9BQU8sVUFBVSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7YUFDdEM7WUFFRCx1QkFBdUI7WUFDdkI7Z0JBQ0UsTUFBTSxDQUFDLElBQUksQ0FDVCx1QkFDRyxVQUFrQixDQUFDLElBQ3RCLFdBQVksVUFBa0IsQ0FBQyxRQUFRLE9BQU8sQ0FDL0MsQ0FBQztnQkFDRixPQUFPLEtBQUssQ0FBQyxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQyxDQUFDO1NBQ0QsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFrQixFQUFFLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBRXhELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUM7QUE1S1csUUFBQSxtQkFBbUIsdUJBNEs5QjtBQUVGLHVCQUF1QjtBQUNoQixNQUFNLHVCQUF1QixHQUFHLENBQ3JDLElBQTBDLEVBQ2xDLEVBQUU7SUFDVixNQUFNLEtBQUssR0FBdUIsSUFBSTtTQUNuQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUNsQix1QkFBdUI7UUFDdkIsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLEtBQUssb0JBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDN0IsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BFLHVCQUNFLE9BQU8sRUFBRSxVQUFVLENBQUMsUUFBUSxFQUM1QixNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQzVCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxFQUN6QixjQUFjLEVBQUUsdUJBQWUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQ3BELFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUM3QixZQUFZLEVBQUUsS0FBSyxFQUNuQixZQUFZLEVBQUUsS0FBSyxFQUNuQixNQUFNLEVBQUUsSUFBSSxJQUNULENBQUMsT0FBTztvQkFDVCxDQUFDLENBQUM7d0JBQ0UsTUFBTSxFQUFFLFlBQVk7d0JBQ3BCLGFBQWEsRUFBRSxRQUFRLFVBQVUsQ0FBQyxJQUFJLGNBQWMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFO3FCQUM5RTtvQkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ1Q7YUFDSDtZQUVELHVCQUF1QjtZQUN2QjtnQkFDRSxNQUFNLENBQUMsSUFBSSxDQUNULDBCQUEwQixVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsQ0FBQyxRQUFRLE9BQU8sQ0FDOUUsQ0FBQztnQkFDRixPQUFPLFNBQVMsQ0FBQztTQUNwQjtJQUNILENBQUMsQ0FBQztTQUNELE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBRXhDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQztBQTNDVyxRQUFBLHVCQUF1QiwyQkEyQ2xDO0FBRUssTUFBTSxZQUFZLEdBQUcsVUFDMUIsSUFBcUMsRUFDckMsTUFBc0QsRUFDdEQsU0FBa0I7SUFFbEIsdUJBQXVCO0lBQ3ZCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1FBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQWtCLENBQUMsQ0FBQztLQUNyQztJQUVELE9BQU8sbUJBQVcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1NBQzdCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUM1QixJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQztBQWJXLFFBQUEsWUFBWSxnQkFhdkI7QUFFSyxNQUFNLGlCQUFpQixHQUFHLFVBQy9CLElBQXFDLEVBQ3JDLE1BQXNELEVBQ3RELGVBQXVDO0lBRXZDLHVCQUF1QjtJQUN2QixJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtRQUMzRCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUFrQixDQUFDLENBQUM7S0FDckM7SUFFRCxJQUFJLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFFMUIsSUFBSSxlQUFlLEVBQUU7UUFDbkIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7S0FDekM7SUFFRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDcEIsbUJBQVcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3ZELENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFyQlcsUUFBQSxpQkFBaUIscUJBcUI1QjtBQUVLLE1BQU0sdUJBQXVCLEdBQUcsQ0FDckMsUUFBZ0IsRUFDaEIsUUFBNkQsRUFDN0QsWUFBNkMsRUFDN0MsT0FLQyxFQU9ELEVBQUU7SUFDRixJQUFJLE9BQU8sQ0FBQztJQUVaLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRTtRQUMzQixJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbEIsTUFBTSxLQUFLLEdBQUcsbUJBQVcsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hELE9BQU8sR0FBSSxFQUFlLENBQUMsTUFBTSxDQUMvQixPQUFPLENBQUMsZUFBZSxFQUN2QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ25DLENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUM7U0FDbkM7S0FDRjtTQUFNO1FBQ0wsTUFBTSxLQUFLLEdBQUcsbUJBQVcsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELE9BQU8sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDOUM7SUFFRCx1QkFDRSxJQUFJLEVBQUUsUUFBUSxFQUNkLElBQUksRUFBRSxRQUFRLEVBQ2QsT0FBTyxJQUNKLENBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDN0QsQ0FBQyxDQUFDO1lBQ0UsR0FBRyxFQUFFLE9BQU8sQ0FBQyxZQUFZO1lBQ3pCLFFBQVEsRUFBRSxPQUFPLENBQUMsaUJBQWlCO1NBQ3BDO1FBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUNUO0FBQ0osQ0FBQyxDQUFDO0FBN0NXLFFBQUEsdUJBQXVCLDJCQTZDbEM7QUFFSyxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQWUsRUFBVSxFQUFFLENBQUMsY0FBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUExRCxRQUFBLE1BQU0sVUFBb0Q7QUFFaEUsTUFBTSx1QkFBdUIsR0FBRyxDQUNyQyxHQUFRLEVBQ1IsT0FBMEIsRUFDUCxFQUFFO0lBQ3JCLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUM1QixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDdEIsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBWFcsUUFBQSx1QkFBdUIsMkJBV2xDO0FBRUssTUFBTSxnQkFBZ0IsR0FBRyxDQUM5QixVQUFpQyxFQUM5QixFQUFFO0lBQ0wsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMxQyxJQUFJLEtBQUssRUFBRTtnQkFDVCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQzthQUNuRDtTQUNGO2FBQU07WUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE1BQVcsQ0FBQztBQUNyQixDQUFDLENBQUM7QUFmVyxRQUFBLGdCQUFnQixvQkFlM0I7QUFFSyxNQUFNLDhCQUE4QixHQUFHLENBQzVDLFFBQStDLEVBQy9DLGFBQTJFLEVBQzNFLGtCQUFzQyxFQUN0QyxVQUdJLEVBQUUsRUFDYyxFQUFFO0lBQ3RCLE1BQU0sVUFBVSxHQUFHLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUUvRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUM3QixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDakMsdUJBQXVCO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsdUJBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2hELE1BQU0sSUFBSSxLQUFLLENBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSw0QkFBNEIsQ0FDL0MsQ0FBQzthQUNIO1lBRUQsT0FBTywrQkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO2dCQUM3RCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ25CLGVBQWUsRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDN0IsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2dCQUNsQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsaUJBQWlCO2FBQzdDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxPQUFPLCtCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7Z0JBQzdELGVBQWUsRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDN0IsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2dCQUNsQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsaUJBQWlCO2FBQzdDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFsQ1csUUFBQSw4QkFBOEIsa0NBa0N6QztBQUVLLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxNQUFjLFlBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBVSxFQUFFO0lBQ3ZFLElBQUksT0FBTyxDQUFDO0lBRVosSUFBSTtRQUNGLGtCQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxPQUFPLEdBQUcsR0FBRyxDQUFDO0tBQ2Y7SUFBQyxPQUFPLEdBQUcsRUFBRTtRQUNaLDJDQUEyQztRQUMzQyx1QkFBdUI7UUFDdkIsT0FBTyxHQUFHLE1BQU0sQ0FBQztLQUNsQjtJQUVELE1BQU0sU0FBUyxHQUFHLFdBQUksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUNsRCxrQkFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFmVyxRQUFBLGtCQUFrQixzQkFlN0I7QUFFSyxNQUFNLGlCQUFpQixHQUFHLENBQy9CLFNBQWlCLEVBQ2pCLFVBQTJCLEVBQ2YsRUFBRTtJQUNkLE1BQU0sTUFBTSxHQUFRO1FBQ2xCLEdBQUcsRUFBRTtZQUNILFFBQVEsRUFBRSxTQUFTO1NBQ3BCO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsSUFBSSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDdkIsTUFBTSxFQUFFLFdBQVc7WUFDbkIsUUFBUSxFQUFFLE9BQU87WUFDakIsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxRQUFRO2FBQ2Y7U0FDRjtRQUNELFFBQVEsRUFBRTtZQUNSLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRTtnQkFDUixLQUFLLEVBQUU7b0JBQ0w7d0JBQ0UsT0FBTyxFQUFFLFVBQVUsQ0FBQyxRQUFRO3dCQUM1QixJQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7d0JBQzdCLEtBQUssRUFBRTs0QkFDTDtnQ0FDRSxFQUFFLEVBQUUsVUFBVSxDQUFDLElBQUk7Z0NBQ25CLE9BQU8sRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztnQ0FDbkMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxNQUFNO2dDQUMzQixLQUFLLEVBQUUsQ0FBQzs2QkFDVDt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO1lBQ0QsY0FBYyxFQUFFO2dCQUNkLFFBQVEsRUFBRSxNQUFNO2FBQ2pCO1NBQ0Y7S0FDRixDQUFDO0lBRUYsSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2xCLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxtQ0FDekIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEtBQ2pDLFFBQVEsRUFBRSxLQUFLLEVBQ2YsV0FBVyxnQ0FDVCxVQUFVLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxJQUMvQyxDQUFDLE9BQU8sVUFBVSxDQUFDLGNBQWMsS0FBSyxTQUFTO2dCQUNoRCxDQUFDLENBQUM7b0JBQ0UsYUFBYSxFQUFFLFVBQVUsQ0FBQyxjQUFjO2lCQUN6QztnQkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQ04sQ0FBQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLEtBQUssU0FBUztnQkFDdkMsQ0FBQyxDQUFDO29CQUNFLG9CQUFvQixFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUs7aUJBQ3hDO2dCQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsSUFFWixDQUFDO0tBQ0g7SUFFRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFO1FBQy9CLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxtQ0FDekIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEtBQ2pDLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxFQUMzQixVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO2dCQUNyQixPQUFPLEVBQUU7b0JBQ1AsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO29CQUNyQixZQUFZLEVBQUUsa0JBQU87aUJBQ3RCO2FBQ0YsR0FDRixDQUFDO0tBQ0g7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUEzRVcsUUFBQSxpQkFBaUIscUJBMkU1QjtBQUVLLE1BQU0sV0FBVyxHQUFHLENBQ3pCLFFBQTBCLEVBQzFCLE1BQXNELEVBQ3BDLEVBQUU7SUFDcEIsdUJBQXVCO0lBQ3ZCLElBQUksTUFBTSxJQUFJLENBQUMsdUJBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsTUFBTSxFQUFFLENBQUMsQ0FBQztLQUN4QztJQUVELElBQUksS0FBSyxHQUFxQixRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDckQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUM7UUFFckMsSUFBSSxNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssVUFBVSxFQUFFO1lBQzFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQztTQUMvQjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFDRSxNQUFNO1FBQ04sT0FBTyxNQUFNLEtBQUssUUFBUTtRQUMxQixPQUFPLE1BQU0sQ0FBQyxNQUFNLEtBQUssVUFBVSxFQUNuQztRQUNBLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzlCO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7QUE1QlcsUUFBQSxXQUFXLGVBNEJ0QjtBQUVLLE1BQU0sbUJBQW1CLEdBQUcsQ0FDakMsT0FBK0IsRUFDUCxFQUFFO0lBQzFCLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUVyQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ25DLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFWVyxRQUFBLG1CQUFtQix1QkFVOUI7QUFFRix1QkFBdUI7QUFDaEIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFXLEVBQVcsRUFBRSxDQUMzQyxhQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLGFBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFEeEIsUUFBQSxJQUFJLFFBQ29CO0FBRXJDLHVCQUF1QjtBQUNoQixNQUFNLEtBQUssR0FBRyxHQUFZLEVBQUUsQ0FDakMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsS0FBSyxXQUFXO0lBQzdDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEtBQUssV0FBVyxDQUFDO0FBRnRDLFFBQUEsS0FBSyxTQUVpQztBQUVuRCx1QkFBdUI7QUFDaEIsTUFBTSxRQUFRLEdBQUcsR0FBWSxFQUFFLENBQUMsYUFBSyxFQUFFLENBQUM7QUFBbEMsUUFBQSxRQUFRLFlBQTBCO0FBRS9DLHVCQUF1QjtBQUNoQixNQUFNLFFBQVEsR0FBRyxHQUFZLEVBQUUsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQztBQUFsRSxRQUFBLFFBQVEsWUFBMEQ7QUFFL0UsdUJBQXVCO0FBQ2hCLE1BQU0sZUFBZSxHQUFHLEdBQVksRUFBRSxDQUMzQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxLQUFLLFdBQVcsQ0FBQztBQUR2QyxRQUFBLGVBQWUsbUJBQ3dCO0FBRXBELHVCQUF1QjtBQUNoQixNQUFNLFVBQVUsR0FBRyxHQUFZLEVBQUUsQ0FDdEMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsS0FBSyxXQUFXLENBQUM7QUFEbEMsUUFBQSxVQUFVLGNBQ3dCO0FBRS9DLHVCQUF1QjtBQUNoQixNQUFNLFdBQVcsR0FBRyxHQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQS9ELFFBQUEsV0FBVyxlQUFvRCJ9
1160
+ // istanbul ignore next
1161
+ const isRailway = () => typeof process.env.RAILWAY_STATIC_URL !== 'undefined';
1162
+ exports.isRailway = isRailway;
1163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMkNBQThDO0FBQzlDLG9EQUE0QjtBQUM1Qix3REFBMEI7QUFDMUIsb0RBQXVCO0FBQ3ZCLDRDQUFvQjtBQUNwQiwrQkFBNEI7QUFDNUIsZ0VBQXVDO0FBRXZDLDZCQUEyQztBQUMzQyxvRUFBMkM7QUFDM0MsZ0RBQXdCO0FBQ3hCLDhDQUFzQjtBQUV0QixvQ0Fla0I7QUFDbEIsbUNBQXNDO0FBQ3RDLHlDQUF5RDtBQUN6RCxxQ0FBMEM7QUFDMUMsZ0VBQXVDO0FBQ3ZDLG1DQUF5QztBQUV6QyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztBQUVsRCxNQUFNLGNBQWMsR0FBRyxDQUM1QixPQUFPLEdBQUcsR0FBRyxFQUNiLFlBQW9CLEVBQ3BCLE1BQU0sR0FBRyxJQUFJLEVBQ2IsV0FBb0IsRUFDWixFQUFFO0lBQ1YsSUFBSSxlQUFnQyxDQUFDO0lBQ3JDLElBQUksSUFBWSxDQUFDO0lBRWpCLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUM5QixlQUFlLEdBQUcsSUFBSSxxQkFBZSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRSxJQUFJLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNuQztTQUFNO1FBQ0wsZUFBZSxHQUFHLElBQUkscUJBQWUsRUFBRSxDQUFDO1FBQ3hDLElBQUksR0FBRyxZQUFZLENBQUM7S0FDckI7SUFFRCxJQUFJLFdBQVcsRUFBRTtRQUNmLGVBQWUsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0tBQ2xEO0lBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQ2hDO0lBRUQsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBRXpDLE9BQU8sR0FBRyxPQUFPLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDeEQsQ0FBQyxDQUFDO0FBM0JXLFFBQUEsY0FBYyxrQkEyQnpCO0FBRUssTUFBTSxNQUFNLEdBQUcsQ0FDcEIsT0FBZSxFQUNmLElBQVksRUFDWixXQUFvQixFQUNaLEVBQUU7SUFDVixJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxTQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLElBQUksV0FBVyxFQUFFO1FBQ2YsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0tBQ25EO0lBQ0QsT0FBTyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDeEIsQ0FBQyxDQUFDO0FBWFcsUUFBQSxNQUFNLFVBV2pCO0FBRUssTUFBTSx3QkFBd0IsR0FBRyxLQUFLLEVBQzNDLEdBQVcsRUFDWCxRQUFrQixFQUM2QixFQUFFO0lBQ2pELElBQUEsZ0JBQU0sRUFBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFFM0IsS0FBSyxVQUFVLHVCQUF1QjtRQUdwQyxNQUFNLFFBQVEsR0FBRyxtQkFBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDbkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFXLENBQUM7WUFDNUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDaEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxxQkFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFdEMsbUJBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUMsRUFBRSxDQUFDO1FBRVQsT0FBUSxRQUFRLENBQUMsT0FBOEIsQ0FBQyxHQUFHLENBQ2pELENBQUMsSUFBSSxFQUF5QixFQUFFO1lBQzlCLE1BQU0sVUFBVSxHQUFRO2dCQUN0QixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQWlCO2dCQUNoQyxJQUFJLEVBQUUsb0JBQVksQ0FBQyxXQUFXO2dCQUM5QixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQWdCO2dCQUMvQixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQXFCO2dCQUNoQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQWdCO2dCQUM3QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQWtCO2FBQ2xDLENBQUM7WUFFRixJQUFJLE9BQU8sUUFBUSxLQUFLLFNBQVMsRUFBRTtnQkFDakMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFFBQVEsQ0FBQzthQUNwQztZQUNELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxZQUFZLEVBQUU7Z0JBQ2hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNsRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUUzRCxJQUFJLElBQUksRUFBRTtvQkFDUixVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDMUIsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7aUJBQ25FO2FBQ0Y7WUFFRCxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLE1BQU0sdUJBQXVCLEVBQUUsQ0FBQztBQUN6QyxDQUFDLENBQUM7QUFqRFcsUUFBQSx3QkFBd0IsNEJBaURuQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxhQUFhLEdBQUcsVUFDM0IsSUFBMkMsRUFDM0MsTUFBa0Q7SUFFbEQsdUJBQXVCO0lBQ3ZCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1FBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQWtCLENBQUMsQ0FBQztLQUNyQztJQUVELE1BQU0sTUFBTSxHQUFhLElBQUEsbUJBQVcsRUFBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1NBQy9DLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBc0IsRUFBRTs7UUFDdEMsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLEtBQUssb0JBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDN0IsTUFBTSxNQUFNLEdBQUcsVUFBbUMsQ0FBQztnQkFFbkQsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3RELE1BQU0sQ0FBQyxJQUFJLENBQ1Qsa0RBQ0UsVUFBVyxDQUFDLFFBQ2QsT0FBTyxDQUNSLENBQUM7b0JBQ0YsT0FBTyxLQUFLLENBQUMsQ0FBQztpQkFDZjtnQkFFRCxpQ0FBaUM7Z0JBQ2pDLElBQUksQ0FBQSxNQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxXQUFXLDBDQUFFLGlCQUFpQixNQUFLLElBQUksRUFBRTtvQkFDdkQsT0FBTzt3QkFDTCxNQUFNLENBQUMsUUFBUTt3QkFDZjs0QkFDRSxJQUFJOzRCQUNKLE1BQU0sQ0FBQyxRQUFROzRCQUNmLE1BQU0sQ0FBQyxJQUFJOzRCQUNYLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxNQUFNOzRCQUNqQyxHQUFHLElBQUEsK0JBQXVCLEVBQUMsTUFBTSxFQUFFO2dDQUNqQyxVQUFVO2dDQUNWLFdBQVc7Z0NBQ1gsTUFBTTtnQ0FDTixXQUFXO2dDQUNYLEtBQUs7Z0NBQ0wsT0FBTzs2QkFDUixDQUFDOzRCQUNGLEdBQUcsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxPQUFPLEtBQUssUUFBUTtnQ0FDcEMsQ0FBQyxDQUFDLENBQUMsWUFBWSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7Z0NBQ2hDLENBQUMsQ0FBQyxFQUFFLENBQUM7NEJBQ1AsR0FBRyxDQUFDLE9BQU8sTUFBTSxDQUFDLGVBQWUsS0FBSyxRQUFRO2dDQUM1QyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dDQUNoRCxDQUFDLENBQUMsRUFBRSxDQUFDO3lCQUNSLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztxQkFDYixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDZjtnQkFFRCxzQkFBc0I7Z0JBQ3RCLE9BQU87b0JBQ0wsTUFBTSxDQUFDLFFBQVE7b0JBQ2Y7d0JBQ0UsUUFBUTt3QkFDUixNQUFNLENBQUMsUUFBUTt3QkFDZixNQUFNLENBQUMsSUFBSTt3QkFDWCxNQUFNLENBQUMsTUFBTTt3QkFDYixNQUFNLENBQUMsUUFBUTt3QkFDZixnRkFBZ0Y7d0JBQ2hGLEdBQUcsSUFBQSwrQkFBdUIsRUFBQyxNQUFNLEVBQUU7NEJBQ2pDLFdBQVc7NEJBQ1gsTUFBTTs0QkFDTixXQUFXOzRCQUNYLEtBQUs7NEJBQ0wsT0FBTzt5QkFDUixDQUFDO3dCQUNGLEdBQUcsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxPQUFPLEtBQUssUUFBUTs0QkFDcEMsQ0FBQyxDQUFDLENBQUMsWUFBWSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7NEJBQ2hDLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ1AsR0FBRyxDQUFDLE9BQU8sTUFBTSxDQUFDLGVBQWUsS0FBSyxRQUFROzRCQUM1QyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDOzRCQUNoRCxDQUFDLENBQUMsRUFBRSxDQUFDO3FCQUNSLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztpQkFDYixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNmO1lBRUQsS0FBSyxvQkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QixNQUFNLE1BQU0sR0FBRyxVQUE2QixDQUFDO2dCQUU3QyxPQUFPO29CQUNMLE1BQU0sQ0FBQyxRQUFRO29CQUNmO3dCQUNFLE9BQU87d0JBQ1AsTUFBTSxDQUFDLFFBQVE7d0JBQ2YsTUFBTSxDQUFDLElBQUk7d0JBQ1gsTUFBTSxDQUFDLFFBQVE7d0JBQ2YsTUFBTSxDQUFDLFFBQVE7d0JBQ2YsR0FBRyxDQUFDLE9BQU8sTUFBTSxDQUFDLGNBQWMsS0FBSyxTQUFTOzRCQUM1QyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDOzRCQUMvQyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUNQLEdBQUcsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxlQUFlLEtBQUssUUFBUTs0QkFDNUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQzs0QkFDaEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDUCxHQUFHLENBQUMsT0FBTyxNQUFNLENBQUMsT0FBTyxLQUFLLFFBQVE7NEJBQ3BDLENBQUMsQ0FBQyxDQUFDLFlBQVksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDOzRCQUNoQyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUNQLEdBQUcsSUFBQSwrQkFBdUIsRUFBQyxNQUFNLEVBQUU7NEJBQ2pDLEtBQUs7NEJBQ0wsS0FBSzs0QkFDTCxPQUFPOzRCQUNQLE9BQU87eUJBQ1IsQ0FBQztxQkFDSCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7aUJBQ2IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDZjtZQUVELEtBQUssb0JBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEIsTUFBTSxNQUFNLEdBQUcsVUFBNEIsQ0FBQztnQkFFNUMsT0FBTztvQkFDTCxNQUFNLENBQUMsUUFBUTtvQkFDZjt3QkFDRSxNQUFNO3dCQUNOLE1BQU0sQ0FBQyxRQUFRO3dCQUNmLE1BQU0sQ0FBQyxJQUFJO3dCQUNYLE1BQU0sQ0FBQyxRQUFRO3dCQUNmLE1BQU0sQ0FBQyxRQUFRO3dCQUNmLEdBQUcsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxlQUFlLEtBQUssUUFBUTs0QkFDNUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQzs0QkFDaEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDUCxHQUFHLENBQUMsT0FBTyxNQUFNLENBQUMsT0FBTyxLQUFLLFFBQVE7NEJBQ3BDLENBQUMsQ0FBQyxDQUFDLFlBQVksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDOzRCQUNoQyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUNQLEdBQUcsSUFBQSwrQkFBdUIsRUFBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7cUJBQ3JELENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztpQkFDYixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNmO1lBRUQsS0FBSyxvQkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QixNQUFNLE1BQU0sR0FBRyxVQUE2QixDQUFDO2dCQUU3QyxPQUFPO29CQUNMLE1BQU0sQ0FBQyxRQUFRO29CQUNmO3dCQUNFLE9BQU87d0JBQ1AsTUFBTSxDQUFDLFFBQVE7d0JBQ2YsTUFBTSxDQUFDLElBQUk7d0JBQ1gsR0FBRyxDQUFDLE9BQU8sTUFBTSxDQUFDLGVBQWUsS0FBSyxRQUFROzRCQUM1QyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDOzRCQUNoRCxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUNQLEdBQUcsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxPQUFPLEtBQUssUUFBUTs0QkFDcEMsQ0FBQyxDQUFDLENBQUMsWUFBWSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7NEJBQ2hDLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ1AsR0FBRyxJQUFBLCtCQUF1QixFQUFDLE1BQU0sRUFBRTs0QkFDakMsS0FBSzs0QkFDTCxNQUFNOzRCQUNOLFdBQVc7NEJBQ1gsU0FBUzs0QkFDVCxLQUFLOzRCQUNMLE9BQU87eUJBQ1IsQ0FBQztxQkFDSCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7aUJBQ2IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDZjtZQUVELEtBQUssb0JBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDOUIsTUFBTSxNQUFNLEdBQUcsVUFBb0MsQ0FBQztnQkFFcEQsdUJBQXVCO2dCQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtvQkFDbkIsTUFBTSxJQUFJLEtBQUssQ0FDYiwwREFBMEQsQ0FDM0QsQ0FBQztpQkFDSDtnQkFFRCxNQUFNLElBQUksR0FBRztvQkFDWCxJQUFJO29CQUNKLE1BQU0sQ0FBQyxRQUFRO29CQUNmLElBQUk7b0JBQ0osR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFO29CQUNoQixJQUFJO29CQUNKLE1BQU0sQ0FBQyxNQUFNO29CQUNiLElBQUk7b0JBQ0osTUFBTSxDQUFDLElBQUk7b0JBQ1gsSUFBSTtvQkFDSixNQUFNLENBQUMsUUFBUTtvQkFDZixJQUFJO29CQUNKLE1BQU0sQ0FBQyxRQUFRO29CQUNmLElBQUk7b0JBQ0osR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFO29CQUNyQixJQUFJO29CQUNKLFdBQVc7aUJBQ1osQ0FBQztnQkFFRixJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDcEM7Z0JBQ0QsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFO29CQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ25DO2dCQUVELE1BQU0sWUFBWSxHQUFHO29CQUNuQixVQUFVO29CQUNWLFVBQVUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQzFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsVUFBVSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ3JELGdCQUFnQixNQUFNLENBQUMsU0FBUyxFQUFFO2lCQUNuQyxDQUFDO2dCQUVGLElBQUksTUFBTSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7b0JBQzFCLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0NBQWtDLE1BQUEsTUFBTSxDQUFDLFFBQVEsMENBQUUsSUFBSSw2Q0FBNkMsQ0FDckcsQ0FBQztpQkFDSDtnQkFFRCxJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7b0JBQ2pELFlBQVksQ0FBQyxJQUFJLENBQ2YsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUMxRCxDQUFDO2lCQUNIO2dCQUVELElBQUksSUFBQSxZQUFJLEVBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUN6QixZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ3JEO2dCQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDL0Q7WUFFRCxLQUFLLG9CQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLE1BQU0sTUFBTSxHQUFHLFVBQTZCLENBQUM7Z0JBRTdDLElBQUksQ0FBQSxNQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxXQUFXLDBDQUFFLEtBQUssTUFBSyxRQUFRLEVBQUU7b0JBQy9DLDJCQUEyQjtvQkFFM0IsTUFBTSxVQUFVLEdBQUc7d0JBQ2pCLE9BQU87d0JBQ1AsTUFBTSxDQUFDLFFBQVE7d0JBQ2YsTUFBTSxDQUFDLElBQUk7d0JBQ1gsWUFBWSxNQUFNLENBQUMsSUFBSSxFQUFFO3FCQUMxQixDQUFDO29CQUVGLFNBQVMsU0FBUyxDQUFDLFNBQWlDO3dCQUNsRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDOzZCQUMxQixHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLEdBQUcsU0FBUyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDOzZCQUMxRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2YsQ0FBQztvQkFFRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFO3dCQUMzQixVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3dCQUMzQixVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7d0JBQzFDLFVBQVUsQ0FBQyxJQUFJLENBQ2IsYUFBYTs0QkFDWCxJQUFJLENBQUMsU0FBUyxDQUNaLFNBQVMsaUJBQ1AsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLFFBQVEsRUFDcEMsWUFBWSxFQUFFLGtCQUFPLElBQ2xCLGdCQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUNyQyxDQUNILENBQ0osQ0FBQztxQkFDSDtvQkFFRCxJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUU7d0JBQ2QsVUFBVSxDQUFDLElBQUksQ0FDYixVQUFVLEVBQ1YsR0FBRyxDQUFDLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxTQUFTOzRCQUNuQyxDQUFDLENBQUMsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQzs0QkFDM0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxjQUFjLEtBQUssU0FBUzs0QkFDNUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQzs0QkFDL0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUMvQyxDQUFDO3FCQUNIO29CQUVELElBQUksT0FBTyxNQUFNLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRTt3QkFDbkMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO3FCQUN0QztvQkFFRCxJQUFJLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUU7d0JBQ3JDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztxQkFDMUM7b0JBRUQsSUFBSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsRUFBRTt3QkFDN0IsVUFBVSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO3FCQUNsRTtvQkFFRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTt3QkFDckIsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ2xEO29CQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQzdEO3FCQUFNO29CQUNMLDBCQUEwQjtvQkFFMUIsdUJBQXVCO29CQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTt3QkFDbkIsTUFBTSxJQUFJLEtBQUssQ0FDYixtREFBbUQsQ0FDcEQsQ0FBQztxQkFDSDtvQkFFRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLEtBQUssQ0FBQyxFQUFFO3dCQUMxQixNQUFNLElBQUksS0FBSyxDQUNiLG9DQUFvQyxNQUFBLE1BQU0sQ0FBQyxRQUFRLDBDQUFFLElBQUksNkNBQTZDLENBQ3ZHLENBQUM7cUJBQ0g7b0JBRUQsTUFBTSxZQUFZLEdBQUcsU0FBUyxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDO29CQUN4RixNQUFNLFlBQVksR0FBRyxJQUFBLFdBQUksRUFBQyxJQUFBLDBCQUFrQixHQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7b0JBQzlELE1BQU0sUUFBUSxHQUFHLElBQUEseUJBQWlCLEVBQ2hDLE1BQU0sQ0FBQyxTQUFtQixFQUMxQixVQUFVLENBQ1gsQ0FBQztvQkFDRixNQUFNLElBQUksR0FBRzt3QkFDWCxVQUFVO3dCQUNWLFlBQVksQ0FBQyxPQUFPLENBQUMsWUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQztxQkFDNUMsQ0FBQztvQkFDRixNQUFNLFlBQVksR0FBRzt3QkFDbkIsVUFBVTt3QkFDVixVQUFVLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUMxQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFVBQVUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUNyRCxnQkFBZ0IsTUFBTSxDQUFDLFNBQVMsRUFBRTtxQkFDbkMsQ0FBQztvQkFFRixJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7d0JBQ2pELFlBQVksQ0FBQyxJQUFJLENBQ2YsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUMxRCxDQUFDO3FCQUNIO29CQUVELElBQUksSUFBQSxZQUFJLEVBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO3dCQUN6QixZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7cUJBQ3JEO29CQUVELHVCQUF1QjtvQkFDdkIsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsS0FBSyxNQUFNLEVBQUU7d0JBQ25DLGtCQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztxQkFDMUM7b0JBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDL0Q7YUFDRjtZQUVELEtBQUssb0JBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEIsTUFBTSxVQUFVLEdBQWE7b0JBQzNCLFFBQVE7b0JBQ1IsVUFBVSxDQUFDLFFBQVE7b0JBQ25CLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRTtvQkFDcEIsWUFBWSxVQUFVLENBQUMsUUFBUSxFQUFFO29CQUNqQyxHQUFHLElBQUEsK0JBQXVCLEVBQUMsVUFBVSxFQUFFO3dCQUNyQyxLQUFLO3dCQUNMLE9BQU87d0JBQ1AsS0FBSzt3QkFDTCxPQUFPO3FCQUNSLENBQUM7b0JBQ0YsR0FBRyxDQUFDLE9BQU8sVUFBVSxDQUFDLE9BQU8sS0FBSyxRQUFRO3dCQUN4QyxDQUFDLENBQUMsQ0FBQyxZQUFZLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQzt3QkFDcEMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDUCxHQUFHLENBQUMsT0FBTyxVQUFVLENBQUMsZUFBZSxLQUFLLFFBQVE7d0JBQ2hELENBQUMsQ0FBQyxDQUFDLG9CQUFvQixVQUFVLENBQUMsZUFBZSxFQUFFLENBQUM7d0JBQ3BELENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ1AsR0FBRyxDQUFDLE9BQU8sVUFBVSxDQUFDLGNBQWMsS0FBSyxTQUFTO3dCQUNoRCxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDO3dCQUNuRCxDQUFDLENBQUMsRUFBRSxDQUFDO2lCQUNSLENBQUM7Z0JBRUYsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNqRTtZQUVELEtBQUssb0JBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEIsTUFBTSxNQUFNLEdBQUc7b0JBQ2IsVUFBVSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUTtvQkFDakQsVUFBVSxDQUFDLFFBQVE7b0JBQ25CLFVBQVUsQ0FBQyxJQUFJO29CQUNmLEdBQUcsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxlQUFlLEtBQUssUUFBUTt3QkFDaEQsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQzt3QkFDcEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDUCxHQUFHLENBQUMsT0FBTyxVQUFVLENBQUMsT0FBTyxLQUFLLFFBQVE7d0JBQ3hDLENBQUMsQ0FBQyxDQUFDLFlBQVksVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUNwQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNQLEdBQUcsSUFBQSwrQkFBdUIsRUFBQyxVQUFVLEVBQUU7d0JBQ3JDLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixLQUFLO3dCQUNMLEtBQUs7d0JBQ0wsT0FBTzt3QkFDUCxPQUFPO3FCQUNSLENBQUM7aUJBQ0gsQ0FBQztnQkFFRixJQUFJLFVBQVUsQ0FBQyxHQUFHLEtBQUssSUFBSSxFQUFFO29CQUMzQixNQUFNLENBQUMsSUFBSSxDQUNULEdBQUcsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxjQUFjLEtBQUssU0FBUzt3QkFDaEQsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFDbkQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxVQUFVLEtBQUssUUFBUTt3QkFDM0MsQ0FBQyxDQUFDLENBQUMsZUFBZSxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7d0JBQzFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDUixDQUFDO2lCQUNIO2dCQUVELE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDN0Q7WUFFRCx1QkFBdUI7WUFDdkI7Z0JBQ0UsTUFBTSxDQUFDLElBQUksQ0FDVCxpQkFBa0IsVUFBa0IsQ0FBQyxJQUFJLFdBQ3RDLFVBQWtCLENBQUMsUUFDdEIsT0FBTyxDQUNSLENBQUM7Z0JBQ0YsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNqQjtJQUNILENBQUMsQ0FBQztTQUNELE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBa0IsRUFBRSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQztJQUV4RCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBelpXLFFBQUEsYUFBYSxpQkF5WnhCO0FBRUssTUFBTSxhQUFhLEdBQUcsVUFDM0IsSUFBMkMsRUFDM0MsTUFBa0Q7SUFFbEQsdUJBQXVCO0lBQ3ZCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1FBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQWtCLENBQUMsQ0FBQztLQUNyQztJQUVELE9BQU8sSUFBQSxtQkFBVyxFQUFDLElBQUksRUFBRSxNQUFNLENBQUM7U0FDN0IsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7O1FBQ2xCLHVCQUF1QjtRQUN2QixJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFO1lBQy9CLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxRQUFRLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDdkIsS0FBSyxvQkFBWSxDQUFDLFdBQVc7Z0JBQzNCLHFDQUNFLElBQUksRUFBRSxJQUFJLEVBQ1YsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQ3pCLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxFQUN6QixRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFDN0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQ3JCLE1BQU0sRUFBRSxVQUFVLENBQUMsUUFBUSxFQUMzQixHQUFHLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFDbEMsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO29CQUM5RCxDQUFDLENBQUM7d0JBQ0UsTUFBTSxFQUFFLE1BQU07d0JBQ2QsYUFBYSxFQUFFOzRCQUNiLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTs0QkFDckIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUM7eUJBQzlCO3FCQUNGO29CQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsR0FDTixDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQzVELENBQUMsQ0FBQzt3QkFDRSxNQUFNLEVBQUUsY0FBYzt3QkFDdEIsYUFBYSxnQ0FDWCxJQUFJLEVBQUUsV0FBVyxFQUNqQixHQUFHLEVBQUUsVUFBVSxDQUFDLElBQUksS0FBSyxLQUFLLElBQzNCLENBQUMsT0FBTyxVQUFVLENBQUMsY0FBYyxLQUFLLFNBQVM7NEJBQ2xELFVBQVUsQ0FBQyxJQUFJLEtBQUssS0FBSzs0QkFDdkIsQ0FBQyxDQUFDO2dDQUNFLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxjQUFjOzZCQUM5Qzs0QkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQ1QsSUFBSSxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFDN0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLEVBQ25DLEdBQUcsRUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEtBQUssU0FBUztnQ0FDakMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHO2dDQUNoQixDQUFDLENBQUMsS0FBSyxFQUNYLE9BQU8sRUFBRSxnQkFBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQ3REO3FCQUNGO29CQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDVDtZQUVKLEtBQUssb0JBQVksQ0FBQyxLQUFLO2dCQUNyQixpRUFDRSxJQUFJLEVBQUUsT0FBTyxFQUNiLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxFQUN6QixJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFDekIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQzNCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUNyQixHQUFHLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksRUFDckMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQ3JCLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxJQUN4QixDQUFDLFVBQVUsQ0FBQyxPQUFPLEtBQUssS0FBSztvQkFDOUIsQ0FBQyxDQUFDLElBQUk7b0JBQ04sQ0FBQyxDQUFDO3dCQUNFLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTztxQkFDNUIsQ0FBQyxLQUNOLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRyxLQUNoQixDQUFDLE9BQU8sVUFBVSxDQUFDLGNBQWMsS0FBSyxTQUFTLElBQUksVUFBVSxDQUFDLEdBQUc7b0JBQ2xFLENBQUMsQ0FBQzt3QkFDRSxrQkFBa0IsRUFBRSxVQUFVLENBQUMsY0FBYztxQkFDOUM7b0JBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUNOLENBQUMsVUFBVSxDQUFDLE9BQU8sS0FBSyxJQUFJO29CQUM3QixDQUFDLENBQUM7d0JBQ0UsU0FBUyxFQUFFOzRCQUNULElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTs0QkFDckIsT0FBTyxrQ0FDRixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQ3BELGdCQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUMxQzt5QkFDRjtxQkFDRjtvQkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ1Q7WUFFSixLQUFLLG9CQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQzlCLE1BQU0sU0FBUyxHQUFHLE1BQUEsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLFdBQVcsMENBQUUsU0FBUyxDQUFDO2dCQUVyRCxxQ0FDRSxJQUFJLEVBQUUsS0FBSyxFQUNYLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxFQUN6QixNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFDM0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQ3JCLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUM3QixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksRUFDckIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQzdCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxJQUN0QixDQUFDLFNBQVMsS0FBSyxRQUFRO29CQUN4QixDQUFDLENBQUM7d0JBQ0UsWUFBWSxFQUFFLE1BQUEsVUFBVSxDQUFDLFNBQVMsbUNBQUksRUFBRTt3QkFDeEMsZ0JBQWdCLEVBQUUsTUFBQSxVQUFVLENBQUMsVUFBVSxtQ0FBSSxFQUFFO3FCQUM5QztvQkFDSCxDQUFDLENBQUM7d0JBQ0UsU0FBUyxFQUFFLE1BQUEsVUFBVSxDQUFDLFNBQVMsbUNBQUksRUFBRTt3QkFDckMsYUFBYSxFQUFFLE1BQUEsVUFBVSxDQUFDLFVBQVUsbUNBQUksRUFBRTtxQkFDM0MsQ0FBQyxLQUNOLEdBQUcsRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUNyQzthQUNIO1lBRUQsS0FBSyxvQkFBWSxDQUFDLEtBQUs7Z0JBQ3JCLHVCQUNFLElBQUksRUFBRSxPQUFPLEVBQ2IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQ3pCLE1BQU0sRUFBRSxVQUFVLENBQUMsUUFBUSxFQUMzQixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksRUFDckIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQ25CLFdBQVcsa0JBQ1QsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLElBQ2xCLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQzt3QkFDekIsQ0FBQyxDQUFDOzRCQUNFLElBQUksRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDO3lCQUM5Qjt3QkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEtBRVIsQ0FBQyxVQUFVLENBQUMsT0FBTztvQkFDcEIsQ0FBQyxDQUFDO3dCQUNFLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTztxQkFDNUI7b0JBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUNUO1lBRUosS0FBSyxvQkFBWSxDQUFDLEtBQUs7Z0JBQ3JCLE9BQU87b0JBQ0wsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRO29CQUN6QixNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVE7b0JBQzNCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtvQkFDckIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsMEJBQTBCLElBQUksRUFBRTtvQkFDOUQsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsMEJBQTBCLElBQUksRUFBRTtvQkFDOUQsR0FBRyxFQUFFLElBQUk7b0JBQ1Qsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLGNBQWMsS0FBSyxJQUFJO2lCQUN2RCxDQUFDO1lBRUosS0FBSyxvQkFBWSxDQUFDLElBQUk7Z0JBQ3BCLE9BQU87b0JBQ0wsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRO29CQUN6QixNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVE7b0JBQzNCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtvQkFDckIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsMEJBQTBCLElBQUksRUFBRTtvQkFDOUQsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsMEJBQTBCLElBQUksRUFBRTtpQkFDL0QsQ0FBQztZQUVKLEtBQUssb0JBQVksQ0FBQyxNQUFNO2dCQUN0QixpRUFDRSxJQUFJLEVBQUUsUUFBUSxFQUNkLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxFQUN6QixNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFDM0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQ3JCLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxJQUMxQixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUM7b0JBQ3pCLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7b0JBQ2xDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FDTixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQ3BELENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FDcEQsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLGNBQWMsS0FBSyxJQUFJLElBQ3REO1lBRUosS0FBSyxvQkFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QiwrRUFDRSxJQUFJLEVBQUUsUUFBUSxFQUNkLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxFQUN6QixNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFDM0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLElBQ2xCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FDaEUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUNoRSxDQUFDLE9BQU8sVUFBVSxDQUFDLEdBQUcsS0FBSyxTQUFTO29CQUNyQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUNOLENBQUMsT0FBTyxVQUFVLENBQUMsY0FBYyxLQUFLLFNBQVM7b0JBQ2hELENBQUMsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxjQUFjLEVBQUU7b0JBQ25ELENBQUMsQ0FBQyxJQUFJLENBQUMsR0FDTixDQUFDLE9BQU8sVUFBVSxDQUFDLFFBQVEsS0FBSyxTQUFTO29CQUMxQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDOUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUNUO2FBQ0g7WUFFRCx1QkFBdUI7WUFDdkI7Z0JBQ0UsTUFBTSxDQUFDLElBQUksQ0FDVCxpQkFBa0IsVUFBa0IsQ0FBQyxJQUFJLFdBQ3RDLFVBQWtCLENBQUMsUUFDdEIsT0FBTyxDQUNSLENBQUM7Z0JBQ0YsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNILENBQUMsQ0FBQztTQUNELE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQztBQWhOVyxRQUFBLGFBQWEsaUJBZ054QjtBQUVLLE1BQU0sY0FBYyxHQUFHLFVBQzVCLElBQTRELEVBQzVELE1BQWtEO0lBRWxELHVCQUF1QjtJQUN2QixJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtRQUMzRCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUFrQixDQUFDLENBQUM7S0FDckM7SUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFBLG1CQUFXLEVBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztTQUNyQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUNsQixRQUFRLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDdkIsS0FBSyxvQkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QixNQUFNLEdBQUcsR0FBRyxJQUFBLHNCQUFjLEVBQUMsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQzNELE9BQU87b0JBQ0wsVUFBVSxDQUFDLFFBQVE7b0JBQ25CLFFBQVE7b0JBQ1IsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDO2lCQUM1QyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNkO1lBRUQsS0FBSyxvQkFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM3QixNQUFNLEdBQUcsR0FBRyxJQUFBLDJCQUFtQixFQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDOUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMzRDtZQUVELHVCQUF1QjtZQUN2QjtnQkFDRSxNQUFNLENBQUMsSUFBSSxDQUNULGtCQUFtQixVQUFrQixDQUFDLElBQUksV0FDdkMsVUFBa0IsQ0FBQyxRQUN0QixPQUFPLENBQ1IsQ0FBQztnQkFDRixPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0gsQ0FBQyxDQUFDO1NBQ0QsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFNUIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQztBQXZDVyxRQUFBLGNBQWMsa0JBdUN6QjtBQUVGLHVCQUF1QjtBQUNoQixNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQVcsRUFBVSxFQUFFLENBQ3JELHdCQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFEcEMsUUFBQSxlQUFlLG1CQUNxQjtBQUVqRCx1QkFBdUI7QUFDaEIsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEdBQVcsRUFBVSxFQUFFO0lBQ3ZELElBQUksd0JBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDL0IsT0FBTyx3QkFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztLQUM3QztJQUNELE9BQU8sSUFBQSxrQkFBVSxFQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUxXLFFBQUEsaUJBQWlCLHFCQUs1QjtBQUVGLHVCQUF1QjtBQUNoQixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBVSxFQUFFLENBQzlDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQURqQyxRQUFBLFFBQVEsWUFDeUI7QUFFOUMsdUJBQXVCO0FBQ2hCLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUUsQ0FDaEQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRGpDLFFBQUEsVUFBVSxjQUN1QjtBQUU5Qzs7R0FFRztBQUNJLE1BQU0sbUJBQW1CLEdBQUcsQ0FDakMsSUFBMEMsRUFDMUMsU0FBUyxHQUFHLFFBQVEsRUFDWixFQUFFO0lBQ1YsTUFBTSxNQUFNLEdBQXVCLElBQUk7U0FDcEMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDbEIsdUJBQXVCO1FBQ3ZCLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQUU7WUFDL0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRTtZQUN2QixLQUFLLG9CQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzdCLE1BQU0sTUFBTSxHQUFHLGdCQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN2QyxNQUFNLEtBQUssbUNBSU4sQ0FBQyxNQUFNLENBQUMsSUFBSTtvQkFDYixDQUFDLENBQUM7d0JBQ0UsTUFBTSxFQUFFLEdBQUcsa0JBQWtCLENBQzNCLG1CQUFtQixNQUFNLENBQUMsSUFBSSxjQUFjLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUNsRSxFQUFFO3FCQUNKO29CQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsR0FDTixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQ2pFLENBQUM7Z0JBRUYsT0FBTztvQkFDTCxPQUFPO29CQUNQLElBQUEsdUJBQWUsRUFBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUN0RCxHQUFHO29CQUNILE1BQU0sQ0FBQyxRQUFRO29CQUNmLEdBQUc7b0JBQ0gsTUFBTSxDQUFDLElBQUk7b0JBQ1gsSUFBSTtvQkFDSixzQkFBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7d0JBQzNCLE1BQU0sRUFBRSxLQUFLO3dCQUNiLElBQUksRUFBRSxLQUFLO3FCQUNaLENBQUM7b0JBQ0YsR0FBRztvQkFDSCxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO2lCQUNwQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNaO1lBRUQsdUJBQXVCO1lBQ3ZCO2dCQUNFLE1BQU0sQ0FBQyxJQUFJLENBQ1QsMEJBQTBCLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxDQUFDLFFBQVEsT0FBTyxDQUM5RSxDQUFDO2dCQUNGLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDSCxDQUFDLENBQUM7U0FDRCxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU1QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBeERXLFFBQUEsbUJBQW1CLHVCQXdEOUI7QUFFSyxNQUFNLG9CQUFvQixHQUFHLENBQ2xDLElBQTJDLEVBQzNDLFNBQWlCLEVBQ1QsRUFBRTtJQUNWLE1BQU0sTUFBTSxHQUFzQyxJQUFJO1NBQ25ELEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQ2xCLHVCQUF1QjtRQUN2QixJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFO1lBQy9CLE9BQU8sS0FBSyxDQUFDLENBQUM7U0FDZjtRQUVELFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRTtZQUN2QixLQUFLLG9CQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQzlCLE1BQU0sT0FBTyxHQUFHO29CQUNkLFVBQVUsQ0FBQyxRQUFRO29CQUNuQixVQUFVLENBQUMsSUFBSTtvQkFDZixVQUFVLENBQUMsUUFBUTtvQkFDbkIsVUFBVSxDQUFDLE1BQU07b0JBQ2pCLFVBQVUsQ0FBQyxJQUFJO29CQUNmLElBQUEsdUJBQWUsRUFBQyxVQUFVLENBQUMsUUFBUSxDQUFDO2lCQUNyQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDWixNQUFNLEtBQUssR0FBRztvQkFDWixTQUFTLEVBQUUsSUFBQSx1QkFBZSxFQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7b0JBQ2hELFVBQVUsRUFBRSxJQUFBLHVCQUFlLEVBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztvQkFDbEQsT0FBTyxFQUFFLElBQUEsdUJBQWUsRUFBQyxVQUFVLENBQUMsUUFBUSxDQUFDO29CQUM3QyxLQUFLLEVBQUUsSUFBQSx1QkFBZSxFQUFDLFNBQVMsQ0FBQztvQkFDakMsT0FBTyxFQUFFLENBQUM7b0JBQ1YsR0FBRyxFQUFFLENBQUM7aUJBQ1AsQ0FBQztnQkFFRixPQUFPLENBQ0wsUUFBUTtvQkFDUixJQUFBLHVCQUFlLEVBQ2I7d0JBQ0UsT0FBTzt3QkFDUCxJQUFJO3dCQUNKLHNCQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTs0QkFDM0IsTUFBTSxFQUFFLEtBQUs7eUJBQ2QsQ0FBQztxQkFDSCxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDWCxDQUNGLENBQUM7YUFDSDtZQUVELHVCQUF1QjtZQUN2QjtnQkFDRSxNQUFNLENBQUMsSUFBSSxDQUNULDJCQUEyQixVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsQ0FBQyxRQUFRLE9BQU8sQ0FDL0UsQ0FBQztnQkFDRixPQUFPLEtBQUssQ0FBQyxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQyxDQUFDO1NBQ0QsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUM7SUFFeEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQztBQXZEVyxRQUFBLG9CQUFvQix3QkF1RC9CO0FBRUssTUFBTSxjQUFjLEdBQUcsQ0FDNUIsSUFBb0MsRUFDNUIsRUFBRTtJQUNWLE1BQU0sTUFBTSxHQUEwQixJQUFJO1NBQ3ZDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBc0IsRUFBRTtRQUN0Qyx1QkFBdUI7UUFDdkIsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRTtZQUMvQixPQUFPLEtBQUssQ0FBQyxDQUFDO1NBQ2Y7UUFFRCxRQUFRLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDdkIsS0FBSyxvQkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QixNQUFNLElBQUksR0FBRztvQkFDWCxDQUFDLEVBQUUsR0FBRztvQkFDTixFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVE7b0JBQ3ZCLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUTtvQkFDeEIsSUFBSSxFQUFFLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRTtvQkFDMUIsRUFBRSxFQUFFLFVBQVUsQ0FBQyxJQUFJO29CQUNuQixHQUFHLEVBQUUsVUFBVSxDQUFDLE9BQU87b0JBQ3ZCLEdBQUcsRUFBRSxVQUFVLENBQUMsT0FBTztvQkFDdkIsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO29CQUNyQixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7b0JBQ3JCLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7aUJBQ2pDLENBQUM7Z0JBRUYsT0FBTyxVQUFVLEdBQUcsSUFBQSxnQkFBUSxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUNwRDtZQUVELHVCQUF1QjtZQUN2QjtnQkFDRSxNQUFNLENBQUMsSUFBSSxDQUNULG9CQUFvQixVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsQ0FBQyxRQUFRLE9BQU8sQ0FDeEUsQ0FBQztnQkFDRixPQUFPLEtBQUssQ0FBQyxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQyxDQUFDO1NBQ0QsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFrQixFQUFFLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBRXhELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUM7QUF4Q1csUUFBQSxjQUFjLGtCQXdDekI7QUFFSyxNQUFNLGtCQUFrQixHQUFHLFVBQ2hDLElBS0MsRUFDRCxTQUFTLEdBQUcsUUFBUSxFQUNwQixNQUFzRDtJQUV0RCx1QkFBdUI7SUFDdkIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7UUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBa0IsQ0FBQyxDQUFDO0tBQ3JDO0lBRUQsU0FBUyxTQUFTLENBQUMsU0FBaUM7UUFDbEQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUMxQixHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLEdBQUcsU0FBUyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2FBQzFELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQTBCLElBQUEsbUJBQVcsRUFBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1NBQzVELEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBc0IsRUFBRTtRQUN0QyxRQUFRLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDdkIsS0FBSyxvQkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QixNQUFNLE1BQU0sR0FBRztvQkFDYixPQUFPO29CQUNQLFVBQVUsQ0FBQyxRQUFRO29CQUNuQixVQUFVLENBQUMsSUFBSTtvQkFDZixVQUFVLENBQUMsTUFBTSxLQUFLLE1BQU07d0JBQzFCLENBQUMsQ0FBQyx3QkFBd0I7d0JBQzFCLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTTtvQkFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO29CQUMvQixVQUFVLENBQUMsT0FBTztvQkFDbEIsU0FBUyxTQUFTLEVBQUU7b0JBQ3BCLFlBQVksVUFBVSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFO29CQUN4RCxlQUFlO29CQUNmLFFBQVEsVUFBVSxDQUFDLE9BQU8sRUFBRTtvQkFDNUIsYUFBYSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7b0JBQ3JELGVBQWUsSUFBSSxDQUFDLFNBQVMsQ0FDM0IsU0FBUyxpQkFDUCxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxFQUM1QyxZQUFZLEVBQUUsa0JBQU8sSUFDbEIsZ0JBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQ3pDLENBQ0gsRUFBRTtpQkFDSjtxQkFDRSxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7cUJBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFYixPQUFPLENBQ0wsVUFBVSxHQUFHLElBQUEsZ0JBQVEsRUFBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2pFLENBQUM7YUFDSDtZQUVELEtBQUssb0JBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDN0IsT0FBTyxJQUFBLDJCQUFtQixFQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7YUFDckQ7WUFFRCxLQUFLLG9CQUFZLENBQUMsWUFBWTtnQkFDNUIsT0FBTyxJQUFBLDRCQUFvQixFQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFdkQsS0FBSyxvQkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QixNQUFNLE1BQU0sR0FBRztvQkFDYixVQUFVLENBQUMsUUFBUTtvQkFDbkI7d0JBQ0UsTUFBTTt3QkFDTiwwQkFBMEIsVUFBVSxDQUFDLFFBQVEsRUFBRTt3QkFDL0MsdUJBQXVCLFVBQVUsQ0FBQyxJQUFJLEVBQUU7d0JBQ3hDLDBCQUEwQjt3QkFDMUIsMkJBQTJCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7d0JBQ2hELDJCQUEyQixVQUFVLENBQUMsUUFBUSxFQUFFO3dCQUNoRCxlQUFlO3dCQUNmLGVBQWU7cUJBQ2hCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztpQkFDYixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFZCxPQUFPLFNBQVMsR0FBRyxJQUFBLGdCQUFRLEVBQUMsTUFBTSxDQUFDLENBQUM7YUFDckM7WUFFRCx1QkFBdUI7WUFDdkI7Z0JBQ0UsTUFBTSxDQUFDLElBQUksQ0FDVCxzQkFDRyxVQUFrQixDQUFDLElBQ3RCLFdBQVksVUFBa0IsQ0FBQyxRQUFRLE9BQU8sQ0FDL0MsQ0FBQztnQkFDRixPQUFPLEtBQUssQ0FBQyxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQyxDQUFDO1NBQ0QsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFrQixFQUFFLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBRXhELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUM7QUE3RlcsUUFBQSxrQkFBa0Isc0JBNkY3QjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxtQkFBbUIsR0FBRyxVQUNqQyxJQUEyQyxFQUMzQyxNQUFzRDtJQUV0RCx1QkFBdUI7SUFDdkIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7UUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBa0IsQ0FBQyxDQUFDO0tBQ3JDO0lBRUQsTUFBTSxNQUFNLEdBQTBCLElBQUEsbUJBQVcsRUFBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1NBQzVELEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBc0IsRUFBRTtRQUN0QyxRQUFRLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDdkIsS0FBSyxvQkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QixNQUFNLE1BQU0sR0FBRztvQkFDYixHQUFHLFVBQVUsQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDLElBQUksRUFBRTtvQkFDM0MsMkJBQTJCO29CQUMzQixVQUFVLENBQUMsTUFBTSxLQUFLLE1BQU07d0JBQzFCLENBQUMsQ0FBQywrQkFBK0I7d0JBQ2pDLENBQUMsQ0FBQyxVQUFVLFVBQVUsQ0FBQyxNQUFNLEVBQUU7b0JBQ2pDLFlBQVksVUFBVSxDQUFDLElBQUksRUFBRTtvQkFDN0IsR0FBRyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ3RELEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztpQkFDOUMsQ0FBQztnQkFFRixRQUFRLFVBQVUsQ0FBQyxPQUFPLEVBQUU7b0JBQzFCLEtBQUssSUFBSTt3QkFDUCxJQUFJLFVBQVUsQ0FBQyxHQUFHLEVBQUU7NEJBQ2xCLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7eUJBQ3pCOzZCQUFNOzRCQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7eUJBQ3hCO3dCQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxVQUFVLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7d0JBQ2xELE1BQU0sQ0FBQyxJQUFJLENBQ1QsYUFBYSxVQUFVLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FDdEQsQ0FBQzt3QkFDRix1QkFBdUI7d0JBQ3ZCLElBQUksVUFBVSxDQUFDLEtBQUssRUFBRTs0QkFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzt5QkFDM0I7d0JBRUQsTUFBTTtvQkFDUixLQUFLLEtBQUs7d0JBQ1IsSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFOzRCQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO3lCQUM5Qjt3QkFDRCx1QkFBdUI7d0JBQ3ZCLElBQUksVUFBVSxDQUFDLEtBQUssRUFBRTs0QkFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzt5QkFDM0I7d0JBRUQsTUFBTTtvQkFDUixRQUFRO29CQUNSLGFBQWE7aUJBQ2Q7Z0JBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUUxQyx1QkFBdUI7Z0JBQ3ZCLElBQ0UsVUFBVSxDQUFDLFNBQVM7b0JBQ3BCLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQzVDO29CQUNBLE1BQU0sQ0FBQyxJQUFJLENBQ1QsdUNBQXVDLFVBQVUsQ0FBQyxRQUFRLFFBQVEsQ0FDbkUsQ0FBQztpQkFDSDtnQkFFRCxPQUFPLFNBQVMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2FBQ3JDO1lBRUQsS0FBSyxvQkFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM3QixNQUFNLE1BQU0sR0FBRztvQkFDYixHQUFHLFVBQVUsQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDLElBQUksRUFBRTtvQkFDM0MsR0FBRyxJQUFBLCtCQUF1QixFQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztvQkFDOUQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7d0JBQzlELENBQUMsQ0FBQzs0QkFDRSxRQUFRLFVBQVUsQ0FBQyxJQUFJLEVBQUU7NEJBQ3pCLGFBQWEsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFO3lCQUN2Qzt3QkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNQLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO3dCQUM1RCxDQUFDLENBQUM7NEJBQ0UsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFOzRCQUN6QixhQUFhLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFOzRCQUM3RCxZQUFZLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLEVBQUU7eUJBQzVDO3dCQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ1AsR0FBRyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ3RELEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDMUQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUMxRCxPQUFPLFVBQVUsQ0FBQyxRQUFRLEVBQUU7aUJBQzdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUViLHVCQUF1QjtnQkFDdkIsSUFDRSxVQUFVLENBQUMsU0FBUztvQkFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDNUM7b0JBQ0EsTUFBTSxDQUFDLElBQUksQ0FDVCx1Q0FBdUMsVUFBVSxDQUFDLFFBQVEsUUFBUSxDQUNuRSxDQUFDO2lCQUNIO2dCQUVELE9BQU8sZUFBZSxNQUFNLEVBQUUsQ0FBQzthQUNoQztZQUVELEtBQUssb0JBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDOUIsTUFBTSxNQUFNLEdBQUc7b0JBQ2IsR0FBRyxVQUFVLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUU7b0JBQzNDLEdBQUcsSUFBQSwrQkFBdUIsRUFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7b0JBQzlELGdCQUFnQixVQUFVLENBQUMsUUFBUSxFQUFFO29CQUNyQyxzQkFBc0IsVUFBVSxDQUFDLFVBQVUsRUFBRTtvQkFDN0MsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFO29CQUN6QixhQUFhLFVBQVUsQ0FBQyxTQUFTLEVBQUU7b0JBQ25DLEdBQUcsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUN0RCxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQzFELE9BQU8sVUFBVSxDQUFDLFFBQVEsRUFBRTtpQkFDN0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRWIsT0FBTyxlQUFlLE1BQU0sRUFBRSxDQUFDO2FBQ2hDO1lBRUQsS0FBSyxvQkFBWSxDQUFDLElBQUksQ0FBQztZQUN2QixLQUFLLG9CQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLE1BQU0sTUFBTSxHQUFHO29CQUNiLEdBQUcsVUFBVSxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFO29CQUMzQyxHQUFHLElBQUEsK0JBQXVCLEVBQUMsVUFBVSxFQUFFLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUNoRSxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQzNELENBQUM7Z0JBRUYsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLG9CQUFZLENBQUMsS0FBSyxFQUFFO29CQUMxQyxNQUFNLENBQUMsSUFBSSxDQUNULGVBQWUsRUFDZixvQkFBb0IsVUFBVSxDQUFDLGNBQWMsS0FBSyxJQUFJLEVBQUUsRUFDeEQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQzNELENBQUM7aUJBQ0g7Z0JBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUUxQyxPQUFPLFFBQVEsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2FBQ3BDO1lBRUQsS0FBSyxvQkFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QixNQUFNLE1BQU0sR0FBRztvQkFDYixHQUFHLFVBQVUsQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDLElBQUksRUFBRTtvQkFDM0MsR0FBRyxJQUFBLCtCQUF1QixFQUFDLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUNwRCxlQUFlO29CQUNmLG9CQUFvQixVQUFVLENBQUMsY0FBYyxLQUFLLElBQUksRUFBRTtvQkFDeEQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUN6RCxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQzFELEdBQUcsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUN0RCxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQzFELE9BQU8sVUFBVSxDQUFDLFFBQVEsRUFBRTtpQkFDN0IsQ0FBQztnQkFFRixPQUFPLFVBQVUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2FBQ3RDO1lBRUQsdUJBQXVCO1lBQ3ZCO2dCQUNFLE1BQU0sQ0FBQyxJQUFJLENBQ1QsdUJBQ0csVUFBa0IsQ0FBQyxJQUN0QixXQUFZLFVBQWtCLENBQUMsUUFBUSxPQUFPLENBQy9DLENBQUM7Z0JBQ0YsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNqQjtJQUNILENBQUMsQ0FBQztTQUNELE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBa0IsRUFBRSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQztJQUV4RCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBNUtXLFFBQUEsbUJBQW1CLHVCQTRLOUI7QUFFRix1QkFBdUI7QUFDaEIsTUFBTSx1QkFBdUIsR0FBRyxDQUNyQyxJQUEwQyxFQUNsQyxFQUFFO0lBQ1YsTUFBTSxLQUFLLEdBQXVCLElBQUk7U0FDbkMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDbEIsdUJBQXVCO1FBQ3ZCLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQUU7WUFDL0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRTtZQUN2QixLQUFLLG9CQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzdCLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUNwRSx1QkFDRSxPQUFPLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFDNUIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsSUFBSSxFQUM1QixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sRUFDekIsY0FBYyxFQUFFLElBQUEsdUJBQWUsRUFBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQ3BELFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUM3QixZQUFZLEVBQUUsS0FBSyxFQUNuQixZQUFZLEVBQUUsS0FBSyxFQUNuQixNQUFNLEVBQUUsSUFBSSxJQUNULENBQUMsT0FBTztvQkFDVCxDQUFDLENBQUM7d0JBQ0UsTUFBTSxFQUFFLFlBQVk7d0JBQ3BCLGFBQWEsRUFBRSxRQUFRLFVBQVUsQ0FBQyxJQUFJLGNBQWMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFO3FCQUM5RTtvQkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ1Q7YUFDSDtZQUVELHVCQUF1QjtZQUN2QjtnQkFDRSxNQUFNLENBQUMsSUFBSSxDQUNULDBCQUEwQixVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsQ0FBQyxRQUFRLE9BQU8sQ0FDOUUsQ0FBQztnQkFDRixPQUFPLFNBQVMsQ0FBQztTQUNwQjtJQUNILENBQUMsQ0FBQztTQUNELE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBRXhDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQztBQTNDVyxRQUFBLHVCQUF1QiwyQkEyQ2xDO0FBRUssTUFBTSxZQUFZLEdBQUcsVUFDMUIsSUFBcUMsRUFDckMsTUFBc0QsRUFDdEQsU0FBa0I7SUFFbEIsdUJBQXVCO0lBQ3ZCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1FBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQWtCLENBQUMsQ0FBQztLQUNyQztJQUVELE9BQU8sSUFBQSxtQkFBVyxFQUFDLElBQUksRUFBRSxNQUFNLENBQUM7U0FDN0IsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQzVCLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDO0FBYlcsUUFBQSxZQUFZLGdCQWF2QjtBQUVLLE1BQU0saUJBQWlCLEdBQUcsVUFDL0IsSUFBcUMsRUFDckMsTUFBc0QsRUFDdEQsZUFBdUM7SUFFdkMsdUJBQXVCO0lBQ3ZCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1FBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQWtCLENBQUMsQ0FBQztLQUNyQztJQUVELElBQUksTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUUxQixJQUFJLGVBQWUsRUFBRTtRQUNuQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUN6QztJQUVELE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUNwQixJQUFBLG1CQUFXLEVBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN2RCxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBckJXLFFBQUEsaUJBQWlCLHFCQXFCNUI7QUFFSyxNQUFNLHVCQUF1QixHQUFHLENBQ3JDLFFBQWdCLEVBQ2hCLFFBQTZELEVBQzdELFlBQTZDLEVBQzdDLE9BS0MsRUFPRCxFQUFFO0lBQ0YsSUFBSSxPQUFPLENBQUM7SUFFWixJQUFJLE9BQU8sQ0FBQyxlQUFlLEVBQUU7UUFDM0IsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2xCLE1BQU0sS0FBSyxHQUFHLElBQUEsbUJBQVcsRUFBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hELE9BQU8sR0FBSSxFQUFlLENBQUMsTUFBTSxDQUMvQixPQUFPLENBQUMsZUFBZSxFQUN2QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ25DLENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUM7U0FDbkM7S0FDRjtTQUFNO1FBQ0wsTUFBTSxLQUFLLEdBQUcsSUFBQSxtQkFBVyxFQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEQsT0FBTyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUM5QztJQUVELHVCQUNFLElBQUksRUFBRSxRQUFRLEVBQ2QsSUFBSSxFQUFFLFFBQVEsRUFDZCxPQUFPLElBQ0osQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUM3RCxDQUFDLENBQUM7WUFDRSxHQUFHLEVBQUUsT0FBTyxDQUFDLFlBQVk7WUFDekIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxpQkFBaUI7U0FDcEM7UUFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ1Q7QUFDSixDQUFDLENBQUM7QUE3Q1csUUFBQSx1QkFBdUIsMkJBNkNsQztBQUVLLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBZSxFQUFVLEVBQUUsQ0FBQyxjQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQTFELFFBQUEsTUFBTSxVQUFvRDtBQUVoRSxNQUFNLHVCQUF1QixHQUFHLENBQ3JDLEdBQVEsRUFDUixPQUEwQixFQUNQLEVBQUU7SUFDckIsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBQzVCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUN0QixJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFYVyxRQUFBLHVCQUF1QiwyQkFXbEM7QUFFSyxNQUFNLGdCQUFnQixHQUFHLENBQzlCLFVBQWlDLEVBQzlCLEVBQUU7SUFDTCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDbEIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQzFCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzFDLElBQUksS0FBSyxFQUFFO2dCQUNULE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO2FBQ25EO1NBQ0Y7YUFBTTtZQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDNUI7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBVyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQWZXLFFBQUEsZ0JBQWdCLG9CQWUzQjtBQUVLLE1BQU0sOEJBQThCLEdBQUcsQ0FDNUMsUUFBK0MsRUFDL0MsYUFBMkUsRUFDM0Usa0JBQXNDLEVBQ3RDLFVBR0ksRUFBRSxFQUNjLEVBQUU7SUFDdEIsTUFBTSxVQUFVLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRS9ELE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQzdCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNqQyx1QkFBdUI7WUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFBLHVCQUFjLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNoRCxNQUFNLElBQUksS0FBSyxDQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sNEJBQTRCLENBQy9DLENBQUM7YUFDSDtZQUVELE9BQU8sSUFBQSwrQkFBdUIsRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO2dCQUM3RCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ25CLGVBQWUsRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDN0IsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2dCQUNsQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsaUJBQWlCO2FBQzdDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxPQUFPLElBQUEsK0JBQXVCLEVBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtnQkFDN0QsZUFBZSxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUM3QixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7Z0JBQ2xDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxpQkFBaUI7YUFDN0MsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQWxDVyxRQUFBLDhCQUE4QixrQ0FrQ3pDO0FBRUssTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE1BQWMsWUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFVLEVBQUU7SUFDdkUsSUFBSSxPQUFPLENBQUM7SUFFWixJQUFJO1FBQ0Ysa0JBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sR0FBRyxHQUFHLENBQUM7S0FDZjtJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1osMkNBQTJDO1FBQzNDLHVCQUF1QjtRQUN2QixPQUFPLEdBQUcsTUFBTSxDQUFDO0tBQ2xCO0lBRUQsTUFBTSxTQUFTLEdBQUcsSUFBQSxXQUFJLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsa0JBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekIsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBZlcsUUFBQSxrQkFBa0Isc0JBZTdCO0FBRUssTUFBTSxpQkFBaUIsR0FBRyxDQUMvQixTQUFpQixFQUNqQixVQUEyQixFQUNmLEVBQUU7SUFDZCxNQUFNLE1BQU0sR0FBUTtRQUNsQixHQUFHLEVBQUU7WUFDSCxRQUFRLEVBQUUsU0FBUztTQUNwQjtRQUNELE9BQU8sRUFBRTtZQUNQLElBQUksRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDO1lBQ3ZCLE1BQU0sRUFBRSxXQUFXO1lBQ25CLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsUUFBUTthQUNmO1NBQ0Y7UUFDRCxRQUFRLEVBQUU7WUFDUixRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFO29CQUNMO3dCQUNFLE9BQU8sRUFBRSxVQUFVLENBQUMsUUFBUTt3QkFDNUIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO3dCQUM3QixLQUFLLEVBQUU7NEJBQ0w7Z0NBQ0UsRUFBRSxFQUFFLFVBQVUsQ0FBQyxJQUFJO2dDQUNuQixPQUFPLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0NBQ25DLFFBQVEsRUFBRSxVQUFVLENBQUMsTUFBTTtnQ0FDM0IsS0FBSyxFQUFFLENBQUM7NkJBQ1Q7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7YUFDRjtZQUNELGNBQWMsRUFBRTtnQkFDZCxRQUFRLEVBQUUsTUFBTTthQUNqQjtTQUNGO0tBQ0YsQ0FBQztJQUVGLElBQUksVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNsQixNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsbUNBQ3pCLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxLQUNqQyxRQUFRLEVBQUUsS0FBSyxFQUNmLFdBQVcsZ0NBQ1QsVUFBVSxFQUFFLFVBQVUsQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsSUFDL0MsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxjQUFjLEtBQUssU0FBUztnQkFDaEQsQ0FBQyxDQUFDO29CQUNFLGFBQWEsRUFBRSxVQUFVLENBQUMsY0FBYztpQkFDekM7Z0JBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUNOLENBQUMsT0FBTyxVQUFVLENBQUMsS0FBSyxLQUFLLFNBQVM7Z0JBQ3ZDLENBQUMsQ0FBQztvQkFDRSxvQkFBb0IsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLO2lCQUN4QztnQkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLElBRVosQ0FBQztLQUNIO0lBRUQsSUFBSSxVQUFVLENBQUMsT0FBTyxLQUFLLElBQUksRUFBRTtRQUMvQixNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsbUNBQ3pCLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxLQUNqQyxPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFDM0IsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtnQkFDckIsT0FBTyxFQUFFO29CQUNQLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtvQkFDckIsWUFBWSxFQUFFLGtCQUFPO2lCQUN0QjthQUNGLEdBQ0YsQ0FBQztLQUNIO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBM0VXLFFBQUEsaUJBQWlCLHFCQTJFNUI7QUFFSyxNQUFNLFdBQVcsR0FBRyxDQUN6QixRQUEwQixFQUMxQixNQUFzRCxFQUNwQyxFQUFFO0lBQ3BCLHVCQUF1QjtJQUN2QixJQUFJLE1BQU0sSUFBSSxDQUFDLElBQUEsdUJBQWMsRUFBQyxNQUFNLENBQUMsRUFBRTtRQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsTUFBTSxFQUFFLENBQUMsQ0FBQztLQUN4QztJQUVELElBQUksS0FBSyxHQUFxQixRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDckQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUM7UUFFckMsSUFBSSxNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssVUFBVSxFQUFFO1lBQzFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQztTQUMvQjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFDRSxNQUFNO1FBQ04sT0FBTyxNQUFNLEtBQUssUUFBUTtRQUMxQixPQUFPLE1BQU0sQ0FBQyxNQUFNLEtBQUssVUFBVSxFQUNuQztRQUNBLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzlCO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7QUE1QlcsUUFBQSxXQUFXLGVBNEJ0QjtBQUVLLE1BQU0sbUJBQW1CLEdBQUcsQ0FDakMsT0FBK0IsRUFDUCxFQUFFO0lBQzFCLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUVyQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ25DLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFWVyxRQUFBLG1CQUFtQix1QkFVOUI7QUFFRix1QkFBdUI7QUFDaEIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFXLEVBQVcsRUFBRSxDQUMzQyxhQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLGFBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFEeEIsUUFBQSxJQUFJLFFBQ29CO0FBRXJDLHVCQUF1QjtBQUNoQixNQUFNLEtBQUssR0FBRyxHQUFZLEVBQUUsQ0FDakMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsS0FBSyxXQUFXO0lBQzdDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEtBQUssV0FBVyxDQUFDO0FBRnRDLFFBQUEsS0FBSyxTQUVpQztBQUVuRCx1QkFBdUI7QUFDaEIsTUFBTSxRQUFRLEdBQUcsR0FBWSxFQUFFLENBQUMsSUFBQSxhQUFLLEdBQUUsQ0FBQztBQUFsQyxRQUFBLFFBQVEsWUFBMEI7QUFFL0MsdUJBQXVCO0FBQ2hCLE1BQU0sUUFBUSxHQUFHLEdBQVksRUFBRSxDQUFDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDO0FBQWxFLFFBQUEsUUFBUSxZQUEwRDtBQUUvRSx1QkFBdUI7QUFDaEIsTUFBTSxlQUFlLEdBQUcsR0FBWSxFQUFFLENBQzNDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEtBQUssV0FBVyxDQUFDO0FBRHZDLFFBQUEsZUFBZSxtQkFDd0I7QUFFcEQsdUJBQXVCO0FBQ2hCLE1BQU0sVUFBVSxHQUFHLEdBQVksRUFBRSxDQUN0QyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxLQUFLLFdBQVcsQ0FBQztBQURsQyxRQUFBLFVBQVUsY0FDd0I7QUFFL0MsdUJBQXVCO0FBQ2hCLE1BQU0sV0FBVyxHQUFHLEdBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7QUFBL0QsUUFBQSxXQUFXLGVBQW9EO0FBRTVFLHVCQUF1QjtBQUNoQixNQUFNLFNBQVMsR0FBRyxHQUFZLEVBQUUsQ0FDckMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixLQUFLLFdBQVcsQ0FBQztBQUQzQyxRQUFBLFNBQVMsYUFDa0MifQ==