cnpmcore 3.1.1 → 3.1.2

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 (28) hide show
  1. package/dist/app/common/adapter/binary/AbstractBinary.d.ts +8 -7
  2. package/dist/app/common/adapter/binary/AbstractBinary.js +20 -11
  3. package/dist/app/common/adapter/binary/ApiBinary.d.ts +2 -5
  4. package/dist/app/common/adapter/binary/ApiBinary.js +21 -9
  5. package/dist/app/common/adapter/binary/BucketBinary.d.ts +3 -2
  6. package/dist/app/common/adapter/binary/BucketBinary.js +23 -9
  7. package/dist/app/common/adapter/binary/CypressBinary.js +15 -3
  8. package/dist/app/common/adapter/binary/ElectronBinary.js +22 -5
  9. package/dist/app/common/adapter/binary/GithubBinary.d.ts +4 -3
  10. package/dist/app/common/adapter/binary/GithubBinary.js +29 -12
  11. package/dist/app/common/adapter/binary/ImageminBinary.d.ts +1 -2
  12. package/dist/app/common/adapter/binary/ImageminBinary.js +87 -73
  13. package/dist/app/common/adapter/binary/NodeBinary.d.ts +1 -1
  14. package/dist/app/common/adapter/binary/NodeBinary.js +23 -6
  15. package/dist/app/common/adapter/binary/NodePreGypBinary.d.ts +1 -2
  16. package/dist/app/common/adapter/binary/NodePreGypBinary.js +196 -144
  17. package/dist/app/common/adapter/binary/NwjsBinary.js +23 -5
  18. package/dist/app/common/adapter/binary/PlaywrightBinary.js +15 -3
  19. package/dist/app/common/adapter/binary/PuppeteerBinary.js +15 -3
  20. package/dist/app/common/adapter/binary/SqlcipherBinary.d.ts +0 -1
  21. package/dist/app/common/adapter/binary/SqlcipherBinary.js +78 -68
  22. package/dist/app/common/enum/Binary.d.ts +14 -0
  23. package/dist/app/common/enum/Binary.js +19 -0
  24. package/dist/app/core/service/BinarySyncerService.d.ts +2 -1
  25. package/dist/app/core/service/BinarySyncerService.js +17 -61
  26. package/dist/config/binaries.d.ts +2 -14
  27. package/dist/config/binaries.js +81 -95
  28. package/package.json +1 -1
@@ -1,26 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SyncerClass = void 0;
4
- var SyncerClass;
5
- (function (SyncerClass) {
6
- SyncerClass["NwjsBinary"] = "NwjsBinary";
7
- SyncerClass["NodeBinary"] = "NodeBinary";
8
- SyncerClass["CypressBinary"] = "CypressBinary";
9
- SyncerClass["BucketBinary"] = "BucketBinary";
10
- SyncerClass["GithubBinary"] = "GithubBinary";
11
- SyncerClass["ElectronBinary"] = "ElectronBinary";
12
- SyncerClass["SqlcipherBinary"] = "SqlcipherBinary";
13
- SyncerClass["PuppeteerBinary"] = "PuppeteerBinary";
14
- SyncerClass["NodePreGypBinary"] = "NodePreGypBinary";
15
- SyncerClass["ImageminBinary"] = "ImageminBinary";
16
- SyncerClass["PlaywrightBinary"] = "PlaywrightBinary";
17
- })(SyncerClass = exports.SyncerClass || (exports.SyncerClass = {}));
3
+ const Binary_1 = require("app/common/enum/Binary");
18
4
  const binaries = {
19
5
  // NwjsBinary
20
6
  nwjs: {
21
7
  category: 'nwjs',
22
8
  description: 'NW.js (previously known as node-webkit) lets you call all Node.js modules directly from DOM and enables a new way of writing applications with all Web technologies.',
23
- syncer: SyncerClass.NwjsBinary,
9
+ type: Binary_1.BinaryType.Nwjs,
24
10
  repo: 'nwjs/nw.js',
25
11
  distUrl: 'https://dl.nwjs.io/',
26
12
  },
@@ -28,42 +14,42 @@ const binaries = {
28
14
  node: {
29
15
  category: 'node',
30
16
  description: 'Node.js® is a JavaScript runtime built on Chrome\'s V8 JavaScript engine.',
31
- syncer: SyncerClass.NodeBinary,
17
+ type: Binary_1.BinaryType.Node,
32
18
  repo: 'nodejs/node',
33
19
  distUrl: 'https://nodejs.org/dist',
34
20
  },
35
21
  'node-rc': {
36
22
  category: 'node-rc',
37
23
  description: 'Node.js Release Candidate',
38
- syncer: SyncerClass.NodeBinary,
24
+ type: Binary_1.BinaryType.Node,
39
25
  repo: 'nodejs/node',
40
26
  distUrl: 'https://nodejs.org/download/rc',
41
27
  },
42
28
  'node-nightly': {
43
29
  category: 'node-nightly',
44
30
  description: 'Node.js Nightly Build',
45
- syncer: SyncerClass.NodeBinary,
31
+ type: Binary_1.BinaryType.Node,
46
32
  repo: 'nodejs/node',
47
33
  distUrl: 'https://nodejs.org/download/nightly',
48
34
  },
49
35
  'node-unofficial-builds': {
50
36
  category: 'node-unofficial-builds',
51
37
  description: 'Node.js unofficial-builds project https://unofficial-builds.nodejs.org/',
52
- syncer: SyncerClass.NodeBinary,
38
+ type: Binary_1.BinaryType.Node,
53
39
  repo: 'nodejs/unofficial-builds',
54
40
  distUrl: 'https://unofficial-builds.nodejs.org/download/release',
55
41
  },
56
42
  alinode: {
57
43
  category: 'alinode',
58
44
  description: 'Node.js 性能平台(Node.js Performance Platform)是面向中大型 Node.js 应用提供性能监控、安全提醒、故障排查、性能优化等服务的整体性解决方案。凭借对 Node.js 内核深入的理解,我们提供完善的工具链和服务,协助客户主动、快速发现和定位线上问题。',
59
- syncer: SyncerClass.NodeBinary,
45
+ type: Binary_1.BinaryType.Node,
60
46
  repo: '',
61
47
  distUrl: 'http://alinode.aliyun.com/dist/new-alinode',
62
48
  },
63
49
  python: {
64
50
  category: 'python',
65
51
  description: 'The Python programming language https://www.python.org/',
66
- syncer: SyncerClass.NodeBinary,
52
+ type: Binary_1.BinaryType.Node,
67
53
  repo: 'python/cpython',
68
54
  distUrl: 'https://www.python.org/ftp/python',
69
55
  ignoreFiles: [
@@ -74,7 +60,7 @@ const binaries = {
74
60
  cypress: {
75
61
  category: 'cypress',
76
62
  description: 'Fast, easy and reliable testing for anything that runs in a browser.',
77
- syncer: SyncerClass.CypressBinary,
63
+ type: Binary_1.BinaryType.Cypress,
78
64
  repo: 'cypress-io/cypress',
79
65
  distUrl: 'https://www.cypress.io/',
80
66
  },
@@ -82,7 +68,7 @@ const binaries = {
82
68
  '@journeyapps/sqlcipher': {
83
69
  category: '@journeyapps/sqlcipher',
84
70
  description: 'SQLCipher bindings for Node',
85
- syncer: SyncerClass.SqlcipherBinary,
71
+ type: Binary_1.BinaryType.Sqlcipher,
86
72
  repo: 'journeyapps/node-sqlcipher',
87
73
  distUrl: 'https://journeyapps-node-binary.s3.amazonaws.com',
88
74
  },
@@ -90,7 +76,7 @@ const binaries = {
90
76
  'chromium-browser-snapshots': {
91
77
  category: 'chromium-browser-snapshots',
92
78
  description: 'chromium-browser-snapshots sync for puppeteer',
93
- syncer: SyncerClass.PuppeteerBinary,
79
+ type: Binary_1.BinaryType.Puppeteer,
94
80
  repo: 'puppeteer/puppeteer',
95
81
  distUrl: 'https://chromium-browser-snapshots.storage.googleapis.com/?delimiter=/&prefix=',
96
82
  },
@@ -98,21 +84,21 @@ const binaries = {
98
84
  'grpc-tools': {
99
85
  category: 'grpc-tools',
100
86
  description: 'Tools for developing with gRPC on Node.js',
101
- syncer: SyncerClass.NodePreGypBinary,
87
+ type: Binary_1.BinaryType.NodePreGyp,
102
88
  repo: 'https://github.com/grpc/grpc-node/blob/master/packages/grpc-tools/',
103
89
  distUrl: 'https://node-precompiled-binaries.grpc.io',
104
90
  },
105
91
  grpc: {
106
92
  category: 'grpc',
107
93
  description: 'gRPC Library for Node',
108
- syncer: SyncerClass.NodePreGypBinary,
94
+ type: Binary_1.BinaryType.NodePreGyp,
109
95
  repo: 'grpc/grpc-node',
110
96
  distUrl: 'https://node-precompiled-binaries.grpc.io',
111
97
  },
112
98
  'skia-canvas': {
113
99
  category: 'skia-canvas',
114
100
  description: 'A canvas environment for Node',
115
- syncer: SyncerClass.NodePreGypBinary,
101
+ type: Binary_1.BinaryType.NodePreGyp,
116
102
  repo: 'samizdatco/skia-canvas',
117
103
  distUrl: 'https://skia-canvas.s3.us-east-1.amazonaws.com',
118
104
  options: {
@@ -122,14 +108,14 @@ const binaries = {
122
108
  wrtc: {
123
109
  category: 'wrtc',
124
110
  description: 'node-webrtc is a Node.js Native Addon that provides bindings to WebRTC M87.',
125
- syncer: SyncerClass.NodePreGypBinary,
111
+ type: Binary_1.BinaryType.NodePreGyp,
126
112
  repo: 'node-webrtc/node-webrtc',
127
113
  distUrl: 'https://node-webrtc.s3.amazonaws.com',
128
114
  },
129
115
  nodegit: {
130
116
  category: 'nodegit',
131
117
  description: 'Native Node bindings to Git.',
132
- syncer: SyncerClass.NodePreGypBinary,
118
+ type: Binary_1.BinaryType.NodePreGyp,
133
119
  repo: 'nodegit/nodegit',
134
120
  distUrl: 'https://axonodegit.s3.amazonaws.com/nodegit',
135
121
  options: {
@@ -147,21 +133,21 @@ const binaries = {
147
133
  chromedriver: {
148
134
  category: 'chromedriver',
149
135
  description: 'WebDriver is an open source tool for automated testing of webapps across many browsers',
150
- syncer: SyncerClass.BucketBinary,
136
+ type: Binary_1.BinaryType.Bucket,
151
137
  repo: 'https://chromedriver.chromium.org/contributing',
152
138
  distUrl: 'https://chromedriver.storage.googleapis.com/',
153
139
  },
154
140
  selenium: {
155
141
  category: 'selenium',
156
142
  description: 'Selenium automates browsers. That\'s it!',
157
- syncer: SyncerClass.BucketBinary,
143
+ type: Binary_1.BinaryType.Bucket,
158
144
  repo: 'https://www.selenium.dev/',
159
145
  distUrl: 'https://selenium-release.storage.googleapis.com/',
160
146
  },
161
147
  'node-inspector': {
162
148
  category: 'node-inspector',
163
149
  description: 'Node.js debugger based on Blink Developer Tools',
164
- syncer: SyncerClass.BucketBinary,
150
+ type: Binary_1.BinaryType.Bucket,
165
151
  repo: 'node-inspector/node-inspector',
166
152
  distUrl: 'https://node-inspector.s3.amazonaws.com/',
167
153
  ignoreDirs: [
@@ -171,35 +157,35 @@ const binaries = {
171
157
  fsevents: {
172
158
  category: 'fsevents',
173
159
  description: 'Native access to MacOS FSEvents in Node.js',
174
- syncer: SyncerClass.BucketBinary,
160
+ type: Binary_1.BinaryType.Bucket,
175
161
  repo: 'fsevents/fsevents',
176
162
  distUrl: 'https://fsevents-binaries.s3-us-west-2.amazonaws.com/',
177
163
  },
178
164
  'tfjs-models': {
179
165
  category: 'tfjs-models',
180
166
  description: 'Pretrained models for TensorFlow.js',
181
- syncer: SyncerClass.BucketBinary,
167
+ type: Binary_1.BinaryType.Bucket,
182
168
  repo: 'tensorflow/tfjs-models',
183
169
  distUrl: 'https://tfjs-models.storage.googleapis.com/',
184
170
  },
185
171
  tensorflow: {
186
172
  category: 'tensorflow',
187
173
  description: 'A WebGL accelerated JavaScript library for training and deploying ML models.',
188
- syncer: SyncerClass.BucketBinary,
174
+ type: Binary_1.BinaryType.Bucket,
189
175
  repo: 'tensorflow/tfjs',
190
176
  distUrl: 'https://tensorflow.storage.googleapis.com/',
191
177
  },
192
178
  'tf-builds': {
193
179
  category: 'tf-builds',
194
180
  description: 'A WebGL accelerated JavaScript library for training and deploying ML models.',
195
- syncer: SyncerClass.BucketBinary,
181
+ type: Binary_1.BinaryType.Bucket,
196
182
  repo: 'tensorflow/tfjs',
197
183
  distUrl: 'https://tf-builds.storage.googleapis.com/',
198
184
  },
199
185
  prisma: {
200
186
  category: 'prisma',
201
187
  description: 'Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite & MongoDB (Preview) https://www.prisma.io/',
202
- syncer: SyncerClass.BucketBinary,
188
+ type: Binary_1.BinaryType.Bucket,
203
189
  repo: 'prisma/prisma',
204
190
  distUrl: 'https://prisma-builds.s3-eu-west-1.amazonaws.com/',
205
191
  ignoreDirs: [
@@ -223,7 +209,7 @@ const binaries = {
223
209
  'jpegtran-bin': {
224
210
  category: 'jpegtran-bin',
225
211
  description: 'jpegtran bin-wrapper that makes it seamlessly available as a local dependency',
226
- syncer: SyncerClass.ImageminBinary,
212
+ type: Binary_1.BinaryType.Imagemin,
227
213
  repo: 'imagemin/jpegtran-bin',
228
214
  distUrl: 'https://raw.githubusercontent.com',
229
215
  options: {
@@ -248,7 +234,7 @@ const binaries = {
248
234
  'pngquant-bin': {
249
235
  category: 'pngquant-bin',
250
236
  description: 'pngquant bin-wrapper that makes it seamlessly available as a local dependency',
251
- syncer: SyncerClass.ImageminBinary,
237
+ type: Binary_1.BinaryType.Imagemin,
252
238
  repo: 'imagemin/pngquant-bin',
253
239
  distUrl: 'https://raw.githubusercontent.com',
254
240
  options: {
@@ -271,7 +257,7 @@ const binaries = {
271
257
  'mozjpeg-bin': {
272
258
  category: 'mozjpeg-bin',
273
259
  description: 'mozjpeg bin-wrapper that makes it seamlessly available as a local dependency',
274
- syncer: SyncerClass.ImageminBinary,
260
+ type: Binary_1.BinaryType.Imagemin,
275
261
  repo: 'imagemin/mozjpeg-bin',
276
262
  distUrl: 'https://raw.githubusercontent.com',
277
263
  options: {
@@ -297,7 +283,7 @@ const binaries = {
297
283
  'gifsicle-bin': {
298
284
  category: 'gifsicle-bin',
299
285
  description: 'gifsicle bin-wrapper that makes it seamlessly available as a local dependency',
300
- syncer: SyncerClass.ImageminBinary,
286
+ type: Binary_1.BinaryType.Imagemin,
301
287
  repo: 'imagemin/gifsicle-bin',
302
288
  distUrl: 'https://raw.githubusercontent.com',
303
289
  options: {
@@ -323,7 +309,7 @@ const binaries = {
323
309
  'optipng-bin': {
324
310
  category: 'optipng-bin',
325
311
  description: 'optipng bin-wrapper that makes it seamlessly available as a local dependency',
326
- syncer: SyncerClass.ImageminBinary,
312
+ type: Binary_1.BinaryType.Imagemin,
327
313
  repo: 'imagemin/optipng-bin',
328
314
  distUrl: 'https://raw.githubusercontent.com',
329
315
  options: {
@@ -349,7 +335,7 @@ const binaries = {
349
335
  'zopflipng-bin': {
350
336
  category: 'zopflipng-bin',
351
337
  description: 'zopflipng bin-wrapper that makes it seamlessly available as a local dependency',
352
- syncer: SyncerClass.ImageminBinary,
338
+ type: Binary_1.BinaryType.Imagemin,
353
339
  repo: 'imagemin/zopflipng-bin',
354
340
  distUrl: 'https://raw.githubusercontent.com',
355
341
  options: {
@@ -371,7 +357,7 @@ const binaries = {
371
357
  'jpegoptim-bin': {
372
358
  category: 'jpegoptim-bin',
373
359
  description: 'jpegoptim bin-wrapper that makes it seamlessly available as a local dependency',
374
- syncer: SyncerClass.ImageminBinary,
360
+ type: Binary_1.BinaryType.Imagemin,
375
361
  repo: 'imagemin/jpegoptim-bin',
376
362
  distUrl: 'https://raw.githubusercontent.com',
377
363
  options: {
@@ -393,7 +379,7 @@ const binaries = {
393
379
  'jpeg-recompress-bin': {
394
380
  category: 'jpeg-recompress-bin',
395
381
  description: 'jpeg-recompress bin-wrapper that makes it seamlessly available as a local dependency',
396
- syncer: SyncerClass.ImageminBinary,
382
+ type: Binary_1.BinaryType.Imagemin,
397
383
  repo: 'imagemin/jpeg-recompress-bin',
398
384
  distUrl: 'https://raw.githubusercontent.com',
399
385
  options: {
@@ -415,7 +401,7 @@ const binaries = {
415
401
  'pngcrush-bin': {
416
402
  category: 'pngcrush-bin',
417
403
  description: 'pngcrush bin-wrapper that makes it seamlessly available as a local dependency',
418
- syncer: SyncerClass.ImageminBinary,
404
+ type: Binary_1.BinaryType.Imagemin,
419
405
  repo: 'imagemin/pngcrush-bin',
420
406
  distUrl: 'https://raw.githubusercontent.com',
421
407
  options: {
@@ -437,7 +423,7 @@ const binaries = {
437
423
  'pngout-bin': {
438
424
  category: 'pngout-bin',
439
425
  description: 'pngout bin-wrapper that makes it seamlessly available as a local dependency',
440
- syncer: SyncerClass.ImageminBinary,
426
+ type: Binary_1.BinaryType.Imagemin,
441
427
  repo: 'imagemin/pngout-bin',
442
428
  distUrl: 'https://raw.githubusercontent.com',
443
429
  options: {
@@ -461,7 +447,7 @@ const binaries = {
461
447
  'gif2webp-bin': {
462
448
  category: 'gif2webp-bin',
463
449
  description: 'gif2webp bin-wrapper that makes it seamlessly available as a local dependency',
464
- syncer: SyncerClass.ImageminBinary,
450
+ type: Binary_1.BinaryType.Imagemin,
465
451
  repo: 'imagemin/gif2webp-bin',
466
452
  distUrl: 'https://raw.githubusercontent.com',
467
453
  options: {
@@ -482,7 +468,7 @@ const binaries = {
482
468
  'guetzli-bin': {
483
469
  category: 'guetzli-bin',
484
470
  description: 'guetzli bin-wrapper that makes it seamlessly available as a local dependency',
485
- syncer: SyncerClass.ImageminBinary,
471
+ type: Binary_1.BinaryType.Imagemin,
486
472
  repo: 'imagemin/guetzli-bin',
487
473
  distUrl: 'https://raw.githubusercontent.com',
488
474
  options: {
@@ -505,7 +491,7 @@ const binaries = {
505
491
  'advpng-bin': {
506
492
  category: 'advpng-bin',
507
493
  description: 'advpng bin-wrapper that makes it seamlessly available as a local dependency',
508
- syncer: SyncerClass.ImageminBinary,
494
+ type: Binary_1.BinaryType.Imagemin,
509
495
  repo: 'imagemin/advpng-bin',
510
496
  distUrl: 'https://raw.githubusercontent.com',
511
497
  options: {
@@ -526,7 +512,7 @@ const binaries = {
526
512
  'cwebp-bin': {
527
513
  category: 'cwebp-bin',
528
514
  description: 'cwebp bin-wrapper that makes it seamlessly available as a local dependency',
529
- syncer: SyncerClass.ImageminBinary,
515
+ type: Binary_1.BinaryType.Imagemin,
530
516
  repo: 'imagemin/cwebp-bin',
531
517
  distUrl: 'https://raw.githubusercontent.com',
532
518
  options: {
@@ -548,7 +534,7 @@ const binaries = {
548
534
  npm: {
549
535
  category: 'npm',
550
536
  description: 'the package manager for JavaScript',
551
- syncer: SyncerClass.GithubBinary,
537
+ type: Binary_1.BinaryType.GitHub,
552
538
  repo: 'npm/cli',
553
539
  distUrl: 'https://github.com/npm/cli/releases',
554
540
  options: {
@@ -558,28 +544,28 @@ const binaries = {
558
544
  xprofiler: {
559
545
  category: 'xprofiler',
560
546
  description: '🌀An addon for node.js, which supporting output performance log and real-time profiling through sampling.',
561
- syncer: SyncerClass.GithubBinary,
547
+ type: Binary_1.BinaryType.GitHub,
562
548
  repo: 'X-Profiler/xprofiler',
563
549
  distUrl: 'https://github.com/X-Profiler/xprofiler/releases',
564
550
  },
565
551
  'node-sass': {
566
552
  category: 'node-sass',
567
553
  description: '🌈 Node.js bindings to libsass',
568
- syncer: SyncerClass.GithubBinary,
554
+ type: Binary_1.BinaryType.GitHub,
569
555
  repo: 'sass/node-sass',
570
556
  distUrl: 'https://github.com/sass/node-sass/releases',
571
557
  },
572
558
  'sass-embedded': {
573
559
  category: 'sass-embedded',
574
560
  description: 'This is a wrapper for Dart Sass that implements the compiler side of the Embedded Sass protocol.',
575
- syncer: SyncerClass.GithubBinary,
561
+ type: Binary_1.BinaryType.GitHub,
576
562
  repo: 'sass/dart-sass-embedded',
577
563
  distUrl: 'https://github.com/sass/dart-sass-embedded/releases',
578
564
  },
579
565
  electron: {
580
566
  category: 'electron',
581
567
  description: 'Build cross-platform desktop apps with JavaScript, HTML, and CSS',
582
- syncer: SyncerClass.ElectronBinary,
568
+ type: Binary_1.BinaryType.Electron,
583
569
  repo: 'electron/electron',
584
570
  distUrl: 'https://github.com/electron/electron/releases',
585
571
  options: {
@@ -590,7 +576,7 @@ const binaries = {
590
576
  'electron-nightly': {
591
577
  category: 'electron-nightly',
592
578
  description: 'Build cross-platform desktop apps with JavaScript, HTML, and CSS',
593
- syncer: SyncerClass.GithubBinary,
579
+ type: Binary_1.BinaryType.GitHub,
594
580
  repo: 'electron/nightlies',
595
581
  distUrl: 'https://github.com/electron/nightlies/releases',
596
582
  options: {
@@ -600,217 +586,217 @@ const binaries = {
600
586
  'electron-builder-binaries': {
601
587
  category: 'electron-builder-binaries',
602
588
  description: 'electron-builder downloads required tools files on demand (e.g. to code sign windows application, to make AppX).',
603
- syncer: SyncerClass.GithubBinary,
589
+ type: Binary_1.BinaryType.GitHub,
604
590
  repo: 'electron-userland/electron-builder-binaries',
605
591
  distUrl: 'https://github.com/electron-userland/electron-builder-binaries/releases',
606
592
  },
607
593
  'ffmpeg-static': {
608
594
  category: 'ffmpeg-static',
609
595
  description: 'ffmpeg static binaries for Mac OSX and Linux and Windows',
610
- syncer: SyncerClass.GithubBinary,
596
+ type: Binary_1.BinaryType.GitHub,
611
597
  repo: 'eugeneware/ffmpeg-static',
612
598
  distUrl: 'https://github.com/eugeneware/ffmpeg-static/releases',
613
599
  },
614
600
  nodejieba: {
615
601
  category: 'nodejieba',
616
602
  description: '"结巴"中文分词的Node.js版本',
617
- syncer: SyncerClass.GithubBinary,
603
+ type: Binary_1.BinaryType.GitHub,
618
604
  repo: 'yanyiwu/nodejieba',
619
605
  distUrl: 'https://github.com/yanyiwu/nodejieba/releases',
620
606
  },
621
607
  'git-for-windows': {
622
608
  category: 'git-for-windows',
623
609
  description: 'A fork of Git containing Windows-specific patches.',
624
- syncer: SyncerClass.GithubBinary,
610
+ type: Binary_1.BinaryType.GitHub,
625
611
  repo: 'git-for-windows/git',
626
612
  distUrl: 'https://github.com/git-for-windows/git/releases',
627
613
  },
628
614
  atom: {
629
615
  category: 'atom',
630
616
  description: 'The hackable text editor',
631
- syncer: SyncerClass.GithubBinary,
617
+ type: Binary_1.BinaryType.GitHub,
632
618
  repo: 'atom/atom',
633
619
  distUrl: 'https://github.com/atom/atom/releases',
634
620
  },
635
621
  operadriver: {
636
622
  category: 'operadriver',
637
623
  description: 'OperaDriver for Chromium-based Opera releases',
638
- syncer: SyncerClass.GithubBinary,
624
+ type: Binary_1.BinaryType.GitHub,
639
625
  repo: 'operasoftware/operachromiumdriver',
640
626
  distUrl: 'https://github.com/operasoftware/operachromiumdriver/releases',
641
627
  },
642
628
  geckodriver: {
643
629
  category: 'geckodriver',
644
630
  description: 'WebDriver for Firefox',
645
- syncer: SyncerClass.GithubBinary,
631
+ type: Binary_1.BinaryType.GitHub,
646
632
  repo: 'mozilla/geckodriver',
647
633
  distUrl: 'https://github.com/mozilla/geckodriver/releases',
648
634
  },
649
635
  leveldown: {
650
636
  category: 'leveldown',
651
637
  description: 'Pure C++ Node.js LevelDB binding. An abstract-leveldown compliant store.',
652
- syncer: SyncerClass.GithubBinary,
638
+ type: Binary_1.BinaryType.GitHub,
653
639
  repo: 'Level/leveldown',
654
640
  distUrl: 'https://github.com/Level/leveldown/releases',
655
641
  },
656
642
  couchbase: {
657
643
  category: 'couchbase',
658
644
  description: 'Couchbase Node.js Client Library (Official)',
659
- syncer: SyncerClass.GithubBinary,
645
+ type: Binary_1.BinaryType.GitHub,
660
646
  repo: 'couchbase/couchnode',
661
647
  distUrl: 'https://github.com/couchbase/couchnode/releases',
662
648
  },
663
649
  gl: {
664
650
  category: 'gl',
665
651
  description: '🎃 Windowless WebGL for node.js',
666
- syncer: SyncerClass.GithubBinary,
652
+ type: Binary_1.BinaryType.GitHub,
667
653
  repo: 'stackgl/headless-gl',
668
654
  distUrl: 'https://github.com/stackgl/headless-gl/releases',
669
655
  },
670
656
  flow: {
671
657
  category: 'flow',
672
658
  description: 'Adds static typing to JavaScript to improve developer productivity and code quality.',
673
- syncer: SyncerClass.GithubBinary,
659
+ type: Binary_1.BinaryType.GitHub,
674
660
  repo: 'facebook/flow',
675
661
  distUrl: 'https://github.com/facebook/flow/releases',
676
662
  },
677
663
  robotjs: {
678
664
  category: 'robotjs',
679
665
  description: 'Node.js Desktop Automation. http://robotjs.io/',
680
- syncer: SyncerClass.GithubBinary,
666
+ type: Binary_1.BinaryType.GitHub,
681
667
  repo: 'octalmage/robotjs',
682
668
  distUrl: 'https://github.com/octalmage/robotjs/releases',
683
669
  },
684
670
  poi: {
685
671
  category: 'poi',
686
672
  description: 'Scalable KanColle browser and tool. https://poi.io/',
687
- syncer: SyncerClass.GithubBinary,
673
+ type: Binary_1.BinaryType.GitHub,
688
674
  repo: 'poooi/poi',
689
675
  distUrl: 'https://github.com/poooi/poi/releases',
690
676
  },
691
677
  'utf-8-validate': {
692
678
  category: 'utf-8-validate',
693
679
  description: 'Check if a buffer contains valid UTF-8',
694
- syncer: SyncerClass.GithubBinary,
680
+ type: Binary_1.BinaryType.GitHub,
695
681
  repo: 'websockets/utf-8-validate',
696
682
  distUrl: 'https://github.com/websockets/utf-8-validate/releases',
697
683
  },
698
684
  minikube: {
699
685
  category: 'minikube',
700
686
  description: 'Run Kubernetes locally https://minikube.sigs.k8s.io/',
701
- syncer: SyncerClass.GithubBinary,
687
+ type: Binary_1.BinaryType.GitHub,
702
688
  repo: 'kubernetes/minikube',
703
689
  distUrl: 'https://github.com/kubernetes/minikube/releases',
704
690
  },
705
691
  'sentry-cli': {
706
692
  category: 'sentry-cli',
707
693
  description: 'A command line utility to work with Sentry. https://docs.sentry.io/cli/',
708
- syncer: SyncerClass.GithubBinary,
694
+ type: Binary_1.BinaryType.GitHub,
709
695
  repo: 'getsentry/sentry-cli',
710
696
  distUrl: 'https://github.com/getsentry/sentry-cli/releases',
711
697
  },
712
698
  'sharp-libvips': {
713
699
  category: 'sharp-libvips',
714
700
  description: 'Packaging scripts to prebuild libvips and its dependencies - you\'re probably looking for https://github.com/lovell/sharp',
715
- syncer: SyncerClass.GithubBinary,
701
+ type: Binary_1.BinaryType.GitHub,
716
702
  repo: 'lovell/sharp-libvips',
717
703
  distUrl: 'https://github.com/lovell/sharp-libvips/releases',
718
704
  },
719
705
  sharp: {
720
706
  category: 'sharp',
721
707
  description: 'High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, AVIF and TIFF images. Uses the libvips library. https://sharp.pixelplumbing.com/',
722
- syncer: SyncerClass.GithubBinary,
708
+ type: Binary_1.BinaryType.GitHub,
723
709
  repo: 'lovell/sharp',
724
710
  distUrl: 'https://github.com/lovell/sharp/releases',
725
711
  },
726
712
  swc: {
727
713
  category: 'swc',
728
714
  description: 'swc is a super-fast compiler written in rust; producing widely-supported javascript from modern standards and typescript. https://swc.rs/',
729
- syncer: SyncerClass.GithubBinary,
715
+ type: Binary_1.BinaryType.GitHub,
730
716
  repo: 'swc-project/swc',
731
717
  distUrl: 'https://github.com/swc-project/swc/releases',
732
718
  },
733
719
  'node-swc': {
734
720
  category: 'node-swc',
735
721
  description: 'Experimental repo to avoid spamming watchers, see https://github.com/swc-project/swc',
736
- syncer: SyncerClass.GithubBinary,
722
+ type: Binary_1.BinaryType.GitHub,
737
723
  repo: 'swc-project/node-swc',
738
724
  distUrl: 'https://github.com/swc-project/node-swc/releases',
739
725
  },
740
726
  argon2: {
741
727
  category: 'argon2',
742
728
  description: 'Node.js bindings for Argon2 hashing algorithm',
743
- syncer: SyncerClass.GithubBinary,
729
+ type: Binary_1.BinaryType.GitHub,
744
730
  repo: 'ranisalt/node-argon2',
745
731
  distUrl: 'https://github.com/ranisalt/node-argon2/releases',
746
732
  },
747
733
  iohook: {
748
734
  category: 'iohook',
749
735
  description: 'Node.js global keyboard and mouse listener.',
750
- syncer: SyncerClass.GithubBinary,
736
+ type: Binary_1.BinaryType.GitHub,
751
737
  repo: 'wilix-team/iohook',
752
738
  distUrl: 'https://github.com/wilix-team/iohook/releases',
753
739
  },
754
740
  saucectl: {
755
741
  category: 'saucectl',
756
742
  description: 'A command line interface to run testrunner tests',
757
- syncer: SyncerClass.GithubBinary,
743
+ type: Binary_1.BinaryType.GitHub,
758
744
  repo: 'saucelabs/saucectl',
759
745
  distUrl: 'https://github.com/saucelabs/saucectl/releases',
760
746
  },
761
747
  'node-gdal-async': {
762
748
  category: 'node-gdal-async',
763
749
  description: 'Node.js bindings for GDAL (Geospatial Data Abstraction Library) with full async support. https://mmomtchev.github.io/node-gdal-async/',
764
- syncer: SyncerClass.GithubBinary,
750
+ type: Binary_1.BinaryType.GitHub,
765
751
  repo: 'mmomtchev/node-gdal-async',
766
752
  distUrl: 'https://github.com/mmomtchev/node-gdal-async/releases',
767
753
  },
768
754
  'looksgood-s2': {
769
755
  category: 'looksgood-s2',
770
756
  description: 'Node.js JavaScript & TypeScript bindings for Google S2.',
771
- syncer: SyncerClass.GithubBinary,
757
+ type: Binary_1.BinaryType.GitHub,
772
758
  repo: 'looksgood/s2',
773
759
  distUrl: 'https://github.com/looksgood/s2/releases',
774
760
  },
775
761
  'ali-zeromq': {
776
762
  category: 'ali-zeromq',
777
763
  description: 'Node.js bindings for zeromq',
778
- syncer: SyncerClass.GithubBinary,
764
+ type: Binary_1.BinaryType.GitHub,
779
765
  repo: 'looksgood/zeromq.js',
780
766
  distUrl: 'https://github.com/looksgood/zeromq.js/releases',
781
767
  },
782
768
  'ali-usb_ctl': {
783
769
  category: 'ali-usb_ctl',
784
770
  description: 'Node.js usb control module',
785
- syncer: SyncerClass.GithubBinary,
771
+ type: Binary_1.BinaryType.GitHub,
786
772
  repo: 'looksgood/ali-usb_ctl',
787
773
  distUrl: 'https://github.com/looksgood/ali-usb_ctl/releases',
788
774
  },
789
775
  'node-re2': {
790
776
  category: 'node-re2',
791
777
  description: 'node.js bindings for RE2: fast, safe alternative to backtracking regular expression engines.',
792
- syncer: SyncerClass.GithubBinary,
778
+ type: Binary_1.BinaryType.GitHub,
793
779
  repo: 'uhop/node-re2',
794
780
  distUrl: 'https://github.com/uhop/node-re2/releases',
795
781
  },
796
782
  sqlite3: {
797
783
  category: 'sqlite3',
798
784
  description: 'Asynchronous, non-blocking SQLite3 bindings for Node.js',
799
- syncer: SyncerClass.GithubBinary,
785
+ type: Binary_1.BinaryType.GitHub,
800
786
  repo: 'TryGhost/node-sqlite3',
801
787
  distUrl: 'https://github.com/TryGhost/node-sqlite3/releases',
802
788
  },
803
789
  'better-sqlite3': {
804
790
  category: 'better-sqlite3',
805
791
  description: 'AsyncThe fastest and simplest library for SQLite3 in Node.js',
806
- syncer: SyncerClass.GithubBinary,
792
+ type: Binary_1.BinaryType.GitHub,
807
793
  repo: 'WiseLibs/better-sqlite3',
808
794
  distUrl: 'https://github.com/WiseLibs/better-sqlite3/releases',
809
795
  },
810
796
  keytar: {
811
797
  category: 'keytar',
812
798
  description: 'Native Password Node Module',
813
- syncer: SyncerClass.GithubBinary,
799
+ type: Binary_1.BinaryType.GitHub,
814
800
  repo: 'atom/node-keytar',
815
801
  distUrl: 'https://github.com/atom/node-keytar/releases',
816
802
  },
@@ -818,14 +804,14 @@ const binaries = {
818
804
  playwright: {
819
805
  category: 'playwright',
820
806
  description: 'Playwright is a framework for Web Testing and Automation.',
821
- syncer: SyncerClass.PlaywrightBinary,
807
+ type: Binary_1.BinaryType.Playwright,
822
808
  repo: 'microsoft/playwright',
823
809
  distUrl: 'https://github.com/microsoft/playwright/releases',
824
810
  },
825
811
  nydus: {
826
812
  category: 'nydus',
827
813
  description: 'the Dragonfly image service, providing fast, secure and easy access to container images.',
828
- syncer: SyncerClass.GithubBinary,
814
+ type: Binary_1.BinaryType.GitHub,
829
815
  repo: 'dragonflyoss/image-service',
830
816
  distUrl: 'https://github.com/dragonflyoss/image-service/releases',
831
817
  },
@@ -833,7 +819,7 @@ const binaries = {
833
819
  // canvas@<=2.6.1 二进制需要从 node-canvas-prebuilt 下载
834
820
  category: 'node-canvas-prebuilt',
835
821
  description: 'Node canvas is a Cairo backed Canvas implementation for NodeJS.',
836
- syncer: SyncerClass.GithubBinary,
822
+ type: Binary_1.BinaryType.GitHub,
837
823
  repo: 'Automattic/node-canvas',
838
824
  distUrl: 'https://github.com/Automattic/node-canvas/releases',
839
825
  },
@@ -842,7 +828,7 @@ const binaries = {
842
828
  distUrl: 'https://github.com/node-gfx/node-canvas-prebuilt/releases',
843
829
  repo: 'chearon/node-canvas-prebuilt',
844
830
  description: 'Prebuilt versions of node-canvas as a drop-in replacement',
845
- syncer: SyncerClass.GithubBinary,
831
+ type: Binary_1.BinaryType.GitHub,
846
832
  options: {
847
833
  nodeArchs: {
848
834
  linux: ['x64'],
@@ -856,7 +842,7 @@ const binaries = {
856
842
  distUrl: 'https://github.com/node-gfx/node-canvas-prebuilt/releases',
857
843
  repo: 'node-gfx/node-canvas-prebuilt',
858
844
  description: 'Repo used to build binaries for node-canvas on CI',
859
- syncer: SyncerClass.GithubBinary,
845
+ type: Binary_1.BinaryType.GitHub,
860
846
  options: {
861
847
  nodeArchs: {
862
848
  linux: ['x64'],
@@ -867,4 +853,4 @@ const binaries = {
867
853
  },
868
854
  };
869
855
  exports.default = binaries;
870
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluYXJpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9jb25maWcvYmluYXJpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxXQVlYO0FBWkQsV0FBWSxXQUFXO0lBQ3JCLHdDQUF5QixDQUFBO0lBQ3pCLHdDQUF5QixDQUFBO0lBQ3pCLDhDQUErQixDQUFBO0lBQy9CLDRDQUE2QixDQUFBO0lBQzdCLDRDQUE2QixDQUFBO0lBQzdCLGdEQUFpQyxDQUFBO0lBQ2pDLGtEQUFtQyxDQUFBO0lBQ25DLGtEQUFtQyxDQUFBO0lBQ25DLG9EQUFxQyxDQUFBO0lBQ3JDLGdEQUFpQyxDQUFBO0lBQ2pDLG9EQUFxQyxDQUFBO0FBQ3ZDLENBQUMsRUFaVyxXQUFXLEdBQVgsbUJBQVcsS0FBWCxtQkFBVyxRQVl0QjtBQTZCRCxNQUFNLFFBQVEsR0FFVjtJQUNGLGFBQWE7SUFDYixJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsTUFBTTtRQUNoQixXQUFXLEVBQUUsc0tBQXNLO1FBQ25MLE1BQU0sRUFBRSxXQUFXLENBQUMsVUFBVTtRQUM5QixJQUFJLEVBQUUsWUFBWTtRQUNsQixPQUFPLEVBQUUscUJBQXFCO0tBQy9CO0lBQ0QsYUFBYTtJQUNiLElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFdBQVcsRUFBRSwyRUFBMkU7UUFDeEYsTUFBTSxFQUFFLFdBQVcsQ0FBQyxVQUFVO1FBQzlCLElBQUksRUFBRSxhQUFhO1FBQ25CLE9BQU8sRUFBRSx5QkFBeUI7S0FDbkM7SUFDRCxTQUFTLEVBQUU7UUFDVCxRQUFRLEVBQUUsU0FBUztRQUNuQixXQUFXLEVBQUUsMkJBQTJCO1FBQ3hDLE1BQU0sRUFBRSxXQUFXLENBQUMsVUFBVTtRQUM5QixJQUFJLEVBQUUsYUFBYTtRQUNuQixPQUFPLEVBQUUsZ0NBQWdDO0tBQzFDO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsUUFBUSxFQUFFLGNBQWM7UUFDeEIsV0FBVyxFQUFF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
856
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluYXJpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9jb25maWcvYmluYXJpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtREFBb0Q7QUE2QnBELE1BQU0sUUFBUSxHQUVWO0lBQ0YsYUFBYTtJQUNiLElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFdBQVcsRUFBRSxzS0FBc0s7UUFDbkwsSUFBSSxFQUFFLG1CQUFVLENBQUMsSUFBSTtRQUNyQixJQUFJLEVBQUUsWUFBWTtRQUNsQixPQUFPLEVBQUUscUJBQXFCO0tBQy9CO0lBQ0QsYUFBYTtJQUNiLElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFdBQVcsRUFBRSwyRUFBMkU7UUFDeEYsSUFBSSxFQUFFLG1CQUFVLENBQUMsSUFBSTtRQUNyQixJQUFJLEVBQUUsYUFBYTtRQUNuQixPQUFPLEVBQUUseUJBQXlCO0tBQ25DO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsUUFBUSxFQUFFLFNBQVM7UUFDbkIsV0FBVyxFQUFFLDJCQUEyQjtRQUN4QyxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxJQUFJO1FBQ3JCLElBQUksRUFBRSxhQUFhO1FBQ25CLE9BQU8sRUFBRSxnQ0FBZ0M7S0FDMUM7SUFDRCxjQUFjLEVBQUU7UUFDZCxRQUFRLEVBQUUsY0FBYztRQUN4QixXQUFXLEVBQUUsdUJBQXVCO1FBQ3BDLElBQUksRUFBRSxtQkFBVSxDQUFDLElBQUk7UUFDckIsSUFBSSxFQUFFLGFBQWE7UUFDbkIsT0FBTyxFQUFFLHFDQUFxQztLQUMvQztJQUNELHdCQUF3QixFQUFFO1FBQ3hCLFFBQVEsRUFBRSx3QkFBd0I7UUFDbEMsV0FBVyxFQUFFLHlFQUF5RTtRQUN0RixJQUFJLEVBQUUsbUJBQVUsQ0FBQyxJQUFJO1FBQ3JCLElBQUksRUFBRSwwQkFBMEI7UUFDaEMsT0FBTyxFQUFFLHVEQUF1RDtLQUNqRTtJQUNELE9BQU8sRUFBRTtRQUNQLFFBQVEsRUFBRSxTQUFTO1FBQ25CLFdBQVcsRUFBRSxtSkFBbUo7UUFDaEssSUFBSSxFQUFFLG1CQUFVLENBQUMsSUFBSTtRQUNyQixJQUFJLEVBQUUsRUFBRTtRQUNSLE9BQU8sRUFBRSw0Q0FBNEM7S0FDdEQ7SUFDRCxNQUFNLEVBQUU7UUFDTixRQUFRLEVBQUUsUUFBUTtRQUNsQixXQUFXLEVBQUUseURBQXlEO1FBQ3RFLElBQUksRUFBRSxtQkFBVSxDQUFDLElBQUk7UUFDckIsSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixPQUFPLEVBQUUsbUNBQW1DO1FBQzVDLFdBQVcsRUFBRTtZQUNYLHdCQUF3QjtTQUN6QjtLQUNGO0lBQ0QsZ0JBQWdCO0lBQ2hCLE9BQU8sRUFBRTtRQUNQLFFBQVEsRUFBRSxTQUFTO1FBQ25CLFdBQVcsRUFBRSxzRUFBc0U7UUFDbkYsSUFBSSxFQUFFLG1CQUFVLENBQUMsT0FBTztRQUN4QixJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLE9BQU8sRUFBRSx5QkFBeUI7S0FDbkM7SUFDRCxrQkFBa0I7SUFDbEIsd0JBQXdCLEVBQUU7UUFDeEIsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxXQUFXLEVBQUUsNkJBQTZCO1FBQzFDLElBQUksRUFBRSxtQkFBVSxDQUFDLFNBQVM7UUFDMUIsSUFBSSxFQUFFLDRCQUE0QjtRQUNsQyxPQUFPLEVBQUUsa0RBQWtEO0tBQzVEO0lBQ0Qsa0JBQWtCO0lBQ2xCLDRCQUE0QixFQUFFO1FBQzVCLFFBQVEsRUFBRSw0QkFBNEI7UUFDdEMsV0FBVyxFQUFFLCtDQUErQztRQUM1RCxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxTQUFTO1FBQzFCLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsT0FBTyxFQUFFLGdGQUFnRjtLQUMxRjtJQUNELG1CQUFtQjtJQUNuQixZQUFZLEVBQUU7UUFDWixRQUFRLEVBQUUsWUFBWTtRQUN0QixXQUFXLEVBQUUsMkNBQTJDO1FBQ3hELElBQUksRUFBRSxtQkFBVSxDQUFDLFVBQVU7UUFDM0IsSUFBSSxFQUFFLG9FQUFvRTtRQUMxRSxPQUFPLEVBQUUsMkNBQTJDO0tBQ3JEO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLE1BQU07UUFDaEIsV0FBVyxFQUFFLHVCQUF1QjtRQUNwQyxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxVQUFVO1FBQzNCLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsT0FBTyxFQUFFLDJDQUEyQztLQUNyRDtJQUNELGFBQWEsRUFBRTtRQUNiLFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLFdBQVcsRUFBRSwrQkFBK0I7UUFDNUMsSUFBSSxFQUFFLG1CQUFVLENBQUMsVUFBVTtRQUMzQixJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLE9BQU8sRUFBRSxnREFBZ0Q7UUFDekQsT0FBTyxFQUFFO1lBQ1Asb0JBQW9CLEVBQUUsSUFBSTtTQUMzQjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLE1BQU07UUFDaEIsV0FBVyxFQUFFLDZFQUE2RTtRQUMxRixJQUFJLEVBQUUsbUJBQVUsQ0FBQyxVQUFVO1FBQzNCLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsT0FBTyxFQUFFLHNDQUFzQztLQUNoRDtJQUNELE9BQU8sRUFBRTtRQUNQLFFBQVEsRUFBRSxTQUFTO1FBQ25CLFdBQVcsRUFBRSw4QkFBOEI7UUFDM0MsSUFBSSxFQUFFLG1CQUFVLENBQUMsVUFBVTtRQUMzQixJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLE9BQU8sRUFBRSw2Q0FBNkM7UUFDdEQsT0FBTyxFQUFFO1lBQ1AsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRSxDQUFFLEtBQUssQ0FBRTtnQkFDaEIsTUFBTSxFQUFFLENBQUUsS0FBSyxDQUFFO2dCQUNqQixrRkFBa0Y7Z0JBQ2xGLEtBQUssRUFBRSxDQUFFLEtBQUssRUFBRSxNQUFNLENBQUU7YUFDekI7U0FDRjtRQUNELHdCQUF3QjtRQUN4QixPQUFPLEVBQUUsSUFBSTtLQUNkO0lBQ0QsZUFBZTtJQUNmLFlBQVksRUFBRTtRQUNaLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLFdBQVcsRUFBRSx3RkFBd0Y7UUFDckcsSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsZ0RBQWdEO1FBQ3RELE9BQU8sRUFBRSw4Q0FBOEM7S0FDeEQ7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsVUFBVTtRQUNwQixXQUFXLEVBQUUsMENBQTBDO1FBQ3ZELElBQUksRUFBRSxtQkFBVSxDQUFDLE1BQU07UUFDdkIsSUFBSSxFQUFFLDJCQUEyQjtRQUNqQyxPQUFPLEVBQUUsa0RBQWtEO0tBQzVEO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixXQUFXLEVBQUUsaURBQWlEO1FBQzlELElBQUksRUFBRSxtQkFBVSxDQUFDLE1BQU07UUFDdkIsSUFBSSxFQUFFLCtCQUErQjtRQUNyQyxPQUFPLEVBQUUsMENBQTBDO1FBQ25ELFVBQVUsRUFBRTtZQUNWLFdBQVc7U0FDWjtLQUNGO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLFVBQVU7UUFDcEIsV0FBVyxFQUFFLDRDQUE0QztRQUN6RCxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksRUFBRSxtQkFBbUI7UUFDekIsT0FBTyxFQUFFLHVEQUF1RDtLQUNqRTtJQUNELGFBQWEsRUFBRTtRQUNiLFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLFdBQVcsRUFBRSxxQ0FBcUM7UUFDbEQsSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLE9BQU8sRUFBRSw2Q0FBNkM7S0FDdkQ7SUFDRCxVQUFVLEVBQUU7UUFDVixRQUFRLEVBQUUsWUFBWTtRQUN0QixXQUFXLEVBQUUsOEVBQThFO1FBQzNGLElBQUksRUFBRSxtQkFBVSxDQUFDLE1BQU07UUFDdkIsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixPQUFPLEVBQUUsNENBQTRDO0tBQ3REO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsUUFBUSxFQUFFLFdBQVc7UUFDckIsV0FBVyxFQUFFLDhFQUE4RTtRQUMzRixJQUFJLEVBQUUsbUJBQVUsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsT0FBTyxFQUFFLDJDQUEyQztLQUNyRDtJQUNELE1BQU0sRUFBRTtRQUNOLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFdBQVcsRUFBRSwwSUFBMEk7UUFDdkosSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsZUFBZTtRQUNyQixPQUFPLEVBQUUsbURBQW1EO1FBQzVELFVBQVUsRUFBRTtZQUNWLHdFQUF3RTtZQUN4RSw4Q0FBOEM7WUFDOUMsaUNBQWlDO1lBQ2pDLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYixVQUFVO1lBQ1YsTUFBTTtZQUNOLGFBQWE7WUFDYixzQkFBc0I7WUFDdEIsaUNBQWlDO1lBQ2pDLDhCQUE4QjtZQUM5QixvQkFBb0I7U0FDckI7S0FDRjtJQUNELGlCQUFpQjtJQUNqQixjQUFjLEVBQUU7UUFDZCxRQUFRLEVBQUUsY0FBYztRQUN4QixXQUFXLEVBQUUsK0VBQStFO1FBQzVGLElBQUksRUFBRSxtQkFBVSxDQUFDLFFBQVE7UUFDekIsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixPQUFPLEVBQUUsbUNBQW1DO1FBQzVDLE9BQU8sRUFBRTtZQUNQLG9FQUFvRTtZQUNwRSxhQUFhLEVBQUUsQ0FBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO1lBQzlELFNBQVMsRUFBRTtnQkFDVCxLQUFLLEVBQUUsRUFBRTtnQkFDVCxLQUFLLEVBQUUsQ0FBRSxLQUFLLEVBQUUsS0FBSyxDQUFFO2dCQUN2QixPQUFPLEVBQUUsQ0FBRSxLQUFLLEVBQUUsS0FBSyxDQUFFO2dCQUN6QixLQUFLLEVBQUUsQ0FBRSxLQUFLLEVBQUUsS0FBSyxDQUFFO2dCQUN2QixHQUFHLEVBQUUsQ0FBRSxLQUFLLEVBQUUsS0FBSyxDQUFFO2FBQ3RCO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxDQUFFLFVBQVUsQ0FBRTtnQkFDckIsS0FBSyxFQUFFLENBQUUsVUFBVSxDQUFFO2dCQUNyQixPQUFPLEVBQUUsQ0FBRSxVQUFVLENBQUU7Z0JBQ3ZCLEtBQUssRUFBRSxDQUFFLFVBQVUsQ0FBRTtnQkFDckIsR0FBRyxFQUFFLENBQUUsY0FBYyxFQUFFLGdCQUFnQixDQUFFO2FBQzFDO1NBQ0Y7S0FDRjtJQUNELGNBQWMsRUFBRTtRQUNkLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLFdBQVcsRUFBRSwrRUFBK0U7UUFDNUYsSUFBSSxFQUFFLG1CQUFVLENBQUMsUUFBUTtRQUN6QixJQUFJLEVBQUUsdUJBQXVCO1FBQzdCLE9BQU8sRUFBRSxtQ0FBbUM7UUFDNUMsT0FBTyxFQUFFO1lBQ1Asb0VBQW9FO1lBQ3BFLGFBQWEsRUFBRSxDQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBRTtZQUNyRCxTQUFTLEVBQUU7Z0JBQ1QsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsS0FBSyxFQUFFLENBQUUsS0FBSyxFQUFFLEtBQUssQ0FBRTtnQkFDdkIsT0FBTyxFQUFFLENBQUUsS0FBSyxDQUFFO2dCQUNsQixHQUFHLEVBQUUsRUFBRTthQUNSO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxDQUFFLFVBQVUsQ0FBRTtnQkFDckIsS0FBSyxFQUFFLENBQUUsVUFBVSxDQUFFO2dCQUNyQixPQUFPLEVBQUUsQ0FBRSxVQUFVLENBQUU7Z0JBQ3ZCLEdBQUcsRUFBRSxDQUFFLGNBQWMsQ0FBRTthQUN4QjtTQUNGO0tBQ0Y7SUFDRCxhQUFhLEVBQUU7UUFDYixRQUFRLEVBQUUsYUFBYTtRQUN2QixXQUFXLEVBQUUsOEVBQThFO1FBQzNGLElBQUksRUFBRSxtQkFBVSxDQUFDLFFBQVE7UUFDekIsSUFBSSxFQUFFLHNCQUFzQjtRQUM1QixPQUFPLEVBQUUsbUNBQW1DO1FBQzVDLE9BQU8sRUFBRTtZQUNQLG1EQUFtRDtZQUNuRCxjQUFjLEVBQUUsU0FBUztZQUN6QixtRUFBbUU7WUFDbkUsbUVBQW1FO1lBQ25FLGFBQWEsRUFBRSxDQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBRTtZQUNqRCxTQUFTLEVBQUU7Z0JBQ1QsR0FBRyxFQUFFLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsR0FBRyxFQUFFLEVBQUU7YUFDUjtZQUNELFFBQVEsRUFBRTtnQkFDUixHQUFHLEVBQUUsQ0FBRSxPQUFPLENBQUU7Z0JBQ2hCLEtBQUssRUFBRSxDQUFFLE9BQU8sQ0FBRTtnQkFDbEIsS0FBSyxFQUFFLENBQUUsT0FBTyxDQUFFO2dCQUNsQixHQUFHLEVBQUUsQ0FBRSxXQUFXLENBQUU7YUFDckI7U0FDRjtLQUNGO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsUUFBUSxFQUFFLGNBQWM7UUFDeEIsV0FBVyxFQUFFLCtFQUErRTtRQUM1RixJQUFJLEVBQUUsbUJBQVUsQ0FBQyxRQUFRO1FBQ3pCLElBQUksRUFBRSx1QkFBdUI7UUFDN0IsT0FBTyxFQUFFLG1DQUFtQztRQUM1QyxPQUFPLEVBQUU7WUFDUCxvREFBb0Q7WUFDcEQsY0FBYyxFQUFFLFVBQVU7WUFDMUIsb0VBQW9FO1lBQ3BFLG9FQUFvRTtZQUNwRSxhQUFhLEVBQUUsQ0FBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUU7WUFDckQsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRSxFQUFFO2dCQUNULEtBQUssRUFBRSxDQUFFLEtBQUssRUFBRSxLQUFLLENBQUU7Z0JBQ3ZCLE9BQU8sRUFBRSxDQUFFLEtBQUssRUFBRSxLQUFLLENBQUU7Z0JBQ3pCLEdBQUcsRUFBRSxDQUFFLEtBQUssRUFBRSxLQUFLLENBQUU7YUFDdEI7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLENBQUUsVUFBVSxDQUFFO2dCQUNyQixLQUFLLEVBQUUsQ0FBRSxVQUFVLENBQUU7Z0JBQ3JCLE9BQU8sRUFBRSxDQUFFLFVBQVUsQ0FBRTtnQkFDdkIsR0FBRyxFQUFFLENBQUUsY0FBYyxDQUFFO2FBQ3hCO1NBQ0Y7S0FDRjtJQUNELGFBQWEsRUFBRTtRQUNiLFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLFdBQVcsRUFBRSw4RUFBOEU7UUFDM0YsSUFBSSxFQUFFLG1CQUFVLENBQUMsUUFBUTtRQUN6QixJQUFJLEVBQUUsc0JBQXNCO1FBQzVCLE9BQU8sRUFBRSxtQ0FBbUM7UUFDNUMsT0FBTyxFQUFFO1lBQ1AsbUVBQW1FO1lBQ25FLG1FQUFtRTtZQUNuRSxhQUFhLEVBQUUsQ0FBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO1lBQzlELFNBQVMsRUFBRTtnQkFDVCxLQUFLLEVBQUUsRUFBRTtnQkFDVCxLQUFLLEVBQUUsQ0FBRSxLQUFLLEVBQUUsS0FBSyxDQUFFO2dCQUN2QixPQUFPLEVBQUUsQ0FBRSxLQUFLLEVBQUUsS0FBSyxDQUFFO2dCQUN6QixLQUFLLEVBQUUsQ0FBRSxLQUFLLEVBQUUsS0FBSyxDQUFFO2dCQUN2QixHQUFHLEVBQUUsRUFBRTthQUNSO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxDQUFFLFNBQVMsQ0FBRTtnQkFDcEIsS0FBSyxFQUFFLENBQUUsU0FBUyxDQUFFO2dCQUNwQixPQUFPLEVBQUUsQ0FBRSxTQUFTLENBQUU7Z0JBQ3RCLEtBQUssRUFBRSxDQUFFLFNBQVMsQ0FBRTtnQkFDcEIsR0FBRyxFQUFFLENBQUUsYUFBYSxDQUFFO2FBQ3ZCO1NBQ0Y7S0FDRjtJQUNELGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxlQUFlO1FBQ3pCLFdBQVcsRUFBRSxnRkFBZ0Y7UUFDN0YsSUFBSSxFQUFFLG1CQUFVLENBQUMsUUFBUTtRQUN6QixJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLE9BQU8sRUFBRSxtQ0FBbUM7UUFDNUMsT0FBTyxFQUFFO1lBQ1AscUVBQXFFO1lBQ3JFLHFFQUFxRTtZQUNyRSxhQUFhLEVBQUUsQ0FBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBRTtZQUMxQyxTQUFTLEVBQUU7Z0JBQ1QsR0FBRyxFQUFFLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsS0FBSyxFQUFFLEVBQUU7YUFDVjtZQUNELFFBQVEsRUFBRTtnQkFDUixHQUFHLEVBQUUsQ0FBRSxXQUFXLENBQUU7Z0JBQ3BCLEtBQUssRUFBRSxDQUFFLFdBQVcsQ0FBRTtnQkFDdEIsS0FBSyxFQUFFLENBQUUsZUFBZSxDQUFFO2FBQzNCO1NBQ0Y7S0FDRjtJQUNELGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxlQUFlO1FBQ3pCLFdBQVcsRUFBRSxnRkFBZ0Y7UUFDN0YsSUFBSSxFQUFFLG1CQUFVLENBQUMsUUFBUTtRQUN6QixJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLE9BQU8sRUFBRSxtQ0FBbUM7UUFDNUMsT0FBTyxFQUFFO1lBQ1AscUVBQXFFO1lBQ3JFLHFFQUFxRTtZQUNyRSxhQUFhLEVBQUUsQ0FBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBRTtZQUMxQyxTQUFTLEVBQUU7Z0JBQ1QsR0FBRyxFQUFFLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsS0FBSyxFQUFFLEVBQUU7YUFDVjtZQUNELFFBQVEsRUFBRTtnQkFDUixHQUFHLEVBQUUsQ0FBRSxXQUFXLENBQUU7Z0JBQ3BCLEtBQUssRUFBRSxDQUFFLFdBQVcsQ0FBRTtnQkFDdEIsS0FBSyxFQUFFLENBQUUsZUFBZSxDQUFFO2FBQzNCO1NBQ0Y7S0FDRjtJQUNELHFCQUFxQixFQUFFO1FBQ3JCLFFBQVEsRUFBRSxxQkFBcUI7UUFDL0IsV0FBVyxFQUFFLHNGQUFzRjtRQUNuRyxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxRQUFRO1FBQ3pCLElBQUksRUFBRSw4QkFBOEI7UUFDcEMsT0FBTyxFQUFFLG1DQUFtQztRQUM1QyxPQUFPLEVBQUU7WUFDUCwyRUFBMkU7WUFDM0UsMkVBQTJFO1lBQzNFLGFBQWEsRUFBRSxDQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO1lBQ3hDLFNBQVMsRUFBRTtnQkFDVCxHQUFHLEVBQUUsRUFBRTtnQkFDUCxLQUFLLEVBQUUsRUFBRTtnQkFDVCxHQUFHLEVBQUUsRUFBRTthQUNSO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLEdBQUcsRUFBRSxDQUFFLGlCQUFpQixDQUFFO2dCQUMxQixLQUFLLEVBQUUsQ0FBRSxpQkFBaUIsQ0FBRTtnQkFDNUIsR0FBRyxFQUFFLENBQUUscUJBQXFCLENBQUU7YUFDL0I7U0FDRjtLQUNGO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsUUFBUSxFQUFFLGNBQWM7UUFDeEIsV0FBVyxFQUFFLCtFQUErRTtRQUM1RixJQUFJLEVBQUUsbUJBQVUsQ0FBQyxRQUFRO1FBQ3pCLElBQUksRUFBRSx1QkFBdUI7UUFDN0IsT0FBTyxFQUFFLG1DQUFtQztRQUM1QyxPQUFPLEVBQUU7WUFDUCxvRUFBb0U7WUFDcEUsb0VBQW9FO1lBQ3BFLGFBQWEsRUFBRSxDQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO1lBQ3hDLFNBQVMsRUFBRTtnQkFDVCxHQUFHLEVBQUUsRUFBRTtnQkFDUCxLQUFLLEVBQUUsRUFBRTtnQkFDVCxHQUFHLEVBQUUsQ0FBRSxLQUFLLEVBQUUsS0FBSyxDQUFFO2FBQ3RCO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLEdBQUcsRUFBRSxDQUFFLFVBQVUsQ0FBRTtnQkFDbkIsS0FBSyxFQUFFLENBQUUsVUFBVSxDQUFFO2dCQUNyQixHQUFHLEVBQUUsQ0FBRSxjQUFjLENBQUU7YUFDeEI7U0FDRjtLQUNGO0lBQ0QsWUFBWSxFQUFFO1FBQ1osUUFBUSxFQUFFLFlBQVk7UUFDdEIsV0FBVyxFQUFFLDZFQUE2RTtRQUMxRixJQUFJLEVBQUUsbUJBQVUsQ0FBQyxRQUFRO1FBQ3pCLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsT0FBTyxFQUFFLG1DQUFtQztRQUM1QyxPQUFPLEVBQUU7WUFDUCxrRUFBa0U7WUFDbEUsa0VBQWtFO1lBQ2xFLGFBQWEsRUFBRSxDQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBRTtZQUNyRCxTQUFTLEVBQUU7Z0JBQ1QsR0FBRyxFQUFFLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLENBQUUsS0FBSyxFQUFFLEtBQUssQ0FBRTtnQkFDdkIsT0FBTyxFQUFFLENBQUUsS0FBSyxFQUFFLEtBQUssQ0FBRTtnQkFDekIsS0FBSyxFQUFFLEVBQUc7YUFDWDtZQUNELFFBQVEsRUFBRTtnQkFDUixHQUFHLEVBQUUsQ0FBRSxVQUFVLENBQUU7Z0JBQ25CLEtBQUssRUFBRSxDQUFFLFVBQVUsQ0FBRTtnQkFDckIsT0FBTyxFQUFFLENBQUUsUUFBUSxDQUFFO2dCQUNyQixLQUFLLEVBQUUsQ0FBRSxjQUFjLENBQUU7YUFDMUI7U0FDRjtLQUNGO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsUUFBUSxFQUFFLGNBQWM7UUFDeEIsV0FBVyxFQUFFLCtFQUErRTtRQUM1RixJQUFJLEVBQUUsbUJBQVUsQ0FBQyxRQUFRO1FBQ3pCLElBQUksRUFBRSx1QkFBdUI7UUFDN0IsT0FBTyxFQUFFLG1DQUFtQztRQUM1QyxPQUFPLEVBQUU7WUFDUCxvRUFBb0U7WUFDcEUsYUFBYSxFQUFFLENBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUU7WUFDMUMsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRSxFQUFFO2dCQUNULEtBQUssRUFBRSxFQUFHO2dCQUNWLEdBQUcsRUFBRSxFQUFHO2FBQ1Q7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLENBQUUsVUFBVSxDQUFFO2dCQUNyQixLQUFLLEVBQUUsQ0FBRSxVQUFVLENBQUU7Z0JBQ3JCLEdBQUcsRUFBRSxDQUFFLGNBQWMsQ0FBRTthQUN4QjtTQUNGO0tBQ0Y7SUFDRCxhQUFhLEVBQUU7UUFDYixRQUFRLEVBQUUsYUFBYTtRQUN2QixXQUFXLEVBQUUsOEVBQThFO1FBQzNGLElBQUksRUFBRSxtQkFBVSxDQUFDLFFBQVE7UUFDekIsSUFBSSxFQUFFLHNCQUFzQjtRQUM1QixPQUFPLEVBQUUsbUNBQW1DO1FBQzVDLE9BQU8sRUFBRTtZQUNQLG1EQUFtRDtZQUNuRCxjQUFjLEVBQUUsU0FBUztZQUN6QixtRUFBbUU7WUFDbkUsYUFBYSxFQUFFLENBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUU7WUFDMUMsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRSxFQUFFO2dCQUNULEtBQUssRUFBRSxFQUFHO2dCQUNWLEdBQUcsRUFBRSxFQUFHO2FBQ1Q7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLENBQUUsU0FBUyxDQUFFO2dCQUNwQixLQUFLLEVBQUUsQ0FBRSxTQUFTLENBQUU7Z0JBQ3BCLEdBQUcsRUFBRSxDQUFFLGFBQWEsQ0FBRTthQUN2QjtTQUNGO0tBQ0Y7SUFDRCxZQUFZLEVBQUU7UUFDWixRQUFRLEVBQUUsWUFBWTtRQUN0QixXQUFXLEVBQUUsNkVBQTZFO1FBQzFGLElBQUksRUFBRSxtQkFBVSxDQUFDLFFBQVE7UUFDekIsSUFBSSxFQUFFLHFCQUFxQjtRQUMzQixPQUFPLEVBQUUsbUNBQW1DO1FBQzVDLE9BQU8sRUFBRTtZQUNQLGtFQUFrRTtZQUNsRSxhQUFhLEVBQUUsQ0FBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBRTtZQUMxQyxTQUFTLEVBQUU7Z0JBQ1QsR0FBRyxFQUFFLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsS0FBSyxFQUFFLEVBQUc7YUFDWDtZQUNELFFBQVEsRUFBRTtnQkFDUixHQUFHLEVBQUUsQ0FBRSxRQUFRLENBQUU7Z0JBQ2pCLEtBQUssRUFBRSxDQUFFLFFBQVEsQ0FBRTtnQkFDbkIsS0FBSyxFQUFFLENBQUUsWUFBWSxDQUFFO2FBQ3hCO1NBQ0Y7S0FDRjtJQUNELFdBQVcsRUFBRTtRQUNYLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLFdBQVcsRUFBRSw0RUFBNEU7UUFDekYsSUFBSSxFQUFFLG1CQUFVLENBQUMsUUFBUTtRQUN6QixJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLE9BQU8sRUFBRSxtQ0FBbUM7UUFDNUMsT0FBTyxFQUFFO1lBQ1AsaUVBQWlFO1lBQ2pFLGFBQWEsRUFBRSxDQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO1lBQ3hDLFNBQVMsRUFBRTtnQkFDVCxHQUFHLEVBQUUsRUFBRTtnQkFDUCxLQUFLLEVBQUUsQ0FBRSxLQUFLLEVBQUUsS0FBSyxDQUFFO2dCQUN2QixHQUFHLEVBQUUsQ0FBRSxLQUFLLEVBQUUsS0FBSyxDQUFFO2FBQ3RCO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLEdBQUcsRUFBRSxDQUFFLE9BQU8sQ0FBRTtnQkFDaEIsS0FBSyxFQUFFLENBQUUsT0FBTyxDQUFFO2dCQUNsQixHQUFHLEVBQUUsQ0FBRSxXQUFXLENBQUU7YUFDckI7U0FDRjtLQUNGO0lBQ0QsZUFBZTtJQUNmLEdBQUcsRUFBRTtRQUNILFFBQVEsRUFBRSxLQUFLO1FBQ2YsV0FBVyxFQUFFLG9DQUFvQztRQUNqRCxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLHFDQUFxQztRQUM5QyxPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsQ0FBQztTQUNYO0tBQ0Y7SUFDRCxTQUFTLEVBQUU7UUFDVCxRQUFRLEVBQUUsV0FBVztRQUNyQixXQUFXLEVBQUUsMkdBQTJHO1FBQ3hILElBQUksRUFBRSxtQkFBVSxDQUFDLE1BQU07UUFDdkIsSUFBSSxFQUFFLHNCQUFzQjtRQUM1QixPQUFPLEVBQUUsa0RBQWtEO0tBQzVEO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsUUFBUSxFQUFFLFdBQVc7UUFDckIsV0FBVyxFQUFFLGdDQUFnQztRQUM3QyxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsT0FBTyxFQUFFLDRDQUE0QztLQUN0RDtJQUNELGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxlQUFlO1FBQ3pCLFdBQVcsRUFBRSxrR0FBa0c7UUFDL0csSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUseUJBQXlCO1FBQy9CLE9BQU8sRUFBRSxxREFBcUQ7S0FDL0Q7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsVUFBVTtRQUNwQixXQUFXLEVBQUUsa0VBQWtFO1FBQy9FLElBQUksRUFBRSxtQkFBVSxDQUFDLFFBQVE7UUFDekIsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixPQUFPLEVBQUUsK0NBQStDO1FBQ3hELE9BQU8sRUFBRTtZQUNQLDZCQUE2QjtZQUM3QixPQUFPLEVBQUUsQ0FBQztTQUNYO0tBQ0Y7SUFDRCxrQkFBa0IsRUFBRTtRQUNsQixRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLFdBQVcsRUFBRSxrRUFBa0U7UUFDL0UsSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLE9BQU8sRUFBRSxnREFBZ0Q7UUFDekQsT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLENBQUM7U0FDWDtLQUNGO0lBQ0QsMkJBQTJCLEVBQUU7UUFDM0IsUUFBUSxFQUFFLDJCQUEyQjtRQUNyQyxXQUFXLEVBQUUsa0hBQWtIO1FBQy9ILElBQUksRUFBRSxtQkFBVSxDQUFDLE1BQU07UUFDdkIsSUFBSSxFQUFFLDZDQUE2QztRQUNuRCxPQUFPLEVBQUUseUVBQXlFO0tBQ25GO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsUUFBUSxFQUFFLGVBQWU7UUFDekIsV0FBVyxFQUFFLDBEQUEwRDtRQUN2RSxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksRUFBRSwwQkFBMEI7UUFDaEMsT0FBTyxFQUFFLHNEQUFzRDtLQUNoRTtJQUNELFNBQVMsRUFBRTtRQUNULFFBQVEsRUFBRSxXQUFXO1FBQ3JCLFdBQVcsRUFBRSxvQkFBb0I7UUFDakMsSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLE9BQU8sRUFBRSwrQ0FBK0M7S0FDekQ7SUFDRCxpQkFBaUIsRUFBRTtRQUNqQixRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLFdBQVcsRUFBRSxvREFBb0Q7UUFDakUsSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUscUJBQXFCO1FBQzNCLE9BQU8sRUFBRSxpREFBaUQ7S0FDM0Q7SUFDRCxJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsTUFBTTtRQUNoQixXQUFXLEVBQUUsMEJBQTBCO1FBQ3ZDLElBQUksRUFBRSxtQkFBVSxDQUFDLE1BQU07UUFDdkIsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLHVDQUF1QztLQUNqRDtJQUNELFdBQVcsRUFBRTtRQUNYLFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLFdBQVcsRUFBRSwrQ0FBK0M7UUFDNUQsSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsbUNBQW1DO1FBQ3pDLE9BQU8sRUFBRSwrREFBK0Q7S0FDekU7SUFDRCxXQUFXLEVBQUU7UUFDWCxRQUFRLEVBQUUsYUFBYTtRQUN2QixXQUFXLEVBQUUsdUJBQXVCO1FBQ3BDLElBQUksRUFBRSxtQkFBVSxDQUFDLE1BQU07UUFDdkIsSUFBSSxFQUFFLHFCQUFxQjtRQUMzQixPQUFPLEVBQUUsaURBQWlEO0tBQzNEO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsUUFBUSxFQUFFLFdBQVc7UUFDckIsV0FBVyxFQUFFLDBFQUEwRTtRQUN2RixJQUFJLEVBQUUsbUJBQVUsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsT0FBTyxFQUFFLDZDQUE2QztLQUN2RDtJQUNELFNBQVMsRUFBRTtRQUNULFFBQVEsRUFBRSxXQUFXO1FBQ3JCLFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUscUJBQXFCO1FBQzNCLE9BQU8sRUFBRSxpREFBaUQ7S0FDM0Q7SUFDRCxFQUFFLEVBQUU7UUFDRixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSxpQ0FBaUM7UUFDOUMsSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUscUJBQXFCO1FBQzNCLE9BQU8sRUFBRSxpREFBaUQ7S0FDM0Q7SUFDRCxJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsTUFBTTtRQUNoQixXQUFXLEVBQUUsc0ZBQXNGO1FBQ25HLElBQUksRUFBRSxtQkFBVSxDQUFDLE1BQU07UUFDdkIsSUFBSSxFQUFFLGVBQWU7UUFDckIsT0FBTyxFQUFFLDJDQUEyQztLQUNyRDtJQUNELE9BQU8sRUFBRTtRQUNQLFFBQVEsRUFBRSxTQUFTO1FBQ25CLFdBQVcsRUFBRSxnREFBZ0Q7UUFDN0QsSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLE9BQU8sRUFBRSwrQ0FBK0M7S0FDekQ7SUFDRCxHQUFHLEVBQUU7UUFDSCxRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSxxREFBcUQ7UUFDbEUsSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsV0FBVztRQUNqQixPQUFPLEVBQUUsdUNBQXVDO0tBQ2pEO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixXQUFXLEVBQUUsd0NBQXdDO1FBQ3JELElBQUksRUFBRSxtQkFBVSxDQUFDLE1BQU07UUFDdkIsSUFBSSxFQUFFLDJCQUEyQjtRQUNqQyxPQUFPLEVBQUUsdURBQXVEO0tBQ2pFO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLFVBQVU7UUFDcEIsV0FBVyxFQUFFLHNEQUFzRDtRQUNuRSxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsT0FBTyxFQUFFLGlEQUFpRDtLQUMzRDtJQUNELFlBQVksRUFBRTtRQUNaLFFBQVEsRUFBRSxZQUFZO1FBQ3RCLFdBQVcsRUFBRSx5RUFBeUU7UUFDdEYsSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsc0JBQXNCO1FBQzVCLE9BQU8sRUFBRSxrREFBa0Q7S0FDNUQ7SUFDRCxlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsZUFBZTtRQUN6QixXQUFXLEVBQUUsMkhBQTJIO1FBQ3hJLElBQUksRUFBRSxtQkFBVSxDQUFDLE1BQU07UUFDdkIsSUFBSSxFQUFFLHNCQUFzQjtRQUM1QixPQUFPLEVBQUUsa0RBQWtEO0tBQzVEO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsUUFBUSxFQUFFLE9BQU87UUFDakIsV0FBVyxFQUFFLDJLQUEySztRQUN4TCxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksRUFBRSxjQUFjO1FBQ3BCLE9BQU8sRUFBRSwwQ0FBMEM7S0FDcEQ7SUFDRCxHQUFHLEVBQUU7UUFDSCxRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSwySUFBMkk7UUFDeEosSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLE9BQU8sRUFBRSw2Q0FBNkM7S0FDdkQ7SUFDRCxVQUFVLEVBQUU7UUFDVixRQUFRLEVBQUUsVUFBVTtRQUNwQixXQUFXLEVBQUUsc0ZBQXNGO1FBQ25HLElBQUksRUFBRSxtQkFBVSxDQUFDLE1BQU07UUFDdkIsSUFBSSxFQUFFLHNCQUFzQjtRQUM1QixPQUFPLEVBQUUsa0RBQWtEO0tBQzVEO0lBQ0QsTUFBTSxFQUFFO1FBQ04sUUFBUSxFQUFFLFFBQVE7UUFDbEIsV0FBVyxFQUFFLCtDQUErQztRQUM1RCxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsT0FBTyxFQUFFLGtEQUFrRDtLQUM1RDtJQUNELE1BQU0sRUFBRTtRQUNOLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLE9BQU8sRUFBRSwrQ0FBK0M7S0FDekQ7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsVUFBVTtRQUNwQixXQUFXLEVBQUUsa0RBQWtEO1FBQy9ELElBQUksRUFBRSxtQkFBVSxDQUFDLE1BQU07UUFDdkIsSUFBSSxFQUFFLG9CQUFvQjtRQUMxQixPQUFPLEVBQUUsZ0RBQWdEO0tBQzFEO0lBQ0QsaUJBQWlCLEVBQUU7UUFDakIsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQixXQUFXLEVBQUUsdUlBQXVJO1FBQ3BKLElBQUksRUFBRSxtQkFBVSxDQUFDLE1BQU07UUFDdkIsSUFBSSxFQUFFLDJCQUEyQjtRQUNqQyxPQUFPLEVBQUUsdURBQXVEO0tBQ2pFO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsUUFBUSxFQUFFLGNBQWM7UUFDeEIsV0FBVyxFQUFFLHlEQUF5RDtRQUN0RSxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksRUFBRSxjQUFjO1FBQ3BCLE9BQU8sRUFBRSwwQ0FBMEM7S0FDcEQ7SUFDRCxZQUFZLEVBQUU7UUFDWixRQUFRLEVBQUUsWUFBWTtRQUN0QixXQUFXLEVBQUUsNkJBQTZCO1FBQzFDLElBQUksRUFBRSxtQkFBVSxDQUFDLE1BQU07UUFDdkIsSUFBSSxFQUFFLHFCQUFxQjtRQUMzQixPQUFPLEVBQUUsaURBQWlEO0tBQzNEO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsUUFBUSxFQUFFLGFBQWE7UUFDdkIsV0FBVyxFQUFFLDRCQUE0QjtRQUN6QyxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksRUFBRSx1QkFBdUI7UUFDN0IsT0FBTyxFQUFFLG1EQUFtRDtLQUM3RDtJQUNELFVBQVUsRUFBRTtRQUNWLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLFdBQVcsRUFBRSw4RkFBOEY7UUFDM0csSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsZUFBZTtRQUNyQixPQUFPLEVBQUUsMkNBQTJDO0tBQ3JEO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsUUFBUSxFQUFFLFNBQVM7UUFDbkIsV0FBVyxFQUFFLHlEQUF5RDtRQUN0RSxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksRUFBRSx1QkFBdUI7UUFDN0IsT0FBTyxFQUFFLG1EQUFtRDtLQUM3RDtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLFFBQVEsRUFBRSxnQkFBZ0I7UUFDMUIsV0FBVyxFQUFFLDhEQUE4RDtRQUMzRSxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsT0FBTyxFQUFFLHFEQUFxRDtLQUMvRDtJQUNELE1BQU0sRUFBRTtRQUNOLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFdBQVcsRUFBRSw2QkFBNkI7UUFDMUMsSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLE9BQU8sRUFBRSw4Q0FBOEM7S0FDeEQ7SUFDRCxtQkFBbUI7SUFDbkIsVUFBVSxFQUFFO1FBQ1YsUUFBUSxFQUFFLFlBQVk7UUFDdEIsV0FBVyxFQUFFLDJEQUEyRDtRQUN4RSxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxVQUFVO1FBQzNCLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsT0FBTyxFQUFFLGtEQUFrRDtLQUM1RDtJQUNELEtBQUssRUFBRTtRQUNMLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFdBQVcsRUFBRSwwRkFBMEY7UUFDdkcsSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsNEJBQTRCO1FBQ2xDLE9BQU8sRUFBRSx3REFBd0Q7S0FDbEU7SUFDRCxNQUFNLEVBQUU7UUFDTixnREFBZ0Q7UUFDaEQsUUFBUSxFQUFFLHNCQUFzQjtRQUNoQyxXQUFXLEVBQUUsaUVBQWlFO1FBQzlFLElBQUksRUFBRSxtQkFBVSxDQUFDLE1BQU07UUFDdkIsSUFBSSxFQUFFLHdCQUF3QjtRQUM5QixPQUFPLEVBQUUsb0RBQW9EO0tBQzlEO0lBQ0QsaUJBQWlCLEVBQUU7UUFDakIsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQixPQUFPLEVBQUUsMkRBQTJEO1FBQ3BFLElBQUksRUFBRSw4QkFBOEI7UUFDcEMsV0FBVyxFQUFFLDJEQUEyRDtRQUN4RSxJQUFJLEVBQUUsbUJBQVUsQ0FBQyxNQUFNO1FBQ3ZCLE9BQU8sRUFBRTtZQUNQLFNBQVMsRUFBRTtnQkFDVCxLQUFLLEVBQUUsQ0FBRSxLQUFLLENBQUU7Z0JBQ2hCLE1BQU0sRUFBRSxDQUFFLEtBQUssQ0FBRTtnQkFDakIsS0FBSyxFQUFFLENBQUUsS0FBSyxDQUFFO2FBQ2pCO1NBQ0Y7S0FDRjtJQUNELHNCQUFzQixFQUFFO1FBQ3RCLFFBQVEsRUFBRSxzQkFBc0I7UUFDaEMsT0FBTyxFQUFFLDJEQUEyRDtRQUNwRSxJQUFJLEVBQUUsK0JBQStCO1FBQ3JDLFdBQVcsRUFBRSxtREFBbUQ7UUFDaEUsSUFBSSxFQUFFLG1CQUFVLENBQUMsTUFBTTtRQUN2QixPQUFPLEVBQUU7WUFDUCxTQUFTLEVBQUU7Z0JBQ1QsS0FBSyxFQUFFLENBQUUsS0FBSyxDQUFFO2dCQUNoQixNQUFNLEVBQUUsQ0FBRSxLQUFLLENBQUU7Z0JBQ2pCLEtBQUssRUFBRSxDQUFFLEtBQUssQ0FBRTthQUNqQjtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsa0JBQWUsUUFBUSxDQUFDIn0=