@fin.cx/skr 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist_ts/index.d.ts +10 -0
  2. package/dist_ts/index.js +11 -0
  3. package/dist_ts/plugins.d.ts +5 -0
  4. package/dist_ts/plugins.js +7 -0
  5. package/dist_ts/skr.api.d.ts +181 -0
  6. package/dist_ts/skr.api.js +402 -0
  7. package/dist_ts/skr.classes.account.d.ts +34 -0
  8. package/dist_ts/skr.classes.account.js +224 -0
  9. package/dist_ts/skr.classes.chartofaccounts.d.ts +99 -0
  10. package/dist_ts/skr.classes.chartofaccounts.js +377 -0
  11. package/dist_ts/skr.classes.journalentry.d.ts +33 -0
  12. package/dist_ts/skr.classes.journalentry.js +296 -0
  13. package/dist_ts/skr.classes.ledger.d.ts +61 -0
  14. package/dist_ts/skr.classes.ledger.js +363 -0
  15. package/dist_ts/skr.classes.reports.d.ts +55 -0
  16. package/dist_ts/skr.classes.reports.js +514 -0
  17. package/dist_ts/skr.classes.transaction.d.ts +37 -0
  18. package/dist_ts/skr.classes.transaction.js +263 -0
  19. package/dist_ts/skr.database.d.ts +5 -0
  20. package/dist_ts/skr.database.js +28 -0
  21. package/dist_ts/skr.types.d.ts +126 -0
  22. package/dist_ts/skr.types.js +2 -0
  23. package/dist_ts/skr03.data.d.ts +18 -0
  24. package/dist_ts/skr03.data.js +890 -0
  25. package/dist_ts/skr04.data.d.ts +18 -0
  26. package/dist_ts/skr04.data.js +912 -0
  27. package/npmextra.json +17 -0
  28. package/package.json +61 -0
  29. package/readme.hints.md +3 -0
  30. package/readme.md +409 -0
  31. package/readme.plan.md +243 -0
  32. package/ts/index.ts +10 -0
  33. package/ts/plugins.ts +7 -0
  34. package/ts/skr.api.ts +533 -0
  35. package/ts/skr.classes.account.ts +238 -0
  36. package/ts/skr.classes.chartofaccounts.ts +508 -0
  37. package/ts/skr.classes.journalentry.ts +318 -0
  38. package/ts/skr.classes.ledger.ts +528 -0
  39. package/ts/skr.classes.reports.ts +721 -0
  40. package/ts/skr.classes.transaction.ts +300 -0
  41. package/ts/skr.database.ts +39 -0
  42. package/ts/skr.types.ts +154 -0
  43. package/ts/skr03.data.ts +901 -0
  44. package/ts/skr04.data.ts +923 -0
@@ -0,0 +1,912 @@
1
+ /**
2
+ * SKR04 - Financial Classification Principle (Abschlussgliederungsprinzip)
3
+ * Organized by financial statement structure
4
+ */
5
+ export const SKR04_ACCOUNTS = [
6
+ // Class 0: Capital Accounts (Anlagekonten)
7
+ {
8
+ accountNumber: '0001',
9
+ accountName: 'Aufwendungen für Ingangsetzung',
10
+ accountClass: 0,
11
+ accountType: 'asset',
12
+ skrType: 'SKR04',
13
+ description: 'Start-up expenses',
14
+ },
15
+ {
16
+ accountNumber: '0010',
17
+ accountName: 'Konzessionen',
18
+ accountClass: 0,
19
+ accountType: 'asset',
20
+ skrType: 'SKR04',
21
+ description: 'Concessions',
22
+ },
23
+ {
24
+ accountNumber: '0020',
25
+ accountName: 'Patente',
26
+ accountClass: 0,
27
+ accountType: 'asset',
28
+ skrType: 'SKR04',
29
+ description: 'Patents',
30
+ },
31
+ {
32
+ accountNumber: '0030',
33
+ accountName: 'Lizenzen',
34
+ accountClass: 0,
35
+ accountType: 'asset',
36
+ skrType: 'SKR04',
37
+ description: 'Licenses',
38
+ },
39
+ {
40
+ accountNumber: '0050',
41
+ accountName: 'Firmenwert',
42
+ accountClass: 0,
43
+ accountType: 'asset',
44
+ skrType: 'SKR04',
45
+ description: 'Goodwill',
46
+ },
47
+ {
48
+ accountNumber: '0100',
49
+ accountName: 'EDV-Software',
50
+ accountClass: 0,
51
+ accountType: 'asset',
52
+ skrType: 'SKR04',
53
+ description: 'IT Software',
54
+ },
55
+ {
56
+ accountNumber: '0200',
57
+ accountName: 'Grundstücke',
58
+ accountClass: 0,
59
+ accountType: 'asset',
60
+ skrType: 'SKR04',
61
+ description: 'Land and property',
62
+ },
63
+ {
64
+ accountNumber: '0210',
65
+ accountName: 'Gebäude',
66
+ accountClass: 0,
67
+ accountType: 'asset',
68
+ skrType: 'SKR04',
69
+ description: 'Buildings',
70
+ },
71
+ {
72
+ accountNumber: '0300',
73
+ accountName: 'Maschinen',
74
+ accountClass: 0,
75
+ accountType: 'asset',
76
+ skrType: 'SKR04',
77
+ description: 'Machinery',
78
+ },
79
+ {
80
+ accountNumber: '0400',
81
+ accountName: 'Fuhrpark',
82
+ accountClass: 0,
83
+ accountType: 'asset',
84
+ skrType: 'SKR04',
85
+ description: 'Vehicles',
86
+ },
87
+ {
88
+ accountNumber: '0500',
89
+ accountName: 'Betriebs- und Geschäftsausstattung',
90
+ accountClass: 0,
91
+ accountType: 'asset',
92
+ skrType: 'SKR04',
93
+ description: 'Office equipment',
94
+ },
95
+ {
96
+ accountNumber: '0600',
97
+ accountName: 'Geleistete Anzahlungen',
98
+ accountClass: 0,
99
+ accountType: 'asset',
100
+ skrType: 'SKR04',
101
+ description: 'Prepayments on fixed assets',
102
+ },
103
+ {
104
+ accountNumber: '0800',
105
+ accountName: 'Finanzanlagen',
106
+ accountClass: 0,
107
+ accountType: 'asset',
108
+ skrType: 'SKR04',
109
+ description: 'Financial assets',
110
+ },
111
+ // Class 1: Financial and Current Assets (Finanz- und Umlaufvermögen)
112
+ {
113
+ accountNumber: '1000',
114
+ accountName: 'Kasse',
115
+ accountClass: 1,
116
+ accountType: 'asset',
117
+ skrType: 'SKR04',
118
+ description: 'Cash on hand',
119
+ },
120
+ {
121
+ accountNumber: '1100',
122
+ accountName: 'Postbank',
123
+ accountClass: 1,
124
+ accountType: 'asset',
125
+ skrType: 'SKR04',
126
+ description: 'Postal bank account',
127
+ },
128
+ {
129
+ accountNumber: '1200',
130
+ accountName: 'Bank',
131
+ accountClass: 1,
132
+ accountType: 'asset',
133
+ skrType: 'SKR04',
134
+ description: 'Bank account',
135
+ },
136
+ {
137
+ accountNumber: '1210',
138
+ accountName: 'Sparkasse',
139
+ accountClass: 1,
140
+ accountType: 'asset',
141
+ skrType: 'SKR04',
142
+ description: 'Savings bank',
143
+ },
144
+ {
145
+ accountNumber: '1300',
146
+ accountName: 'Wertpapiere',
147
+ accountClass: 1,
148
+ accountType: 'asset',
149
+ skrType: 'SKR04',
150
+ description: 'Securities',
151
+ },
152
+ {
153
+ accountNumber: '1400',
154
+ accountName: 'Forderungen aus Lieferungen und Leistungen',
155
+ accountClass: 1,
156
+ accountType: 'asset',
157
+ skrType: 'SKR04',
158
+ description: 'Trade receivables',
159
+ },
160
+ {
161
+ accountNumber: '1500',
162
+ accountName: 'Sonstige Vermögensgegenstände',
163
+ accountClass: 1,
164
+ accountType: 'asset',
165
+ skrType: 'SKR04',
166
+ description: 'Other assets',
167
+ },
168
+ {
169
+ accountNumber: '1520',
170
+ accountName: 'Abziehbare Vorsteuer',
171
+ accountClass: 1,
172
+ accountType: 'asset',
173
+ skrType: 'SKR04',
174
+ description: 'Input VAT',
175
+ },
176
+ {
177
+ accountNumber: '1570',
178
+ accountName: 'Vorsteuer 7%',
179
+ accountClass: 1,
180
+ accountType: 'asset',
181
+ skrType: 'SKR04',
182
+ description: 'Input VAT 7%',
183
+ },
184
+ {
185
+ accountNumber: '1571',
186
+ accountName: 'Vorsteuer 19%',
187
+ accountClass: 1,
188
+ accountType: 'asset',
189
+ skrType: 'SKR04',
190
+ description: 'Input VAT 19%',
191
+ },
192
+ {
193
+ accountNumber: '1600',
194
+ accountName: 'Verbindlichkeiten aus Lieferungen und Leistungen',
195
+ accountClass: 1,
196
+ accountType: 'liability',
197
+ skrType: 'SKR04',
198
+ description: 'Trade payables',
199
+ },
200
+ {
201
+ accountNumber: '1700',
202
+ accountName: 'Sonstige Verbindlichkeiten',
203
+ accountClass: 1,
204
+ accountType: 'liability',
205
+ skrType: 'SKR04',
206
+ description: 'Other liabilities',
207
+ },
208
+ {
209
+ accountNumber: '1770',
210
+ accountName: 'Umsatzsteuer 7%',
211
+ accountClass: 1,
212
+ accountType: 'liability',
213
+ skrType: 'SKR04',
214
+ description: 'VAT payable 7%',
215
+ },
216
+ {
217
+ accountNumber: '1771',
218
+ accountName: 'Umsatzsteuer 19%',
219
+ accountClass: 1,
220
+ accountType: 'liability',
221
+ skrType: 'SKR04',
222
+ description: 'VAT payable 19%',
223
+ },
224
+ {
225
+ accountNumber: '1800',
226
+ accountName: 'Privatentnahmen',
227
+ accountClass: 1,
228
+ accountType: 'equity',
229
+ skrType: 'SKR04',
230
+ description: 'Private withdrawals',
231
+ },
232
+ {
233
+ accountNumber: '1810',
234
+ accountName: 'Privateinlagen',
235
+ accountClass: 1,
236
+ accountType: 'equity',
237
+ skrType: 'SKR04',
238
+ description: 'Private deposits',
239
+ },
240
+ {
241
+ accountNumber: '1900',
242
+ accountName: 'Verrechnungskonto',
243
+ accountClass: 1,
244
+ accountType: 'asset',
245
+ skrType: 'SKR04',
246
+ description: 'Clearing account',
247
+ },
248
+ // Class 2: Expenses (Aufwendungen) - Part 1
249
+ {
250
+ accountNumber: '2000',
251
+ accountName: 'Roh-, Hilfs- und Betriebsstoffe',
252
+ accountClass: 2,
253
+ accountType: 'expense',
254
+ skrType: 'SKR04',
255
+ description: 'Raw materials and supplies',
256
+ },
257
+ {
258
+ accountNumber: '2100',
259
+ accountName: 'Bezogene Waren',
260
+ accountClass: 2,
261
+ accountType: 'expense',
262
+ skrType: 'SKR04',
263
+ description: 'Purchased goods',
264
+ },
265
+ {
266
+ accountNumber: '2200',
267
+ accountName: 'Bezogene Leistungen',
268
+ accountClass: 2,
269
+ accountType: 'expense',
270
+ skrType: 'SKR04',
271
+ description: 'Purchased services',
272
+ },
273
+ {
274
+ accountNumber: '2300',
275
+ accountName: 'Löhne',
276
+ accountClass: 2,
277
+ accountType: 'expense',
278
+ skrType: 'SKR04',
279
+ description: 'Wages',
280
+ },
281
+ {
282
+ accountNumber: '2400',
283
+ accountName: 'Gehälter',
284
+ accountClass: 2,
285
+ accountType: 'expense',
286
+ skrType: 'SKR04',
287
+ description: 'Salaries',
288
+ },
289
+ {
290
+ accountNumber: '2500',
291
+ accountName: 'Soziale Abgaben',
292
+ accountClass: 2,
293
+ accountType: 'expense',
294
+ skrType: 'SKR04',
295
+ description: 'Social security contributions',
296
+ },
297
+ {
298
+ accountNumber: '2600',
299
+ accountName: 'Aufwendungen für Altersversorgung',
300
+ accountClass: 2,
301
+ accountType: 'expense',
302
+ skrType: 'SKR04',
303
+ description: 'Pension expenses',
304
+ },
305
+ {
306
+ accountNumber: '2700',
307
+ accountName: 'Abschreibungen auf immaterielle Vermögensgegenstände',
308
+ accountClass: 2,
309
+ accountType: 'expense',
310
+ skrType: 'SKR04',
311
+ description: 'Depreciation on intangible assets',
312
+ },
313
+ {
314
+ accountNumber: '2800',
315
+ accountName: 'Abschreibungen auf Sachanlagen',
316
+ accountClass: 2,
317
+ accountType: 'expense',
318
+ skrType: 'SKR04',
319
+ description: 'Depreciation on fixed assets',
320
+ },
321
+ {
322
+ accountNumber: '2900',
323
+ accountName: 'Abschreibungen auf Finanzanlagen',
324
+ accountClass: 2,
325
+ accountType: 'expense',
326
+ skrType: 'SKR04',
327
+ description: 'Depreciation on financial assets',
328
+ },
329
+ // Class 3: Expenses (Aufwendungen) - Part 2
330
+ {
331
+ accountNumber: '3000',
332
+ accountName: 'Raumkosten',
333
+ accountClass: 3,
334
+ accountType: 'expense',
335
+ skrType: 'SKR04',
336
+ description: 'Rent and lease',
337
+ },
338
+ {
339
+ accountNumber: '3100',
340
+ accountName: 'Sonstige Raumkosten',
341
+ accountClass: 3,
342
+ accountType: 'expense',
343
+ skrType: 'SKR04',
344
+ description: 'Other occupancy costs',
345
+ },
346
+ {
347
+ accountNumber: '3200',
348
+ accountName: 'Instandhaltung',
349
+ accountClass: 3,
350
+ accountType: 'expense',
351
+ skrType: 'SKR04',
352
+ description: 'Maintenance',
353
+ },
354
+ {
355
+ accountNumber: '3300',
356
+ accountName: 'Fahrzeugkosten',
357
+ accountClass: 3,
358
+ accountType: 'expense',
359
+ skrType: 'SKR04',
360
+ description: 'Vehicle expenses',
361
+ },
362
+ {
363
+ accountNumber: '3400',
364
+ accountName: 'Werbe- und Reisekosten',
365
+ accountClass: 3,
366
+ accountType: 'expense',
367
+ skrType: 'SKR04',
368
+ description: 'Marketing and travel',
369
+ },
370
+ {
371
+ accountNumber: '3500',
372
+ accountName: 'Bewirtungskosten',
373
+ accountClass: 3,
374
+ accountType: 'expense',
375
+ skrType: 'SKR04',
376
+ description: 'Entertainment expenses',
377
+ },
378
+ {
379
+ accountNumber: '3600',
380
+ accountName: 'Versicherungen',
381
+ accountClass: 3,
382
+ accountType: 'expense',
383
+ skrType: 'SKR04',
384
+ description: 'Insurance',
385
+ },
386
+ {
387
+ accountNumber: '3700',
388
+ accountName: 'Beiträge und Gebühren',
389
+ accountClass: 3,
390
+ accountType: 'expense',
391
+ skrType: 'SKR04',
392
+ description: 'Fees and subscriptions',
393
+ },
394
+ {
395
+ accountNumber: '3800',
396
+ accountName: 'Büromaterial',
397
+ accountClass: 3,
398
+ accountType: 'expense',
399
+ skrType: 'SKR04',
400
+ description: 'Office supplies',
401
+ },
402
+ {
403
+ accountNumber: '3900',
404
+ accountName: 'Sonstige Aufwendungen',
405
+ accountClass: 3,
406
+ accountType: 'expense',
407
+ skrType: 'SKR04',
408
+ description: 'Other expenses',
409
+ },
410
+ // Class 4: Revenues (Erträge) - Part 1
411
+ {
412
+ accountNumber: '4000',
413
+ accountName: 'Umsatzerlöse',
414
+ accountClass: 4,
415
+ accountType: 'revenue',
416
+ skrType: 'SKR04',
417
+ description: 'Sales revenue',
418
+ vatRate: 19,
419
+ },
420
+ {
421
+ accountNumber: '4100',
422
+ accountName: 'steuerfreie Umsätze',
423
+ accountClass: 4,
424
+ accountType: 'revenue',
425
+ skrType: 'SKR04',
426
+ description: 'Tax-free sales',
427
+ },
428
+ {
429
+ accountNumber: '4200',
430
+ accountName: 'Erlöse 7% USt',
431
+ accountClass: 4,
432
+ accountType: 'revenue',
433
+ skrType: 'SKR04',
434
+ description: 'Revenue 7% VAT',
435
+ vatRate: 7,
436
+ },
437
+ {
438
+ accountNumber: '4300',
439
+ accountName: 'Erlöse 19% USt',
440
+ accountClass: 4,
441
+ accountType: 'revenue',
442
+ skrType: 'SKR04',
443
+ description: 'Revenue 19% VAT',
444
+ vatRate: 19,
445
+ },
446
+ {
447
+ accountNumber: '4400',
448
+ accountName: 'Erlöse innergemeinschaftliche Lieferungen',
449
+ accountClass: 4,
450
+ accountType: 'revenue',
451
+ skrType: 'SKR04',
452
+ description: 'EU sales',
453
+ },
454
+ {
455
+ accountNumber: '4500',
456
+ accountName: 'Erlöse Export',
457
+ accountClass: 4,
458
+ accountType: 'revenue',
459
+ skrType: 'SKR04',
460
+ description: 'Export sales',
461
+ },
462
+ {
463
+ accountNumber: '4600',
464
+ accountName: 'Bestandsveränderungen',
465
+ accountClass: 4,
466
+ accountType: 'revenue',
467
+ skrType: 'SKR04',
468
+ description: 'Inventory changes',
469
+ },
470
+ {
471
+ accountNumber: '4700',
472
+ accountName: 'Aktivierte Eigenleistungen',
473
+ accountClass: 4,
474
+ accountType: 'revenue',
475
+ skrType: 'SKR04',
476
+ description: 'Capitalized own work',
477
+ },
478
+ {
479
+ accountNumber: '4800',
480
+ accountName: 'Sonstige betriebliche Erträge',
481
+ accountClass: 4,
482
+ accountType: 'revenue',
483
+ skrType: 'SKR04',
484
+ description: 'Other operating income',
485
+ },
486
+ {
487
+ accountNumber: '4900',
488
+ accountName: 'Erträge aus Beteiligungen',
489
+ accountClass: 4,
490
+ accountType: 'revenue',
491
+ skrType: 'SKR04',
492
+ description: 'Investment income',
493
+ },
494
+ // Class 5: Revenues (Erträge) - Part 2
495
+ {
496
+ accountNumber: '5000',
497
+ accountName: 'Zinserträge',
498
+ accountClass: 5,
499
+ accountType: 'revenue',
500
+ skrType: 'SKR04',
501
+ description: 'Interest income',
502
+ },
503
+ {
504
+ accountNumber: '5100',
505
+ accountName: 'Erträge aus Wertpapieren',
506
+ accountClass: 5,
507
+ accountType: 'revenue',
508
+ skrType: 'SKR04',
509
+ description: 'Securities income',
510
+ },
511
+ {
512
+ accountNumber: '5200',
513
+ accountName: 'Erträge aus Anlagenabgängen',
514
+ accountClass: 5,
515
+ accountType: 'revenue',
516
+ skrType: 'SKR04',
517
+ description: 'Gains from asset disposals',
518
+ },
519
+ {
520
+ accountNumber: '5300',
521
+ accountName: 'Währungsgewinne',
522
+ accountClass: 5,
523
+ accountType: 'revenue',
524
+ skrType: 'SKR04',
525
+ description: 'Currency gains',
526
+ },
527
+ {
528
+ accountNumber: '5400',
529
+ accountName: 'Erträge aus der Auflösung von Rückstellungen',
530
+ accountClass: 5,
531
+ accountType: 'revenue',
532
+ skrType: 'SKR04',
533
+ description: 'Income from provision releases',
534
+ },
535
+ {
536
+ accountNumber: '5500',
537
+ accountName: 'Periodenfremde Erträge',
538
+ accountClass: 5,
539
+ accountType: 'revenue',
540
+ skrType: 'SKR04',
541
+ description: 'Prior period income',
542
+ },
543
+ {
544
+ accountNumber: '5600',
545
+ accountName: 'Außerordentliche Erträge',
546
+ accountClass: 5,
547
+ accountType: 'revenue',
548
+ skrType: 'SKR04',
549
+ description: 'Extraordinary income',
550
+ },
551
+ {
552
+ accountNumber: '5700',
553
+ accountName: 'Verwendung von Rücklagen',
554
+ accountClass: 5,
555
+ accountType: 'revenue',
556
+ skrType: 'SKR04',
557
+ description: 'Use of reserves',
558
+ },
559
+ {
560
+ accountNumber: '5800',
561
+ accountName: 'Gewinne aus Unternehmensverträgen',
562
+ accountClass: 5,
563
+ accountType: 'revenue',
564
+ skrType: 'SKR04',
565
+ description: 'Profits from company agreements',
566
+ },
567
+ {
568
+ accountNumber: '5900',
569
+ accountName: 'Sonstige Erträge',
570
+ accountClass: 5,
571
+ accountType: 'revenue',
572
+ skrType: 'SKR04',
573
+ description: 'Other income',
574
+ },
575
+ // Class 6: Special Accounts (Sonderkonten)
576
+ {
577
+ accountNumber: '6000',
578
+ accountName: 'Betriebssteuern',
579
+ accountClass: 6,
580
+ accountType: 'expense',
581
+ skrType: 'SKR04',
582
+ description: 'Operating taxes',
583
+ },
584
+ {
585
+ accountNumber: '6100',
586
+ accountName: 'Vermögensteuer',
587
+ accountClass: 6,
588
+ accountType: 'expense',
589
+ skrType: 'SKR04',
590
+ description: 'Wealth tax',
591
+ },
592
+ {
593
+ accountNumber: '6200',
594
+ accountName: 'Körperschaftsteuer',
595
+ accountClass: 6,
596
+ accountType: 'expense',
597
+ skrType: 'SKR04',
598
+ description: 'Corporate tax',
599
+ },
600
+ {
601
+ accountNumber: '6300',
602
+ accountName: 'Einkommensteuer',
603
+ accountClass: 6,
604
+ accountType: 'expense',
605
+ skrType: 'SKR04',
606
+ description: 'Income tax',
607
+ },
608
+ {
609
+ accountNumber: '6400',
610
+ accountName: 'Gewerbesteuer',
611
+ accountClass: 6,
612
+ accountType: 'expense',
613
+ skrType: 'SKR04',
614
+ description: 'Trade tax',
615
+ },
616
+ {
617
+ accountNumber: '6500',
618
+ accountName: 'Sonstige Steuern',
619
+ accountClass: 6,
620
+ accountType: 'expense',
621
+ skrType: 'SKR04',
622
+ description: 'Other taxes',
623
+ },
624
+ {
625
+ accountNumber: '6600',
626
+ accountName: 'Zinsaufwendungen',
627
+ accountClass: 6,
628
+ accountType: 'expense',
629
+ skrType: 'SKR04',
630
+ description: 'Interest expense',
631
+ },
632
+ {
633
+ accountNumber: '6700',
634
+ accountName: 'Währungsverluste',
635
+ accountClass: 6,
636
+ accountType: 'expense',
637
+ skrType: 'SKR04',
638
+ description: 'Currency losses',
639
+ },
640
+ {
641
+ accountNumber: '6800',
642
+ accountName: 'Außerordentliche Aufwendungen',
643
+ accountClass: 6,
644
+ accountType: 'expense',
645
+ skrType: 'SKR04',
646
+ description: 'Extraordinary expenses',
647
+ },
648
+ {
649
+ accountNumber: '6900',
650
+ accountName: 'Verluste aus Unternehmensverträgen',
651
+ accountClass: 6,
652
+ accountType: 'expense',
653
+ skrType: 'SKR04',
654
+ description: 'Losses from company agreements',
655
+ },
656
+ // Class 7: Cost Accounting (Kosten- und Leistungsrechnung)
657
+ {
658
+ accountNumber: '7000',
659
+ accountName: 'Kostenstellenrechnung',
660
+ accountClass: 7,
661
+ accountType: 'expense',
662
+ skrType: 'SKR04',
663
+ description: 'Cost center accounting',
664
+ },
665
+ {
666
+ accountNumber: '7100',
667
+ accountName: 'Kostenträgerrechnung',
668
+ accountClass: 7,
669
+ accountType: 'expense',
670
+ skrType: 'SKR04',
671
+ description: 'Cost object accounting',
672
+ },
673
+ {
674
+ accountNumber: '7200',
675
+ accountName: 'Kostenartenrechnung',
676
+ accountClass: 7,
677
+ accountType: 'expense',
678
+ skrType: 'SKR04',
679
+ description: 'Cost type accounting',
680
+ },
681
+ {
682
+ accountNumber: '7300',
683
+ accountName: 'Kalkulatorische Kosten',
684
+ accountClass: 7,
685
+ accountType: 'expense',
686
+ skrType: 'SKR04',
687
+ description: 'Imputed costs',
688
+ },
689
+ {
690
+ accountNumber: '7400',
691
+ accountName: 'Kalkulatorische Abschreibungen',
692
+ accountClass: 7,
693
+ accountType: 'expense',
694
+ skrType: 'SKR04',
695
+ description: 'Imputed depreciation',
696
+ },
697
+ {
698
+ accountNumber: '7500',
699
+ accountName: 'Kalkulatorische Zinsen',
700
+ accountClass: 7,
701
+ accountType: 'expense',
702
+ skrType: 'SKR04',
703
+ description: 'Imputed interest',
704
+ },
705
+ {
706
+ accountNumber: '7600',
707
+ accountName: 'Kalkulatorischer Unternehmerlohn',
708
+ accountClass: 7,
709
+ accountType: 'expense',
710
+ skrType: 'SKR04',
711
+ description: 'Imputed entrepreneur salary',
712
+ },
713
+ {
714
+ accountNumber: '7700',
715
+ accountName: 'Kalkulatorische Miete',
716
+ accountClass: 7,
717
+ accountType: 'expense',
718
+ skrType: 'SKR04',
719
+ description: 'Imputed rent',
720
+ },
721
+ {
722
+ accountNumber: '7800',
723
+ accountName: 'Verrechnete Kosten',
724
+ accountClass: 7,
725
+ accountType: 'expense',
726
+ skrType: 'SKR04',
727
+ description: 'Allocated costs',
728
+ },
729
+ {
730
+ accountNumber: '7900',
731
+ accountName: 'Verrechnete Leistungen',
732
+ accountClass: 7,
733
+ accountType: 'revenue',
734
+ skrType: 'SKR04',
735
+ description: 'Allocated services',
736
+ },
737
+ // Class 8: Free for Use (Zur freien Verfügung)
738
+ {
739
+ accountNumber: '8000',
740
+ accountName: 'frei',
741
+ accountClass: 8,
742
+ accountType: 'equity',
743
+ skrType: 'SKR04',
744
+ description: 'Available for custom use',
745
+ },
746
+ {
747
+ accountNumber: '8100',
748
+ accountName: 'frei',
749
+ accountClass: 8,
750
+ accountType: 'equity',
751
+ skrType: 'SKR04',
752
+ description: 'Available for custom use',
753
+ },
754
+ {
755
+ accountNumber: '8200',
756
+ accountName: 'frei',
757
+ accountClass: 8,
758
+ accountType: 'equity',
759
+ skrType: 'SKR04',
760
+ description: 'Available for custom use',
761
+ },
762
+ {
763
+ accountNumber: '8300',
764
+ accountName: 'frei',
765
+ accountClass: 8,
766
+ accountType: 'equity',
767
+ skrType: 'SKR04',
768
+ description: 'Available for custom use',
769
+ },
770
+ {
771
+ accountNumber: '8400',
772
+ accountName: 'frei',
773
+ accountClass: 8,
774
+ accountType: 'equity',
775
+ skrType: 'SKR04',
776
+ description: 'Available for custom use',
777
+ },
778
+ {
779
+ accountNumber: '8500',
780
+ accountName: 'frei',
781
+ accountClass: 8,
782
+ accountType: 'equity',
783
+ skrType: 'SKR04',
784
+ description: 'Available for custom use',
785
+ },
786
+ {
787
+ accountNumber: '8600',
788
+ accountName: 'frei',
789
+ accountClass: 8,
790
+ accountType: 'equity',
791
+ skrType: 'SKR04',
792
+ description: 'Available for custom use',
793
+ },
794
+ {
795
+ accountNumber: '8700',
796
+ accountName: 'frei',
797
+ accountClass: 8,
798
+ accountType: 'equity',
799
+ skrType: 'SKR04',
800
+ description: 'Available for custom use',
801
+ },
802
+ {
803
+ accountNumber: '8800',
804
+ accountName: 'frei',
805
+ accountClass: 8,
806
+ accountType: 'equity',
807
+ skrType: 'SKR04',
808
+ description: 'Available for custom use',
809
+ },
810
+ {
811
+ accountNumber: '8900',
812
+ accountName: 'frei',
813
+ accountClass: 8,
814
+ accountType: 'equity',
815
+ skrType: 'SKR04',
816
+ description: 'Available for custom use',
817
+ },
818
+ // Class 9: Equity and Closing Accounts (Eigenkapital und Abschlusskonten)
819
+ {
820
+ accountNumber: '9000',
821
+ accountName: 'Eigenkapital',
822
+ accountClass: 9,
823
+ accountType: 'equity',
824
+ skrType: 'SKR04',
825
+ description: 'Equity capital',
826
+ },
827
+ {
828
+ accountNumber: '9100',
829
+ accountName: 'Gezeichnetes Kapital',
830
+ accountClass: 9,
831
+ accountType: 'equity',
832
+ skrType: 'SKR04',
833
+ description: 'Subscribed capital',
834
+ },
835
+ {
836
+ accountNumber: '9200',
837
+ accountName: 'Kapitalrücklage',
838
+ accountClass: 9,
839
+ accountType: 'equity',
840
+ skrType: 'SKR04',
841
+ description: 'Capital reserves',
842
+ },
843
+ {
844
+ accountNumber: '9300',
845
+ accountName: 'Gewinnrücklagen',
846
+ accountClass: 9,
847
+ accountType: 'equity',
848
+ skrType: 'SKR04',
849
+ description: 'Revenue reserves',
850
+ },
851
+ {
852
+ accountNumber: '9400',
853
+ accountName: 'Gewinnvortrag/Verlustvortrag',
854
+ accountClass: 9,
855
+ accountType: 'equity',
856
+ skrType: 'SKR04',
857
+ description: 'Profit/loss carried forward',
858
+ },
859
+ {
860
+ accountNumber: '9500',
861
+ accountName: 'Jahresüberschuss/Jahresfehlbetrag',
862
+ accountClass: 9,
863
+ accountType: 'equity',
864
+ skrType: 'SKR04',
865
+ description: 'Annual profit/loss',
866
+ },
867
+ {
868
+ accountNumber: '9600',
869
+ accountName: 'Rückstellungen',
870
+ accountClass: 9,
871
+ accountType: 'liability',
872
+ skrType: 'SKR04',
873
+ description: 'Provisions',
874
+ },
875
+ {
876
+ accountNumber: '9700',
877
+ accountName: 'Verbindlichkeiten',
878
+ accountClass: 9,
879
+ accountType: 'liability',
880
+ skrType: 'SKR04',
881
+ description: 'Liabilities',
882
+ },
883
+ {
884
+ accountNumber: '9800',
885
+ accountName: 'Rechnungsabgrenzungsposten',
886
+ accountClass: 9,
887
+ accountType: 'liability',
888
+ skrType: 'SKR04',
889
+ description: 'Accruals and deferrals',
890
+ },
891
+ {
892
+ accountNumber: '9900',
893
+ accountName: 'Statistische Konten',
894
+ accountClass: 9,
895
+ accountType: 'equity',
896
+ skrType: 'SKR04',
897
+ description: 'Statistical accounts',
898
+ },
899
+ ];
900
+ export const SKR04_ACCOUNT_CLASSES = {
901
+ 0: 'Anlagekonten (Fixed Assets)',
902
+ 1: 'Finanz- und Umlaufvermögen (Financial and Current Assets)',
903
+ 2: 'Aufwendungen Teil 1 (Expenses Part 1)',
904
+ 3: 'Aufwendungen Teil 2 (Expenses Part 2)',
905
+ 4: 'Erträge Teil 1 (Revenues Part 1)',
906
+ 5: 'Erträge Teil 2 (Revenues Part 2)',
907
+ 6: 'Sonderkonten (Special Accounts)',
908
+ 7: 'Kosten- und Leistungsrechnung (Cost Accounting)',
909
+ 8: 'Zur freien Verfügung (Free for Use)',
910
+ 9: 'Eigenkapital und Abschlusskonten (Equity and Closing Accounts)',
911
+ };
912
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tyMDQuZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NrcjA0LmRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFtQjtJQUM1QywyQ0FBMkM7SUFDM0M7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsZ0NBQWdDO1FBQzdDLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLE9BQU87UUFDcEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLG1CQUFtQjtLQUNqQztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLGNBQWM7UUFDM0IsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsT0FBTztRQUNwQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsYUFBYTtLQUMzQjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLFNBQVM7UUFDdEIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsT0FBTztRQUNwQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsU0FBUztLQUN2QjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLFVBQVU7UUFDdkIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsT0FBTztRQUNwQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsVUFBVTtLQUN4QjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLFlBQVk7UUFDekIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsT0FBTztRQUNwQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsVUFBVTtLQUN4QjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLGNBQWM7UUFDM0IsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsT0FBTztRQUNwQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsYUFBYTtLQUMzQjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLGFBQWE7UUFDMUIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsT0FBTztRQUNwQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsbUJBQW1CO0tBQ2pDO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsU0FBUztRQUN0QixZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxPQUFPO1FBQ3BCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxXQUFXO0tBQ3pCO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsV0FBVztRQUN4QixZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxPQUFPO1FBQ3BCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxXQUFXO0tBQ3pCO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsVUFBVTtRQUN2QixZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxPQUFPO1FBQ3BCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxVQUFVO0tBQ3hCO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsb0NBQW9DO1FBQ2pELFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLE9BQU87UUFDcEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGtCQUFrQjtLQUNoQztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLHdCQUF3QjtRQUNyQyxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxPQUFPO1FBQ3BCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSw2QkFBNkI7S0FDM0M7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxlQUFlO1FBQzVCLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLE9BQU87UUFDcEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGtCQUFrQjtLQUNoQztJQUVELHFFQUFxRTtJQUNyRTtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxPQUFPO1FBQ3BCLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLE9BQU87UUFDcEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGNBQWM7S0FDNUI7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxVQUFVO1FBQ3ZCLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLE9BQU87UUFDcEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLHFCQUFxQjtLQUNuQztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLE1BQU07UUFDbkIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsT0FBTztRQUNwQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsY0FBYztLQUM1QjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLFdBQVc7UUFDeEIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsT0FBTztRQUNwQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsY0FBYztLQUM1QjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLGFBQWE7UUFDMUIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsT0FBTztRQUNwQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsWUFBWTtLQUMxQjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLDRDQUE0QztRQUN6RCxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxPQUFPO1FBQ3BCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxtQkFBbUI7S0FDakM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSwrQkFBK0I7UUFDNUMsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsT0FBTztRQUNwQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsY0FBYztLQUM1QjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLHNCQUFzQjtRQUNuQyxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxPQUFPO1FBQ3BCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxXQUFXO0tBQ3pCO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsY0FBYztRQUMzQixZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxPQUFPO1FBQ3BCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxjQUFjO0tBQzVCO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsZUFBZTtRQUM1QixZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxPQUFPO1FBQ3BCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxlQUFlO0tBQzdCO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsa0RBQWtEO1FBQy9ELFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFdBQVc7UUFDeEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGdCQUFnQjtLQUM5QjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLDRCQUE0QjtRQUN6QyxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxXQUFXO1FBQ3hCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxtQkFBbUI7S0FDakM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxpQkFBaUI7UUFDOUIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsV0FBVztRQUN4QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsZ0JBQWdCO0tBQzlCO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFdBQVc7UUFDeEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGlCQUFpQjtLQUMvQjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLGlCQUFpQjtRQUM5QixZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxxQkFBcUI7S0FDbkM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxnQkFBZ0I7UUFDN0IsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsUUFBUTtRQUNyQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsa0JBQWtCO0tBQ2hDO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsbUJBQW1CO1FBQ2hDLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLE9BQU87UUFDcEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGtCQUFrQjtLQUNoQztJQUVELDRDQUE0QztJQUM1QztRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxpQ0FBaUM7UUFDOUMsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsNEJBQTRCO0tBQzFDO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsZ0JBQWdCO1FBQzdCLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGlCQUFpQjtLQUMvQjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLHFCQUFxQjtRQUNsQyxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxvQkFBb0I7S0FDbEM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxPQUFPO1FBQ3BCLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLE9BQU87S0FDckI7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxVQUFVO1FBQ3ZCLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLFVBQVU7S0FDeEI7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxpQkFBaUI7UUFDOUIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsK0JBQStCO0tBQzdDO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsbUNBQW1DO1FBQ2hELFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGtCQUFrQjtLQUNoQztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLHNEQUFzRDtRQUNuRSxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxtQ0FBbUM7S0FDakQ7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxnQ0FBZ0M7UUFDN0MsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsOEJBQThCO0tBQzVDO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsa0NBQWtDO1FBQy9DLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGtDQUFrQztLQUNoRDtJQUVELDRDQUE0QztJQUM1QztRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxZQUFZO1FBQ3pCLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGdCQUFnQjtLQUM5QjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLHFCQUFxQjtRQUNsQyxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSx1QkFBdUI7S0FDckM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxnQkFBZ0I7UUFDN0IsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsYUFBYTtLQUMzQjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxrQkFBa0I7S0FDaEM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSx3QkFBd0I7UUFDckMsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsc0JBQXNCO0tBQ3BDO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLHdCQUF3QjtLQUN0QztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxXQUFXO0tBQ3pCO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsdUJBQXVCO1FBQ3BDLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLHdCQUF3QjtLQUN0QztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLGNBQWM7UUFDM0IsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsaUJBQWlCO0tBQy9CO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsdUJBQXVCO1FBQ3BDLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGdCQUFnQjtLQUM5QjtJQUVELHVDQUF1QztJQUN2QztRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxjQUFjO1FBQzNCLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGVBQWU7UUFDNUIsT0FBTyxFQUFFLEVBQUU7S0FDWjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLHFCQUFxQjtRQUNsQyxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxnQkFBZ0I7S0FDOUI7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxlQUFlO1FBQzVCLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsZ0JBQWdCO1FBQzdCLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGlCQUFpQjtRQUM5QixPQUFPLEVBQUUsRUFBRTtLQUNaO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsMkNBQTJDO1FBQ3hELFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLFVBQVU7S0FDeEI7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxlQUFlO1FBQzVCLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGNBQWM7S0FDNUI7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSx1QkFBdUI7UUFDcEMsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsbUJBQW1CO0tBQ2pDO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsNEJBQTRCO1FBQ3pDLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLHNCQUFzQjtLQUNwQztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLCtCQUErQjtRQUM1QyxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSx3QkFBd0I7S0FDdEM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSwyQkFBMkI7UUFDeEMsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsbUJBQW1CO0tBQ2pDO0lBRUQsdUNBQXVDO0lBQ3ZDO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLGFBQWE7UUFDMUIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsaUJBQWlCO0tBQy9CO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsMEJBQTBCO1FBQ3ZDLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLG1CQUFtQjtLQUNqQztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLDZCQUE2QjtRQUMxQyxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSw0QkFBNEI7S0FDMUM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxpQkFBaUI7UUFDOUIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsZ0JBQWdCO0tBQzlCO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsOENBQThDO1FBQzNELFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGdDQUFnQztLQUM5QztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLHdCQUF3QjtRQUNyQyxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxxQkFBcUI7S0FDbkM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSwwQkFBMEI7UUFDdkMsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsc0JBQXNCO0tBQ3BDO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsMEJBQTBCO1FBQ3ZDLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGlCQUFpQjtLQUMvQjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLG1DQUFtQztRQUNoRCxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxpQ0FBaUM7S0FDL0M7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxrQkFBa0I7UUFDL0IsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsY0FBYztLQUM1QjtJQUVELDJDQUEyQztJQUMzQztRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxpQkFBaUI7UUFDOUIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsaUJBQWlCO0tBQy9CO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsZ0JBQWdCO1FBQzdCLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLFlBQVk7S0FDMUI7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxvQkFBb0I7UUFDakMsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsZUFBZTtLQUM3QjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLGlCQUFpQjtRQUM5QixZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxZQUFZO0tBQzFCO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsZUFBZTtRQUM1QixZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxXQUFXO0tBQ3pCO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGFBQWE7S0FDM0I7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxrQkFBa0I7UUFDL0IsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsa0JBQWtCO0tBQ2hDO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGlCQUFpQjtLQUMvQjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLCtCQUErQjtRQUM1QyxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSx3QkFBd0I7S0FDdEM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxvQ0FBb0M7UUFDakQsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsZ0NBQWdDO0tBQzlDO0lBRUQsMkRBQTJEO0lBQzNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLHVCQUF1QjtRQUNwQyxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSx3QkFBd0I7S0FDdEM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxzQkFBc0I7UUFDbkMsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsd0JBQXdCO0tBQ3RDO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUscUJBQXFCO1FBQ2xDLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLHNCQUFzQjtLQUNwQztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLHdCQUF3QjtRQUNyQyxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxlQUFlO0tBQzdCO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsZ0NBQWdDO1FBQzdDLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLHNCQUFzQjtLQUNwQztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLHdCQUF3QjtRQUNyQyxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxrQkFBa0I7S0FDaEM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxrQ0FBa0M7UUFDL0MsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsNkJBQTZCO0tBQzNDO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsdUJBQXVCO1FBQ3BDLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGNBQWM7S0FDNUI7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxvQkFBb0I7UUFDakMsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsaUJBQWlCO0tBQy9CO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsd0JBQXdCO1FBQ3JDLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFNBQVM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLG9CQUFvQjtLQUNsQztJQUVELCtDQUErQztJQUMvQztRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxNQUFNO1FBQ25CLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFFBQVE7UUFDckIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLDBCQUEwQjtLQUN4QztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLE1BQU07UUFDbkIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsUUFBUTtRQUNyQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsMEJBQTBCO0tBQ3hDO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsTUFBTTtRQUNuQixZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSwwQkFBMEI7S0FDeEM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxNQUFNO1FBQ25CLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFFBQVE7UUFDckIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLDBCQUEwQjtLQUN4QztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLE1BQU07UUFDbkIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsUUFBUTtRQUNyQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsMEJBQTBCO0tBQ3hDO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsTUFBTTtRQUNuQixZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSwwQkFBMEI7S0FDeEM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxNQUFNO1FBQ25CLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFFBQVE7UUFDckIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLDBCQUEwQjtLQUN4QztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLE1BQU07UUFDbkIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsUUFBUTtRQUNyQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsMEJBQTBCO0tBQ3hDO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsTUFBTTtRQUNuQixZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSwwQkFBMEI7S0FDeEM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxNQUFNO1FBQ25CLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFFBQVE7UUFDckIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLDBCQUEwQjtLQUN4QztJQUVELDBFQUEwRTtJQUMxRTtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxjQUFjO1FBQzNCLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFFBQVE7UUFDckIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGdCQUFnQjtLQUM5QjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLHNCQUFzQjtRQUNuQyxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSxvQkFBb0I7S0FDbEM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxpQkFBaUI7UUFDOUIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsUUFBUTtRQUNyQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsa0JBQWtCO0tBQ2hDO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsaUJBQWlCO1FBQzlCLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFFBQVE7UUFDckIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGtCQUFrQjtLQUNoQztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLDhCQUE4QjtRQUMzQyxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSw2QkFBNkI7S0FDM0M7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxtQ0FBbUM7UUFDaEQsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsUUFBUTtRQUNyQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsb0JBQW9CO0tBQ2xDO0lBQ0Q7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsZ0JBQWdCO1FBQzdCLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLFdBQVc7UUFDeEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLFlBQVk7S0FDMUI7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxtQkFBbUI7UUFDaEMsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsV0FBVztRQUN4QixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsYUFBYTtLQUMzQjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLDRCQUE0QjtRQUN6QyxZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxXQUFXO1FBQ3hCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFBRSx3QkFBd0I7S0FDdEM7SUFDRDtRQUNFLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLFdBQVcsRUFBRSxxQkFBcUI7UUFDbEMsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsUUFBUTtRQUNyQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsc0JBQXNCO0tBQ3BDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ25DLENBQUMsRUFBRSw2QkFBNkI7SUFDaEMsQ0FBQyxFQUFFLDJEQUEyRDtJQUM5RCxDQUFDLEVBQUUsdUNBQXVDO0lBQzFDLENBQUMsRUFBRSx1Q0FBdUM7SUFDMUMsQ0FBQyxFQUFFLGtDQUFrQztJQUNyQyxDQUFDLEVBQUUsa0NBQWtDO0lBQ3JDLENBQUMsRUFBRSxpQ0FBaUM7SUFDcEMsQ0FBQyxFQUFFLGlEQUFpRDtJQUNwRCxDQUFDLEVBQUUscUNBQXFDO0lBQ3hDLENBQUMsRUFBRSxnRUFBZ0U7Q0FDcEUsQ0FBQyJ9