@simplens/nodemailer-gmail 1.0.7 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -80,7 +80,7 @@ EMAIL_FROM=your-email@gmail.com
80
80
  ## Features
81
81
 
82
82
  - ✅ HTML and plain text emails (auto-detected)
83
- - ✅ Template variable substitution (`{{key}}` syntax)
83
+ - ✅ Template variable substitution (`{{key}}`, `${key}`, `{key}`, `$key` syntax)
84
84
  - ✅ Configurable rate limiting
85
85
  - ✅ Automatic retry classification
86
86
  - ✅ Gmail and any SMTP server support
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACH,CAAC,EACD,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EAIvB,MAAM,eAAe,CAAC;AAkBvB;;GAEG;AACH,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK3B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;;;;;;;;;;;GAaG;AACH,qBAAa,aAAc,YAAW,gBAAgB,CAAC,iBAAiB,CAAC;IACrE,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,MAAM,CAA+B;IAE7C,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAUjC;IAEF,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIrB,kBAAkB;;;;;;;;;;IAIlB,gBAAgB;;;;;;;;;;IAIhB,kBAAkB,IAAI,eAAe;IAa/B,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BjD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAe/B,IAAI,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;IAqE9D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAOlC;AAGD,eAAe,aAAa,CAAC;AAG7B,wBAAgB,cAAc,IAAI,aAAa,CAE9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACH,CAAC,EACD,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EAGvB,MAAM,eAAe,CAAC;AA6GvB;;GAEG;AACH,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK3B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;;;;;;;;;;;GAaG;AACH,qBAAa,aAAc,YAAW,gBAAgB,CAAC,iBAAiB,CAAC;IACrE,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,MAAM,CAA+B;IAE7C,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAUjC;IAEF,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIrB,kBAAkB;;;;;;;;;;IAIlB,gBAAgB;;;;;;;;;;IAIhB,kBAAkB,IAAI,eAAe;IAc/B,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BjD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAe/B,IAAI,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;IAmF9D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAOlC;AAGD,eAAe,aAAa,CAAC;AAG7B,wBAAgB,cAAc,IAAI,aAAa,CAE9C"}
package/dist/index.js CHANGED
@@ -5,7 +5,67 @@
5
5
  * Uses Nodemailer for email delivery.
6
6
  */
7
7
  import nodemailer from 'nodemailer';
8
- import { z, baseNotificationSchema, replaceVariables, isHtmlContent, } from '@simplens/sdk';
8
+ import { z, baseNotificationSchema, isHtmlContent, } from '@simplens/sdk';
9
+ /**
10
+ * Extracts base64 encoded images from HTML and converts them to CID attachments.
11
+ * This is necessary because most email clients block inline base64 images.
12
+ *
13
+ * @param html - The HTML content containing base64 images
14
+ * @returns Object with processed HTML (cid: references) and attachments array
15
+ */
16
+ function extractBase64Images(html) {
17
+ const attachments = [];
18
+ // Regex to match base64 image data URIs in img src attributes
19
+ // Matches: <img ... src="data:image/TYPE;base64,DATA" ...>
20
+ const base64ImageRegex = /<img([^>]*)\ssrc=["']data:(image\/(\w+));base64,([^"']+)["']([^>]*)>/gi;
21
+ let imageIndex = 0;
22
+ const processedHtml = html.replace(base64ImageRegex, (match, before, mimeType, extension, base64Data, after) => {
23
+ const cid = `embedded-image-${imageIndex}-${Date.now()}`;
24
+ const filename = `image-${imageIndex}.${extension}`;
25
+ attachments.push({
26
+ filename,
27
+ content: Buffer.from(base64Data, 'base64'),
28
+ cid,
29
+ contentType: mimeType,
30
+ });
31
+ imageIndex++;
32
+ return `<img${before} src="cid:${cid}"${after}>`;
33
+ });
34
+ return { html: processedHtml, attachments };
35
+ }
36
+ /**
37
+ * Replaces template variables in a string using multiple common patterns.
38
+ *
39
+ * Supported patterns:
40
+ * - {{variable}} - Handlebars/Mustache style
41
+ * - ${variable} - ES6 template literal style
42
+ * - {variable} - Simple brace style
43
+ * - $variable - Shell/PHP style (word characters only)
44
+ *
45
+ * @param template - The template string containing variables
46
+ * @param variables - Record of variable names to values
47
+ * @returns The template with all variables replaced
48
+ */
49
+ function replaceTemplateVariables(template, variables) {
50
+ let result = template;
51
+ // Define all supported patterns with their regex
52
+ // Order matters: more specific patterns first to avoid partial matches
53
+ const patterns = [
54
+ /\{\{(\w+)\}\}/g, // {{variable}}
55
+ /\$\{(\w+)\}/g, // ${variable}
56
+ /\{(\w+)\}/g, // {variable}
57
+ /\$(\w+)/g, // $variable
58
+ ];
59
+ for (const pattern of patterns) {
60
+ result = result.replace(pattern, (match, varName) => {
61
+ if (varName in variables) {
62
+ return String(variables[varName]);
63
+ }
64
+ return match; // Leave unmatched patterns as-is
65
+ });
66
+ }
67
+ return result;
68
+ }
9
69
  /**
10
70
  * Email recipient schema
11
71
  */
@@ -74,8 +134,9 @@ export class GmailProvider {
74
134
  const options = this.config?.options;
75
135
  const rateLimit = options?.rateLimit;
76
136
  return {
77
- maxTokens: rateLimit?.maxTokens || 100,
78
- refillRate: rateLimit?.refillRate || 10,
137
+ maxTokens: rateLimit?.maxTokens || 500, //default set to 500 emails / day for regular emails
138
+ refillRate: rateLimit?.refillRate || 500,
139
+ refillInterval: rateLimit?.refillInterval || 'day'
79
140
  };
80
141
  }
81
142
  async initialize(config) {
@@ -126,18 +187,32 @@ export class GmailProvider {
126
187
  }
127
188
  try {
128
189
  let message = notification.content.message;
129
- // Replace template variables
190
+ // Replace template variables using our custom multi-pattern replacer
130
191
  if (notification.variables) {
131
- message = replaceVariables(message, notification.variables);
192
+ message = replaceTemplateVariables(message, notification.variables);
132
193
  }
133
194
  // Detect if message is HTML
134
195
  const isHtml = isHtmlContent(message);
135
- const mailOptions = {
136
- from: this.fromEmail,
137
- to: notification.recipient.email,
138
- subject: notification.content.subject || 'Notification',
139
- ...(isHtml ? { html: message } : { text: message }),
140
- };
196
+ let mailOptions;
197
+ if (isHtml) {
198
+ // Extract base64 images and convert to CID attachments
199
+ const { html, attachments } = extractBase64Images(message);
200
+ mailOptions = {
201
+ from: this.fromEmail,
202
+ to: notification.recipient.email,
203
+ subject: notification.content.subject || 'Notification',
204
+ html,
205
+ attachments,
206
+ };
207
+ }
208
+ else {
209
+ mailOptions = {
210
+ from: this.fromEmail,
211
+ to: notification.recipient.email,
212
+ subject: notification.content.subject || 'Notification',
213
+ text: message,
214
+ };
215
+ }
141
216
  const info = await this.transporter.sendMail(mailOptions);
142
217
  console.log(`[GmailProvider] Email sent: ${info.messageId} to ${notification.recipient.email}`);
143
218
  return {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -18,13 +18,7 @@ vi.mock('@simplens/sdk', async () => {
18
18
  priority: z.enum(['high', 'normal', 'low']).optional(),
19
19
  variables: z.record(z.string(), z.unknown()).optional(),
20
20
  }),
21
- replaceVariables: vi.fn((message, variables) => {
22
- let result = message;
23
- for (const [key, value] of Object.entries(variables)) {
24
- result = result.replace(new RegExp(`{{${key}}}`, 'g'), String(value));
25
- }
26
- return result;
27
- }),
21
+ // Note: replaceVariables is no longer mocked as plugin uses its own replaceTemplateVariables
28
22
  isHtmlContent: vi.fn((content) => {
29
23
  return /<[^>]+>/.test(content);
30
24
  }),
@@ -126,8 +120,9 @@ describe('GmailProvider', () => {
126
120
  it('should return default rate limit config when not initialized', () => {
127
121
  const config = provider.getRateLimitConfig();
128
122
  expect(config).toEqual({
129
- maxTokens: 100,
130
- refillRate: 10,
123
+ maxTokens: 500,
124
+ refillRate: 500,
125
+ refillInterval: 'day',
131
126
  });
132
127
  });
133
128
  it('should return custom rate limit config from options', async () => {
@@ -148,6 +143,7 @@ describe('GmailProvider', () => {
148
143
  expect(config).toEqual({
149
144
  maxTokens: 200,
150
145
  refillRate: 20,
146
+ refillInterval: 'day',
151
147
  });
152
148
  });
153
149
  });
@@ -315,6 +311,7 @@ describe('GmailProvider', () => {
315
311
  to: 'recipient@example.com',
316
312
  subject: 'HTML Email',
317
313
  html: '<h1>Hello</h1><p>This is HTML content</p>',
314
+ attachments: [], // Now includes empty attachments array
318
315
  });
319
316
  });
320
317
  it('should use default subject when not provided', async () => {
@@ -483,4 +480,246 @@ describe('createProvider', () => {
483
480
  expect(provider).toBeInstanceOf(GmailProvider);
484
481
  });
485
482
  });
483
+ describe('Base64 Image Extraction', () => {
484
+ let provider;
485
+ let mockTransporter;
486
+ const createNotification = (overrides = {}) => ({
487
+ notification_id: 'notif-123',
488
+ request_id: crypto.randomUUID(),
489
+ client_id: crypto.randomUUID(),
490
+ channel: 'email',
491
+ recipient: {
492
+ user_id: 'user-456',
493
+ email: 'recipient@example.com',
494
+ },
495
+ webhook_url: 'https://example.com/webhook',
496
+ retry_count: 3,
497
+ content: {
498
+ subject: 'Test Subject',
499
+ message: 'Hello, this is a test message.',
500
+ },
501
+ created_at: new Date(),
502
+ ...overrides,
503
+ });
504
+ beforeEach(() => {
505
+ provider = new GmailProvider();
506
+ mockTransporter = {
507
+ verify: vi.fn(),
508
+ sendMail: vi.fn(),
509
+ close: vi.fn(),
510
+ };
511
+ vi.mocked(nodemailer.createTransport).mockReturnValue(mockTransporter);
512
+ vi.spyOn(console, 'log').mockImplementation(() => { });
513
+ vi.spyOn(console, 'error').mockImplementation(() => { });
514
+ });
515
+ afterEach(() => {
516
+ vi.clearAllMocks();
517
+ });
518
+ it('should extract base64 image and convert to CID attachment', async () => {
519
+ mockTransporter.sendMail.mockResolvedValue({
520
+ messageId: '<msg-id-img@gmail.com>',
521
+ });
522
+ await provider.initialize({
523
+ id: 'test',
524
+ credentials: {
525
+ EMAIL_USER: 'sender@gmail.com',
526
+ EMAIL_PASS: 'password123',
527
+ },
528
+ });
529
+ const base64Image = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==';
530
+ const notification = createNotification({
531
+ content: {
532
+ subject: 'Image Email',
533
+ message: `<html><body><img src="data:image/png;base64,${base64Image}" alt="test"/></body></html>`,
534
+ },
535
+ });
536
+ const result = await provider.send(notification);
537
+ expect(result.success).toBe(true);
538
+ expect(mockTransporter.sendMail).toHaveBeenCalledWith(expect.objectContaining({
539
+ html: expect.stringContaining('src="cid:'),
540
+ attachments: expect.arrayContaining([
541
+ expect.objectContaining({
542
+ filename: expect.stringMatching(/^image-0\.png$/),
543
+ cid: expect.stringMatching(/^embedded-image-0-/),
544
+ contentType: 'image/png',
545
+ }),
546
+ ]),
547
+ }));
548
+ });
549
+ it('should extract multiple base64 images', async () => {
550
+ mockTransporter.sendMail.mockResolvedValue({
551
+ messageId: '<msg-id-multi@gmail.com>',
552
+ });
553
+ await provider.initialize({
554
+ id: 'test',
555
+ credentials: {
556
+ EMAIL_USER: 'sender@gmail.com',
557
+ EMAIL_PASS: 'password123',
558
+ },
559
+ });
560
+ const base64Image = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==';
561
+ const notification = createNotification({
562
+ content: {
563
+ subject: 'Multiple Images',
564
+ message: `<html><body>
565
+ <img src="data:image/png;base64,${base64Image}" alt="first"/>
566
+ <img src="data:image/jpeg;base64,${base64Image}" alt="second"/>
567
+ </body></html>`,
568
+ },
569
+ });
570
+ const result = await provider.send(notification);
571
+ expect(result.success).toBe(true);
572
+ expect(mockTransporter.sendMail).toHaveBeenCalledWith(expect.objectContaining({
573
+ attachments: expect.arrayContaining([
574
+ expect.objectContaining({ filename: 'image-0.png' }),
575
+ expect.objectContaining({ filename: 'image-1.jpeg' }),
576
+ ]),
577
+ }));
578
+ });
579
+ it('should preserve external URL images', async () => {
580
+ mockTransporter.sendMail.mockResolvedValue({
581
+ messageId: '<msg-id-url@gmail.com>',
582
+ });
583
+ await provider.initialize({
584
+ id: 'test',
585
+ credentials: {
586
+ EMAIL_USER: 'sender@gmail.com',
587
+ EMAIL_PASS: 'password123',
588
+ },
589
+ });
590
+ const notification = createNotification({
591
+ content: {
592
+ subject: 'External Image',
593
+ message: '<html><body><img src="https://example.com/image.png" alt="external"/></body></html>',
594
+ },
595
+ });
596
+ const result = await provider.send(notification);
597
+ expect(result.success).toBe(true);
598
+ expect(mockTransporter.sendMail).toHaveBeenCalledWith(expect.objectContaining({
599
+ html: expect.stringContaining('src="https://example.com/image.png"'),
600
+ attachments: [],
601
+ }));
602
+ });
603
+ });
604
+ describe('Multi-Pattern Variable Replacement', () => {
605
+ let provider;
606
+ let mockTransporter;
607
+ const createNotification = (overrides = {}) => ({
608
+ notification_id: 'notif-123',
609
+ request_id: crypto.randomUUID(),
610
+ client_id: crypto.randomUUID(),
611
+ channel: 'email',
612
+ recipient: {
613
+ user_id: 'user-456',
614
+ email: 'recipient@example.com',
615
+ },
616
+ webhook_url: 'https://example.com/webhook',
617
+ retry_count: 3,
618
+ content: {
619
+ subject: 'Test Subject',
620
+ message: 'Hello, this is a test message.',
621
+ },
622
+ created_at: new Date(),
623
+ ...overrides,
624
+ });
625
+ beforeEach(() => {
626
+ provider = new GmailProvider();
627
+ mockTransporter = {
628
+ verify: vi.fn(),
629
+ sendMail: vi.fn(),
630
+ close: vi.fn(),
631
+ };
632
+ vi.mocked(nodemailer.createTransport).mockReturnValue(mockTransporter);
633
+ vi.spyOn(console, 'log').mockImplementation(() => { });
634
+ vi.spyOn(console, 'error').mockImplementation(() => { });
635
+ });
636
+ afterEach(() => {
637
+ vi.clearAllMocks();
638
+ });
639
+ it('should replace {{variable}} pattern', async () => {
640
+ mockTransporter.sendMail.mockResolvedValue({ messageId: '<msg@gmail.com>' });
641
+ await provider.initialize({
642
+ id: 'test',
643
+ credentials: { EMAIL_USER: 'test@gmail.com', EMAIL_PASS: 'pass' },
644
+ });
645
+ const notification = createNotification({
646
+ content: { subject: 'Test', message: 'Hello {{name}}!' },
647
+ variables: { name: 'Alice' },
648
+ });
649
+ await provider.send(notification);
650
+ expect(mockTransporter.sendMail).toHaveBeenCalledWith(expect.objectContaining({ text: 'Hello Alice!' }));
651
+ });
652
+ it('should replace ${variable} pattern', async () => {
653
+ mockTransporter.sendMail.mockResolvedValue({ messageId: '<msg@gmail.com>' });
654
+ await provider.initialize({
655
+ id: 'test',
656
+ credentials: { EMAIL_USER: 'test@gmail.com', EMAIL_PASS: 'pass' },
657
+ });
658
+ const notification = createNotification({
659
+ content: { subject: 'Test', message: 'Hello ${name}!' },
660
+ variables: { name: 'Bob' },
661
+ });
662
+ await provider.send(notification);
663
+ expect(mockTransporter.sendMail).toHaveBeenCalledWith(expect.objectContaining({ text: 'Hello Bob!' }));
664
+ });
665
+ it('should replace {variable} pattern', async () => {
666
+ mockTransporter.sendMail.mockResolvedValue({ messageId: '<msg@gmail.com>' });
667
+ await provider.initialize({
668
+ id: 'test',
669
+ credentials: { EMAIL_USER: 'test@gmail.com', EMAIL_PASS: 'pass' },
670
+ });
671
+ const notification = createNotification({
672
+ content: { subject: 'Test', message: 'Hello {name}!' },
673
+ variables: { name: 'Carol' },
674
+ });
675
+ await provider.send(notification);
676
+ expect(mockTransporter.sendMail).toHaveBeenCalledWith(expect.objectContaining({ text: 'Hello Carol!' }));
677
+ });
678
+ it('should replace $variable pattern', async () => {
679
+ mockTransporter.sendMail.mockResolvedValue({ messageId: '<msg@gmail.com>' });
680
+ await provider.initialize({
681
+ id: 'test',
682
+ credentials: { EMAIL_USER: 'test@gmail.com', EMAIL_PASS: 'pass' },
683
+ });
684
+ const notification = createNotification({
685
+ content: { subject: 'Test', message: 'Hello $name!' },
686
+ variables: { name: 'Dave' },
687
+ });
688
+ await provider.send(notification);
689
+ expect(mockTransporter.sendMail).toHaveBeenCalledWith(expect.objectContaining({ text: 'Hello Dave!' }));
690
+ });
691
+ it('should handle mixed patterns in same template', async () => {
692
+ mockTransporter.sendMail.mockResolvedValue({ messageId: '<msg@gmail.com>' });
693
+ await provider.initialize({
694
+ id: 'test',
695
+ credentials: { EMAIL_USER: 'test@gmail.com', EMAIL_PASS: 'pass' },
696
+ });
697
+ const notification = createNotification({
698
+ content: {
699
+ subject: 'Test',
700
+ message: 'Hi {{name}}, your order ${orderId} with {items} items costs $total.',
701
+ },
702
+ variables: { name: 'Eve', orderId: '12345', items: '3', total: '99' },
703
+ });
704
+ await provider.send(notification);
705
+ expect(mockTransporter.sendMail).toHaveBeenCalledWith(expect.objectContaining({
706
+ text: 'Hi Eve, your order 12345 with 3 items costs 99.',
707
+ }));
708
+ });
709
+ it('should leave unmatched patterns unchanged', async () => {
710
+ mockTransporter.sendMail.mockResolvedValue({ messageId: '<msg@gmail.com>' });
711
+ await provider.initialize({
712
+ id: 'test',
713
+ credentials: { EMAIL_USER: 'test@gmail.com', EMAIL_PASS: 'pass' },
714
+ });
715
+ const notification = createNotification({
716
+ content: { subject: 'Test', message: 'Hello {{name}}, value is {{unknown}}.' },
717
+ variables: { name: 'Frank' },
718
+ });
719
+ await provider.send(notification);
720
+ expect(mockTransporter.sendMail).toHaveBeenCalledWith(expect.objectContaining({
721
+ text: 'Hello Frank, value is {{unknown}}.',
722
+ }));
723
+ });
724
+ });
486
725
  //# sourceMappingURL=index.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,cAAc,EAA0B,MAAM,YAAY,CAAC;AAGnF,kBAAkB;AAClB,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IACzB,OAAO,EAAE;QACL,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;KAC3B;CACJ,CAAC,CAAC,CAAC;AAEJ,qBAAqB;AACrB,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;IAChC,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO;QACH,CAAC;QACD,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC;YAC7B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;YAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;YACtD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;SAC1D,CAAC;QACF,6FAA6F;QAC7F,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,OAAe,EAAE,EAAE;YACrC,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC,CAAC;KACL,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,IAAI,QAAuB,CAAC;IAC5B,IAAI,eAIH,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACZ,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAC/B,eAAe,GAAG;YACd,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;YACf,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;YACjB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;SACjB,CAAC;QACF,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,eAAsB,CAAC,CAAC;QAE9E,0CAA0C;QAC1C,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACvD,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,EAAE,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YAC/C,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBAC9B,IAAI,EAAE,kCAAkC;gBACxC,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,oBAAoB;gBACjC,WAAW,EAAE,6CAA6C;gBAC1D,MAAM,EAAE,kBAAkB;gBAC1B,QAAQ,EAAE,qEAAqE;gBAC/E,mBAAmB,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;gBACjD,cAAc,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;aAC7D,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC5B,OAAO,EAAE,SAAS;gBAClB,KAAK,EAAE,kBAAkB;aAC5B,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC5B,OAAO,EAAE,SAAS;gBAClB,KAAK,EAAE,eAAe;aACzB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC5B,OAAO,EAAE,cAAc;gBACvB,OAAO,EAAE,cAAc;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC5B,OAAO,EAAE,cAAc;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC5B,OAAO,EAAE,cAAc;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;gBACf,cAAc,EAAE,KAAK;aACxB,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACtB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,gBAAgB;oBAC5B,UAAU,EAAE,aAAa;iBAC5B;gBACD,OAAO,EAAE;oBACL,SAAS,EAAE;wBACP,SAAS,EAAE,GAAG;wBACd,UAAU,EAAE,EAAE;qBACjB;iBACJ;aACJ,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,EAAE;gBACd,cAAc,EAAE,KAAK;aACxB,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACtB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,gBAAgB;oBAC5B,UAAU,EAAE,aAAa;iBAC5B;aACJ,CAAC,CAAC;YAEH,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC;gBACpD,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,GAAG;gBACT,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE;gBACrD,iBAAiB,EAAE,KAAK;gBACxB,eAAe,EAAE,KAAK;gBACtB,aAAa,EAAE,KAAK;aACvB,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACtB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,kBAAkB;oBAC9B,UAAU,EAAE,aAAa;iBAC5B;gBACD,OAAO,EAAE;oBACL,UAAU,EAAE,kBAAkB;oBAC9B,UAAU,EAAE,KAAK;iBACpB;aACJ,CAAC,CAAC;YAEH,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC;gBACpD,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,GAAG;gBACT,MAAM,EAAE,IAAI,EAAE,4BAA4B;gBAC1C,IAAI,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE;gBACvD,iBAAiB,EAAE,KAAK;gBACxB,eAAe,EAAE,KAAK;gBACtB,aAAa,EAAE,KAAK;aACvB,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,MAAM,CACR,QAAQ,CAAC,UAAU,CAAC;gBAChB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,aAAa;iBAC5B;aACJ,CAAC,CACL,CAAC,OAAO,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,MAAM,CACR,QAAQ,CAAC,UAAU,CAAC;gBAChB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,gBAAgB;iBAC/B;aACJ,CAAC,CACL,CAAC,OAAO,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACvE,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAE/C,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACtB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,gBAAgB;oBAC5B,UAAU,EAAE,aAAa;iBAC5B;aACJ,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACrE,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAEzE,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACtB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,gBAAgB;oBAC5B,UAAU,EAAE,aAAa;iBAC5B;aACJ,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QAClB,MAAM,kBAAkB,GAAG,CAAC,YAAwC,EAAE,EAAqB,EAAE,CAAC,CAAC;YAC3F,eAAe,EAAE,WAAW;YAC5B,UAAU,EAAE,MAAM,CAAC,UAAU,EAAU;YACvC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAU;YACtC,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE;gBACP,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE,uBAAuB;aACjC;YACD,WAAW,EAAE,6BAA6B;YAC1C,WAAW,EAAE,CAAC;YACd,OAAO,EAAE;gBACL,OAAO,EAAE,cAAc;gBACvB,OAAO,EAAE,gCAAgC;aAC5C;YACD,UAAU,EAAE,IAAI,IAAI,EAAE;YACtB,GAAG,SAAS;SACf,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;gBACzB,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,6BAA6B;gBACtC,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC5D,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACvC,SAAS,EAAE,wBAAwB;aACtC,CAAC,CAAC;YAEH,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACtB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,kBAAkB;oBAC9B,UAAU,EAAE,aAAa;iBAC5B;aACJ,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACxD,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC;gBAClD,IAAI,EAAE,kBAAkB;gBACxB,EAAE,EAAE,uBAAuB;gBAC3B,OAAO,EAAE,cAAc;gBACvB,IAAI,EAAE,gCAAgC;aACzC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACjD,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACvC,SAAS,EAAE,wBAAwB;aACtC,CAAC,CAAC;YAEH,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACtB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,kBAAkB;oBAC9B,UAAU,EAAE,aAAa;iBAC5B;aACJ,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,kBAAkB,CAAC;gBACpC,OAAO,EAAE;oBACL,OAAO,EAAE,YAAY;oBACrB,OAAO,EAAE,2CAA2C;iBACvD;aACJ,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC;gBAClD,IAAI,EAAE,kBAAkB;gBACxB,EAAE,EAAE,uBAAuB;gBAC3B,OAAO,EAAE,YAAY;gBACrB,IAAI,EAAE,2CAA2C;gBACjD,WAAW,EAAE,EAAE,EAAG,uCAAuC;aAC5D,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC1D,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACvC,SAAS,EAAE,wBAAwB;aACtC,CAAC,CAAC;YAEH,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACtB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,kBAAkB;oBAC9B,UAAU,EAAE,aAAa;iBAC5B;aACJ,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,kBAAkB,CAAC;gBACpC,OAAO,EAAE;oBACL,OAAO,EAAE,yBAAyB;iBACrC;aACJ,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACjD,MAAM,CAAC,gBAAgB,CAAC;gBACpB,OAAO,EAAE,cAAc;aAC1B,CAAC,CACL,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YAC/C,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACvC,SAAS,EAAE,wBAAwB;aACtC,CAAC,CAAC;YAEH,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACtB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,kBAAkB;oBAC9B,UAAU,EAAE,aAAa;iBAC5B;aACJ,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,kBAAkB,CAAC;gBACpC,OAAO,EAAE;oBACL,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE,sDAAsD;iBAClE;gBACD,SAAS,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,OAAO;iBACnB;aACJ,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACjD,MAAM,CAAC,gBAAgB,CAAC;gBACpB,IAAI,EAAE,4CAA4C;aACrD,CAAC,CACL,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC5C,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACvC,SAAS,EAAE,yBAAyB;aACvC,CAAC,CAAC;YAEH,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACtB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,kBAAkB;oBAC9B,UAAU,EAAE,aAAa;oBACzB,UAAU,EAAE,uBAAuB;iBACtC;aACJ,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACjD,MAAM,CAAC,gBAAgB,CAAC;gBACpB,IAAI,EAAE,uBAAuB;aAChC,CAAC,CACL,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACjE,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAE5E,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACtB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,kBAAkB;oBAC9B,UAAU,EAAE,aAAa;iBAC5B;aACJ,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;gBACzB,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,oBAAoB;gBAC7B,SAAS,EAAE,IAAI;aAClB,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC1E,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;YAEnF,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACtB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,kBAAkB;oBAC9B,UAAU,EAAE,gBAAgB;iBAC/B;aACJ,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YACzE,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;YAE/E,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACtB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,kBAAkB;oBAC9B,UAAU,EAAE,aAAa;iBAC5B;aACJ,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAC9C,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAE3D,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACtB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,kBAAkB;oBAC9B,UAAU,EAAE,aAAa;iBAC5B;aACJ,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACtB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,gBAAgB;oBAC5B,UAAU,EAAE,aAAa;iBAC5B;aACJ,CAAC,CAAC;YAEH,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAE1B,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACtB,EAAE,EAAE,MAAM;gBACV,WAAW,EAAE;oBACT,UAAU,EAAE,gBAAgB;oBAC5B,UAAU,EAAE,aAAa;iBAC5B;aACJ,CAAC,CAAC;YAEH,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAE1B,mEAAmE;YACnE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACrC,IAAI,QAAuB,CAAC;IAC5B,IAAI,eAIH,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,YAAwC,EAAE,EAAqB,EAAE,CAAC,CAAC;QAC3F,eAAe,EAAE,WAAW;QAC5B,UAAU,EAAE,MAAM,CAAC,UAAU,EAAS;QACtC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAS;QACrC,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE;YACP,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,uBAAuB;SACjC;QACD,WAAW,EAAE,6BAA6B;QAC1C,WAAW,EAAE,CAAC;QACd,OAAO,EAAE;YACL,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE,gCAAgC;SAC5C;QACD,UAAU,EAAE,IAAI,IAAI,EAAE;QACtB,GAAG,SAAS;KACf,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACZ,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAC/B,eAAe,GAAG;YACd,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;YACf,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;YACjB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;SACjB,CAAC;QACF,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,eAAsB,CAAC,CAAC;QAC9E,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACvD,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,EAAE,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACvE,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACvC,SAAS,EAAE,wBAAwB;SACtC,CAAC,CAAC;QAEH,MAAM,QAAQ,CAAC,UAAU,CAAC;YACtB,EAAE,EAAE,MAAM;YACV,WAAW,EAAE;gBACT,UAAU,EAAE,kBAAkB;gBAC9B,UAAU,EAAE,aAAa;aAC5B;SACJ,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,kGAAkG,CAAC;QACvH,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACpC,OAAO,EAAE;gBACL,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,+CAA+C,WAAW,8BAA8B;aACpG;SACJ,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACjD,MAAM,CAAC,gBAAgB,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC;YAC1C,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC;gBAChC,MAAM,CAAC,gBAAgB,CAAC;oBACpB,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC;oBACjD,GAAG,EAAE,MAAM,CAAC,cAAc,CAAC,oBAAoB,CAAC;oBAChD,WAAW,EAAE,WAAW;iBAC3B,CAAC;aACL,CAAC;SACL,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACnD,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACvC,SAAS,EAAE,0BAA0B;SACxC,CAAC,CAAC;QAEH,MAAM,QAAQ,CAAC,UAAU,CAAC;YACtB,EAAE,EAAE,MAAM;YACV,WAAW,EAAE;gBACT,UAAU,EAAE,kBAAkB;gBAC9B,UAAU,EAAE,aAAa;aAC5B;SACJ,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,kGAAkG,CAAC;QACvH,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACpC,OAAO,EAAE;gBACL,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE;sDAC6B,WAAW;uDACV,WAAW;+BACnC;aAClB;SACJ,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACjD,MAAM,CAAC,gBAAgB,CAAC;YACpB,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC;gBAChC,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;gBACpD,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;aACxD,CAAC;SACL,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACjD,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACvC,SAAS,EAAE,wBAAwB;SACtC,CAAC,CAAC;QAEH,MAAM,QAAQ,CAAC,UAAU,CAAC;YACtB,EAAE,EAAE,MAAM;YACV,WAAW,EAAE;gBACT,UAAU,EAAE,kBAAkB;gBAC9B,UAAU,EAAE,aAAa;aAC5B;SACJ,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACpC,OAAO,EAAE;gBACL,OAAO,EAAE,gBAAgB;gBACzB,OAAO,EAAE,qFAAqF;aACjG;SACJ,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACjD,MAAM,CAAC,gBAAgB,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,qCAAqC,CAAC;YACpE,WAAW,EAAE,EAAE;SAClB,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAChD,IAAI,QAAuB,CAAC;IAC5B,IAAI,eAIH,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,YAAwC,EAAE,EAAqB,EAAE,CAAC,CAAC;QAC3F,eAAe,EAAE,WAAW;QAC5B,UAAU,EAAE,MAAM,CAAC,UAAU,EAAS;QACtC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAS;QACrC,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE;YACP,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,uBAAuB;SACjC;QACD,WAAW,EAAE,6BAA6B;QAC1C,WAAW,EAAE,CAAC;QACd,OAAO,EAAE;YACL,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE,gCAAgC;SAC5C;QACD,UAAU,EAAE,IAAI,IAAI,EAAE;QACtB,GAAG,SAAS;KACf,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACZ,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAC/B,eAAe,GAAG;YACd,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;YACf,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;YACjB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;SACjB,CAAC;QACF,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,eAAsB,CAAC,CAAC;QAC9E,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACvD,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,EAAE,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACjD,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAE7E,MAAM,QAAQ,CAAC,UAAU,CAAC;YACtB,EAAE,EAAE,MAAM;YACV,WAAW,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE;SACpE,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACpC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE;YACxD,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAElC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACjD,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CACpD,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAChD,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAE7E,MAAM,QAAQ,CAAC,UAAU,CAAC;YACtB,EAAE,EAAE,MAAM;YACV,WAAW,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE;SACpE,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACpC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE;YACvD,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SAC7B,CAAC,CAAC;QAEH,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAElC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACjD,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAClD,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QAC/C,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAE7E,MAAM,QAAQ,CAAC,UAAU,CAAC;YACtB,EAAE,EAAE,MAAM;YACV,WAAW,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE;SACpE,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACpC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE;YACtD,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAElC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACjD,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CACpD,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAC9C,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAE7E,MAAM,QAAQ,CAAC,UAAU,CAAC;YACtB,EAAE,EAAE,MAAM;YACV,WAAW,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE;SACpE,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACpC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE;YACrD,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC9B,CAAC,CAAC;QAEH,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAElC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACjD,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CACnD,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC3D,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAE7E,MAAM,QAAQ,CAAC,UAAU,CAAC;YACtB,EAAE,EAAE,MAAM;YACV,WAAW,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE;SACpE,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACpC,OAAO,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,qEAAqE;aACjF;YACD,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE;SACxE,CAAC,CAAC;QAEH,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAElC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACjD,MAAM,CAAC,gBAAgB,CAAC;YACpB,IAAI,EAAE,iDAAiD;SAC1D,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACvD,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAE7E,MAAM,QAAQ,CAAC,UAAU,CAAC;YACtB,EAAE,EAAE,MAAM;YACV,WAAW,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE;SACpE,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACpC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,uCAAuC,EAAE;YAC9E,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAElC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACjD,MAAM,CAAC,gBAAgB,CAAC;YACpB,IAAI,EAAE,oCAAoC;SAC7C,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplens/nodemailer-gmail",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "description": "Gmail/SMTP email provider plugin for SimpleNS using Nodemailer",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -17,6 +17,7 @@
17
17
  "test": "vitest run",
18
18
  "test:watch": "vitest",
19
19
  "test:coverage": "vitest run --coverage",
20
+ "test:send": "tsx scripts/test-send.ts",
20
21
  "prepublishOnly": "npm run build"
21
22
  },
22
23
  "keywords": [
@@ -30,11 +31,13 @@
30
31
  "author": "SimpleNS Team",
31
32
  "license": "MIT",
32
33
  "dependencies": {
33
- "@simplens/sdk": "^1.0.4",
34
+ "@simplens/sdk": "^1.0.5",
34
35
  "nodemailer": "^6.9.0"
35
36
  },
36
37
  "devDependencies": {
37
38
  "@types/nodemailer": "^6.4.0",
39
+ "dotenv": "^17.2.3",
40
+ "tsx": "^4.21.0",
38
41
  "typescript": "^5.0.0",
39
42
  "vitest": "^4.0.16"
40
43
  },