@angular/common 17.2.0-next.0 → 17.2.0-next.1

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 (112) hide show
  1. package/esm2022/http/public_api.mjs +6 -6
  2. package/esm2022/http/src/client.mjs +6 -6
  3. package/esm2022/http/src/fetch.mjs +12 -11
  4. package/esm2022/http/src/headers.mjs +7 -9
  5. package/esm2022/http/src/interceptor.mjs +11 -10
  6. package/esm2022/http/src/jsonp.mjs +11 -13
  7. package/esm2022/http/src/module.mjs +18 -28
  8. package/esm2022/http/src/params.mjs +15 -14
  9. package/esm2022/http/src/private_export.mjs +2 -2
  10. package/esm2022/http/src/provider.mjs +13 -13
  11. package/esm2022/http/src/request.mjs +19 -21
  12. package/esm2022/http/src/response.mjs +3 -3
  13. package/esm2022/http/src/transfer_cache.mjs +15 -11
  14. package/esm2022/http/src/xhr.mjs +11 -10
  15. package/esm2022/http/src/xsrf.mjs +17 -14
  16. package/esm2022/http/testing/src/api.mjs +1 -1
  17. package/esm2022/http/testing/src/backend.mjs +11 -11
  18. package/esm2022/http/testing/src/module.mjs +7 -13
  19. package/esm2022/http/testing/src/provider.mjs +1 -1
  20. package/esm2022/http/testing/src/request.mjs +11 -8
  21. package/esm2022/src/common.mjs +6 -6
  22. package/esm2022/src/common_module.mjs +5 -5
  23. package/esm2022/src/cookie.mjs +1 -1
  24. package/esm2022/src/directives/index.mjs +1 -1
  25. package/esm2022/src/directives/ng_class.mjs +6 -6
  26. package/esm2022/src/directives/ng_component_outlet.mjs +11 -13
  27. package/esm2022/src/directives/ng_for_of.mjs +5 -5
  28. package/esm2022/src/directives/ng_if.mjs +7 -9
  29. package/esm2022/src/directives/ng_optimized_image/asserts.mjs +1 -1
  30. package/esm2022/src/directives/ng_optimized_image/error_helper.mjs +4 -2
  31. package/esm2022/src/directives/ng_optimized_image/image_loaders/cloudflare_loader.mjs +1 -1
  32. package/esm2022/src/directives/ng_optimized_image/image_loaders/cloudinary_loader.mjs +9 -8
  33. package/esm2022/src/directives/ng_optimized_image/image_loaders/image_loader.mjs +2 -2
  34. package/esm2022/src/directives/ng_optimized_image/image_loaders/imagekit_loader.mjs +1 -1
  35. package/esm2022/src/directives/ng_optimized_image/image_loaders/imgix_loader.mjs +2 -2
  36. package/esm2022/src/directives/ng_optimized_image/index.mjs +1 -1
  37. package/esm2022/src/directives/ng_optimized_image/lcp_image_observer.mjs +6 -6
  38. package/esm2022/src/directives/ng_optimized_image/ng_optimized_image.mjs +160 -28
  39. package/esm2022/src/directives/ng_optimized_image/preconnect_link_checker.mjs +12 -14
  40. package/esm2022/src/directives/ng_optimized_image/preload-link-creator.mjs +4 -4
  41. package/esm2022/src/directives/ng_optimized_image/tokens.mjs +5 -2
  42. package/esm2022/src/directives/ng_optimized_image/url.mjs +2 -2
  43. package/esm2022/src/directives/ng_plural.mjs +7 -7
  44. package/esm2022/src/directives/ng_style.mjs +5 -5
  45. package/esm2022/src/directives/ng_switch.mjs +17 -15
  46. package/esm2022/src/directives/ng_switch_equality.mjs +1 -1
  47. package/esm2022/src/directives/ng_template_outlet.mjs +5 -5
  48. package/esm2022/src/dom_adapter.mjs +2 -4
  49. package/esm2022/src/dom_tokens.mjs +2 -2
  50. package/esm2022/src/errors.mjs +1 -1
  51. package/esm2022/src/i18n/format_date.mjs +62 -43
  52. package/esm2022/src/i18n/format_number.mjs +14 -13
  53. package/esm2022/src/i18n/locale_data.mjs +1 -1
  54. package/esm2022/src/i18n/locale_data_api.mjs +14 -8
  55. package/esm2022/src/i18n/localization.mjs +7 -7
  56. package/esm2022/src/location/hash_location_strategy.mjs +6 -8
  57. package/esm2022/src/location/index.mjs +2 -2
  58. package/esm2022/src/location/location.mjs +9 -11
  59. package/esm2022/src/location/location_strategy.mjs +14 -11
  60. package/esm2022/src/location/platform_location.mjs +9 -9
  61. package/esm2022/src/location/util.mjs +2 -2
  62. package/esm2022/src/navigation/navigation_types.mjs +9 -0
  63. package/esm2022/src/navigation/platform_navigation.mjs +4 -4
  64. package/esm2022/src/pipes/async_pipe.mjs +7 -7
  65. package/esm2022/src/pipes/case_conversion_pipes.mjs +11 -11
  66. package/esm2022/src/pipes/date_pipe.mjs +70 -71
  67. package/esm2022/src/pipes/i18n_plural_pipe.mjs +4 -5
  68. package/esm2022/src/pipes/i18n_select_pipe.mjs +4 -5
  69. package/esm2022/src/pipes/index.mjs +1 -1
  70. package/esm2022/src/pipes/invalid_pipe_argument_error.mjs +1 -1
  71. package/esm2022/src/pipes/json_pipe.mjs +3 -3
  72. package/esm2022/src/pipes/keyvalue_pipe.mjs +7 -9
  73. package/esm2022/src/pipes/number_pipe.mjs +13 -13
  74. package/esm2022/src/pipes/slice_pipe.mjs +4 -4
  75. package/esm2022/src/private_export.mjs +3 -2
  76. package/esm2022/src/version.mjs +1 -1
  77. package/esm2022/src/viewport_scroller.mjs +6 -5
  78. package/esm2022/testing/src/location_mock.mjs +34 -19
  79. package/esm2022/testing/src/mock_location_strategy.mjs +6 -6
  80. package/esm2022/testing/src/mock_platform_location.mjs +112 -13
  81. package/esm2022/testing/src/navigation/fake_navigation.mjs +11 -11
  82. package/esm2022/testing/src/navigation/navigation_types.mjs +9 -0
  83. package/esm2022/testing/src/navigation/provide_fake_platform_navigation.mjs +8 -5
  84. package/esm2022/testing/src/private_export.mjs +9 -0
  85. package/esm2022/testing/src/testing.mjs +3 -2
  86. package/esm2022/upgrade/src/index.mjs +2 -2
  87. package/esm2022/upgrade/src/location_shim.mjs +11 -13
  88. package/esm2022/upgrade/src/location_upgrade_module.mjs +15 -18
  89. package/esm2022/upgrade/src/params.mjs +6 -6
  90. package/esm2022/upgrade/src/utils.mjs +2 -2
  91. package/fesm2022/common.mjs +506 -340
  92. package/fesm2022/common.mjs.map +1 -1
  93. package/fesm2022/http/testing.mjs +26 -29
  94. package/fesm2022/http/testing.mjs.map +1 -1
  95. package/fesm2022/http.mjs +133 -138
  96. package/fesm2022/http.mjs.map +1 -1
  97. package/fesm2022/testing.mjs +993 -199
  98. package/fesm2022/testing.mjs.map +1 -1
  99. package/fesm2022/upgrade.mjs +30 -35
  100. package/fesm2022/upgrade.mjs.map +1 -1
  101. package/http/index.d.ts +2 -2
  102. package/http/testing/index.d.ts +3 -3
  103. package/index.d.ts +265 -70
  104. package/locales/ff-CM.mjs +31 -11
  105. package/locales/ff-GN.mjs +31 -11
  106. package/locales/ff-MR.mjs +31 -11
  107. package/locales/global/ff-CM.js +58 -44
  108. package/locales/global/ff-GN.js +58 -44
  109. package/locales/global/ff-MR.js +58 -44
  110. package/package.json +2 -2
  111. package/testing/index.d.ts +6 -1
  112. package/upgrade/index.d.ts +1 -1
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.2.0-next.0
2
+ * @license Angular v17.2.0-next.1
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -281,70 +281,70 @@ export declare const DATE_PIPE_DEFAULT_TIMEZONE: InjectionToken<string>;
281
281
  * Format details depend on the locale.
282
282
  * Fields marked with (*) are only available in the extra data set for the given locale.
283
283
  *
284
- * | Field type | Format | Description | Example Value |
285
- * |-------------------- |-------------|---------------------------------------------------------------|------------------------------------------------------------|
286
- * | Era | G, GG & GGG | Abbreviated | AD |
287
- * | | GGGG | Wide | Anno Domini |
288
- * | | GGGGG | Narrow | A |
289
- * | Year | y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |
290
- * | | yy | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |
291
- * | | yyy | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |
292
- * | | yyyy | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |
293
- * | Week-numbering year | Y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |
294
- * | | YY | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |
295
- * | | YYY | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |
296
- * | | YYYY | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |
297
- * | Month | M | Numeric: 1 digit | 9, 12 |
298
- * | | MM | Numeric: 2 digits + zero padded | 09, 12 |
299
- * | | MMM | Abbreviated | Sep |
300
- * | | MMMM | Wide | September |
301
- * | | MMMMM | Narrow | S |
302
- * | Month standalone | L | Numeric: 1 digit | 9, 12 |
303
- * | | LL | Numeric: 2 digits + zero padded | 09, 12 |
304
- * | | LLL | Abbreviated | Sep |
305
- * | | LLLL | Wide | September |
306
- * | | LLLLL | Narrow | S |
307
- * | Week of year | w | Numeric: minimum digits | 1... 53 |
308
- * | | ww | Numeric: 2 digits + zero padded | 01... 53 |
309
- * | Week of month | W | Numeric: 1 digit | 1... 5 |
310
- * | Day of month | d | Numeric: minimum digits | 1 |
311
- * | | dd | Numeric: 2 digits + zero padded | 01 |
312
- * | Week day | E, EE & EEE | Abbreviated | Tue |
313
- * | | EEEE | Wide | Tuesday |
314
- * | | EEEEE | Narrow | T |
315
- * | | EEEEEE | Short | Tu |
316
- * | Week day standalone | c, cc | Numeric: 1 digit | 2 |
317
- * | | ccc | Abbreviated | Tue |
318
- * | | cccc | Wide | Tuesday |
319
- * | | ccccc | Narrow | T |
320
- * | | cccccc | Short | Tu |
321
- * | Period | a, aa & aaa | Abbreviated | am/pm or AM/PM |
322
- * | | aaaa | Wide (fallback to `a` when missing) | ante meridiem/post meridiem |
323
- * | | aaaaa | Narrow | a/p |
324
- * | Period* | B, BB & BBB | Abbreviated | mid. |
325
- * | | BBBB | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |
326
- * | | BBBBB | Narrow | md |
327
- * | Period standalone* | b, bb & bbb | Abbreviated | mid. |
328
- * | | bbbb | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |
329
- * | | bbbbb | Narrow | md |
330
- * | Hour 1-12 | h | Numeric: minimum digits | 1, 12 |
331
- * | | hh | Numeric: 2 digits + zero padded | 01, 12 |
332
- * | Hour 0-23 | H | Numeric: minimum digits | 0, 23 |
333
- * | | HH | Numeric: 2 digits + zero padded | 00, 23 |
334
- * | Minute | m | Numeric: minimum digits | 8, 59 |
335
- * | | mm | Numeric: 2 digits + zero padded | 08, 59 |
336
- * | Second | s | Numeric: minimum digits | 0... 59 |
337
- * | | ss | Numeric: 2 digits + zero padded | 00... 59 |
338
- * | Fractional seconds | S | Numeric: 1 digit | 0... 9 |
339
- * | | SS | Numeric: 2 digits + zero padded | 00... 99 |
340
- * | | SSS | Numeric: 3 digits + zero padded (= milliseconds) | 000... 999 |
341
- * | Zone | z, zz & zzz | Short specific non location format (fallback to O) | GMT-8 |
342
- * | | zzzz | Long specific non location format (fallback to OOOO) | GMT-08:00 |
343
- * | | Z, ZZ & ZZZ | ISO8601 basic format | -0800 |
344
- * | | ZZZZ | Long localized GMT format | GMT-8:00 |
345
- * | | ZZZZZ | ISO8601 extended format + Z indicator for offset 0 (= XXXXX) | -08:00 |
346
- * | | O, OO & OOO | Short localized GMT format | GMT-8 |
347
- * | | OOOO | Long localized GMT format | GMT-08:00 |
284
+ * | Field type | Format | Description | Example Value |
285
+ * |-------------------------|-------------|---------------------------------------------------------------|------------------------------------------------------------|
286
+ * | Era | G, GG & GGG | Abbreviated | AD |
287
+ * | | GGGG | Wide | Anno Domini |
288
+ * | | GGGGG | Narrow | A |
289
+ * | Year | y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |
290
+ * | | yy | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |
291
+ * | | yyy | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |
292
+ * | | yyyy | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |
293
+ * | ISO Week-numbering year | Y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |
294
+ * | | YY | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |
295
+ * | | YYY | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |
296
+ * | | YYYY | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |
297
+ * | Month | M | Numeric: 1 digit | 9, 12 |
298
+ * | | MM | Numeric: 2 digits + zero padded | 09, 12 |
299
+ * | | MMM | Abbreviated | Sep |
300
+ * | | MMMM | Wide | September |
301
+ * | | MMMMM | Narrow | S |
302
+ * | Month standalone | L | Numeric: 1 digit | 9, 12 |
303
+ * | | LL | Numeric: 2 digits + zero padded | 09, 12 |
304
+ * | | LLL | Abbreviated | Sep |
305
+ * | | LLLL | Wide | September |
306
+ * | | LLLLL | Narrow | S |
307
+ * | ISO Week of year | w | Numeric: minimum digits | 1... 53 |
308
+ * | | ww | Numeric: 2 digits + zero padded | 01... 53 |
309
+ * | Week of month | W | Numeric: 1 digit | 1... 5 |
310
+ * | Day of month | d | Numeric: minimum digits | 1 |
311
+ * | | dd | Numeric: 2 digits + zero padded | 01 |
312
+ * | Week day | E, EE & EEE | Abbreviated | Tue |
313
+ * | | EEEE | Wide | Tuesday |
314
+ * | | EEEEE | Narrow | T |
315
+ * | | EEEEEE | Short | Tu |
316
+ * | Week day standalone | c, cc | Numeric: 1 digit | 2 |
317
+ * | | ccc | Abbreviated | Tue |
318
+ * | | cccc | Wide | Tuesday |
319
+ * | | ccccc | Narrow | T |
320
+ * | | cccccc | Short | Tu |
321
+ * | Period | a, aa & aaa | Abbreviated | am/pm or AM/PM |
322
+ * | | aaaa | Wide (fallback to `a` when missing) | ante meridiem/post meridiem |
323
+ * | | aaaaa | Narrow | a/p |
324
+ * | Period* | B, BB & BBB | Abbreviated | mid. |
325
+ * | | BBBB | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |
326
+ * | | BBBBB | Narrow | md |
327
+ * | Period standalone* | b, bb & bbb | Abbreviated | mid. |
328
+ * | | bbbb | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |
329
+ * | | bbbbb | Narrow | md |
330
+ * | Hour 1-12 | h | Numeric: minimum digits | 1, 12 |
331
+ * | | hh | Numeric: 2 digits + zero padded | 01, 12 |
332
+ * | Hour 0-23 | H | Numeric: minimum digits | 0, 23 |
333
+ * | | HH | Numeric: 2 digits + zero padded | 00, 23 |
334
+ * | Minute | m | Numeric: minimum digits | 8, 59 |
335
+ * | | mm | Numeric: 2 digits + zero padded | 08, 59 |
336
+ * | Second | s | Numeric: minimum digits | 0... 59 |
337
+ * | | ss | Numeric: 2 digits + zero padded | 00... 59 |
338
+ * | Fractional seconds | S | Numeric: 1 digit | 0... 9 |
339
+ * | | SS | Numeric: 2 digits + zero padded | 00... 99 |
340
+ * | | SSS | Numeric: 3 digits + zero padded (= milliseconds) | 000... 999 |
341
+ * | Zone | z, zz & zzz | Short specific non location format (fallback to O) | GMT-8 |
342
+ * | | zzzz | Long specific non location format (fallback to OOOO) | GMT-08:00 |
343
+ * | | Z, ZZ & ZZZ | ISO8601 basic format | -0800 |
344
+ * | | ZZZZ | Long localized GMT format | GMT-8:00 |
345
+ * | | ZZZZZ | ISO8601 extended format + Z indicator for offset 0 (= XXXXX) | -08:00 |
346
+ * | | O, OO & OOO | Short localized GMT format | GMT-8 |
347
+ * | | OOOO | Long localized GMT format | GMT-08:00 |
348
348
  *
349
349
  *
350
350
  * ### Format examples
@@ -913,7 +913,7 @@ export declare function getLocaleNumberSymbol(locale: string, symbol: NumberSymb
913
913
  * @alias core/ɵgetLocalePluralCase
914
914
  * @publicApi
915
915
  */
916
- export declare const getLocalePluralCase: (locale: string) => ((value: number) => Plural);
916
+ export declare const getLocalePluralCase: (locale: string) => (value: number) => Plural;
917
917
 
918
918
  /**
919
919
  * Retrieves a localized time-value formatting string.
@@ -1205,6 +1205,11 @@ export declare interface ImageLoaderConfig {
1205
1205
  * Width of the requested image (to be used when generating srcset).
1206
1206
  */
1207
1207
  width?: number;
1208
+ /**
1209
+ * Whether the loader should generate a URL for a small image placeholder instead of a full-sized
1210
+ * image.
1211
+ */
1212
+ isPlaceholder?: boolean;
1208
1213
  /**
1209
1214
  * Additional user-provided parameters for use by the ImageLoader.
1210
1215
  */
@@ -1213,6 +1218,16 @@ export declare interface ImageLoaderConfig {
1213
1218
  };
1214
1219
  }
1215
1220
 
1221
+ /**
1222
+ * Config options used in rendering placeholder images.
1223
+ *
1224
+ * @see {@link NgOptimizedImage}
1225
+ * @publicApi
1226
+ */
1227
+ export declare interface ImagePlaceholderConfig {
1228
+ blur?: boolean;
1229
+ }
1230
+
1216
1231
  /**
1217
1232
  * Returns whether a platform id represents a browser platform.
1218
1233
  * @publicApi
@@ -1566,6 +1581,137 @@ export declare class LowerCasePipe implements PipeTransform {
1566
1581
  static ɵpipe: i0.ɵɵPipeDeclaration<LowerCasePipe, "lowercase", true>;
1567
1582
  }
1568
1583
 
1584
+ declare class NavigateEvent extends Event {
1585
+ constructor(type: string, eventInit?: NavigateEventInit);
1586
+ readonly navigationType: NavigationTypeString;
1587
+ readonly canIntercept: boolean;
1588
+ readonly userInitiated: boolean;
1589
+ readonly hashChange: boolean;
1590
+ readonly destination: NavigationDestination;
1591
+ readonly signal: AbortSignal;
1592
+ readonly formData: FormData | null;
1593
+ readonly downloadRequest: string | null;
1594
+ readonly info?: unknown;
1595
+ intercept(options?: NavigationInterceptOptions): void;
1596
+ scroll(): void;
1597
+ }
1598
+
1599
+ declare interface NavigateEventInit extends EventInit {
1600
+ navigationType?: NavigationTypeString;
1601
+ canIntercept?: boolean;
1602
+ userInitiated?: boolean;
1603
+ hashChange?: boolean;
1604
+ destination: NavigationDestination;
1605
+ signal: AbortSignal;
1606
+ formData?: FormData | null;
1607
+ downloadRequest?: string | null;
1608
+ info?: unknown;
1609
+ }
1610
+
1611
+ declare class Navigation extends EventTarget {
1612
+ entries(): NavigationHistoryEntry[];
1613
+ readonly currentEntry: NavigationHistoryEntry | null;
1614
+ updateCurrentEntry(options: NavigationUpdateCurrentEntryOptions): void;
1615
+ readonly transition: NavigationTransition | null;
1616
+ readonly canGoBack: boolean;
1617
+ readonly canGoForward: boolean;
1618
+ navigate(url: string, options?: NavigationNavigateOptions): NavigationResult;
1619
+ reload(options?: NavigationReloadOptions): NavigationResult;
1620
+ traverseTo(key: string, options?: NavigationOptions): NavigationResult;
1621
+ back(options?: NavigationOptions): NavigationResult;
1622
+ forward(options?: NavigationOptions): NavigationResult;
1623
+ onnavigate: ((this: Navigation, ev: NavigateEvent) => any) | null;
1624
+ onnavigatesuccess: ((this: Navigation, ev: Event) => any) | null;
1625
+ onnavigateerror: ((this: Navigation, ev: ErrorEvent) => any) | null;
1626
+ oncurrententrychange: ((this: Navigation, ev: NavigationCurrentEntryChangeEvent) => any) | null;
1627
+ addEventListener<K extends keyof NavigationEventMap>(type: K, listener: (this: Navigation, ev: NavigationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1628
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1629
+ removeEventListener<K extends keyof NavigationEventMap>(type: K, listener: (this: Navigation, ev: NavigationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1630
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1631
+ }
1632
+
1633
+ declare class NavigationCurrentEntryChangeEvent extends Event {
1634
+ constructor(type: string, eventInit?: NavigationCurrentEntryChangeEventInit);
1635
+ readonly navigationType: NavigationTypeString | null;
1636
+ readonly from: NavigationHistoryEntry;
1637
+ }
1638
+
1639
+ declare interface NavigationCurrentEntryChangeEventInit extends EventInit {
1640
+ navigationType?: NavigationTypeString | null;
1641
+ from: NavigationHistoryEntry;
1642
+ }
1643
+
1644
+ declare class NavigationDestination {
1645
+ readonly url: string;
1646
+ readonly key: string | null;
1647
+ readonly id: string | null;
1648
+ readonly index: number;
1649
+ readonly sameDocument: boolean;
1650
+ getState(): unknown;
1651
+ }
1652
+
1653
+
1654
+ declare interface NavigationEventMap {
1655
+ navigate: NavigateEvent;
1656
+ navigatesuccess: Event;
1657
+ navigateerror: ErrorEvent;
1658
+ currententrychange: NavigationCurrentEntryChangeEvent;
1659
+ }
1660
+
1661
+ declare class NavigationHistoryEntry extends EventTarget {
1662
+ readonly key: string;
1663
+ readonly id: string;
1664
+ readonly url: string | null;
1665
+ readonly index: number;
1666
+ readonly sameDocument: boolean;
1667
+ getState(): unknown;
1668
+ ondispose: ((this: NavigationHistoryEntry, ev: Event) => any) | null;
1669
+ addEventListener<K extends keyof NavigationHistoryEntryEventMap>(type: K, listener: (this: NavigationHistoryEntry, ev: NavigationHistoryEntryEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1670
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1671
+ removeEventListener<K extends keyof NavigationHistoryEntryEventMap>(type: K, listener: (this: NavigationHistoryEntry, ev: NavigationHistoryEntryEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1672
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1673
+ }
1674
+
1675
+ declare interface NavigationHistoryEntryEventMap {
1676
+ dispose: Event;
1677
+ }
1678
+
1679
+ declare interface NavigationInterceptOptions {
1680
+ handler?: () => Promise<void>;
1681
+ focusReset?: 'after-transition' | 'manual';
1682
+ scroll?: 'after-transition' | 'manual';
1683
+ }
1684
+
1685
+ declare interface NavigationNavigateOptions extends NavigationOptions {
1686
+ state?: unknown;
1687
+ history?: 'auto' | 'push' | 'replace';
1688
+ }
1689
+
1690
+ declare interface NavigationOptions {
1691
+ info?: unknown;
1692
+ }
1693
+
1694
+ declare interface NavigationReloadOptions extends NavigationOptions {
1695
+ state?: unknown;
1696
+ }
1697
+
1698
+ declare interface NavigationResult {
1699
+ committed: Promise<NavigationHistoryEntry>;
1700
+ finished: Promise<NavigationHistoryEntry>;
1701
+ }
1702
+
1703
+ declare class NavigationTransition {
1704
+ readonly navigationType: NavigationTypeString;
1705
+ readonly from: NavigationHistoryEntry;
1706
+ readonly finished: Promise<void>;
1707
+ }
1708
+
1709
+ declare type NavigationTypeString = 'reload' | 'push' | 'replace' | 'traverse';
1710
+
1711
+ declare interface NavigationUpdateCurrentEntryOptions {
1712
+ state: unknown;
1713
+ }
1714
+
1569
1715
  /**
1570
1716
  * @ngModule CommonModule
1571
1717
  *
@@ -1821,7 +1967,7 @@ declare class NgForOf<T, U extends NgIterable<T> = NgIterable<T>> implements DoC
1821
1967
  * The value of the iterable expression, which can be used as a
1822
1968
  * [template input variable](guide/structural-directives#shorthand).
1823
1969
  */
1824
- set ngForOf(ngForOf: U & NgIterable<T> | undefined | null);
1970
+ set ngForOf(ngForOf: (U & NgIterable<T>) | undefined | null);
1825
1971
  /**
1826
1972
  * Specifies a custom `TrackByFunction` to compute the identity of items in an iterable.
1827
1973
  *
@@ -2272,6 +2418,15 @@ export declare class NgOptimizedImage implements OnInit, OnChanges, OnDestroy {
2272
2418
  * styles such that the image fills its containing element.
2273
2419
  */
2274
2420
  fill: boolean;
2421
+ /**
2422
+ * A URL or data URL for an image to be used as a placeholder while this image loads.
2423
+ */
2424
+ placeholder?: string | boolean;
2425
+ /**
2426
+ * Configuration object for placeholder settings. Options:
2427
+ * * blur: Setting this to false disables the automatic CSS blur.
2428
+ */
2429
+ placeholderConfig?: ImagePlaceholderConfig;
2275
2430
  /** @nodoc */
2276
2431
  ngOnInit(): void;
2277
2432
  private setHostAttributes;
@@ -2287,17 +2442,30 @@ export declare class NgOptimizedImage implements OnInit, OnChanges, OnDestroy {
2287
2442
  private updateSrcAndSrcset;
2288
2443
  private getFixedSrcset;
2289
2444
  private shouldGenerateAutomaticSrcset;
2445
+ /**
2446
+ * Returns an image url formatted for use with the CSS background-image property. Expects one of:
2447
+ * * A base64 encoded image, which is wrapped and passed through.
2448
+ * * A boolean. If true, calls the image loader to generate a small placeholder url.
2449
+ */
2450
+ private generatePlaceholder;
2451
+ /**
2452
+ * Determines if blur should be applied, based on an optional boolean
2453
+ * property `blur` within the optional configuration object `placeholderConfig`.
2454
+ */
2455
+ private shouldBlurPlaceholder;
2456
+ private removePlaceholderOnLoad;
2290
2457
  /** @nodoc */
2291
2458
  ngOnDestroy(): void;
2292
2459
  private setHostAttribute;
2293
2460
  static ɵfac: i0.ɵɵFactoryDeclaration<NgOptimizedImage, never>;
2294
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgOptimizedImage, "img[ngSrc]", never, { "ngSrc": { "alias": "ngSrc"; "required": true; }; "ngSrcset": { "alias": "ngSrcset"; "required": false; }; "sizes": { "alias": "sizes"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "priority": { "alias": "priority"; "required": false; }; "loaderParams": { "alias": "loaderParams"; "required": false; }; "disableOptimizedSrcset": { "alias": "disableOptimizedSrcset"; "required": false; }; "fill": { "alias": "fill"; "required": false; }; "src": { "alias": "src"; "required": false; }; "srcset": { "alias": "srcset"; "required": false; }; }, {}, never, never, true, never>;
2461
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgOptimizedImage, "img[ngSrc]", never, { "ngSrc": { "alias": "ngSrc"; "required": true; }; "ngSrcset": { "alias": "ngSrcset"; "required": false; }; "sizes": { "alias": "sizes"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "priority": { "alias": "priority"; "required": false; }; "loaderParams": { "alias": "loaderParams"; "required": false; }; "disableOptimizedSrcset": { "alias": "disableOptimizedSrcset"; "required": false; }; "fill": { "alias": "fill"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "placeholderConfig": { "alias": "placeholderConfig"; "required": false; }; "src": { "alias": "src"; "required": false; }; "srcset": { "alias": "srcset"; "required": false; }; }, {}, never, never, true, never>;
2295
2462
  static ngAcceptInputType_ngSrc: string | i0.ɵSafeValue;
2296
2463
  static ngAcceptInputType_width: unknown;
2297
2464
  static ngAcceptInputType_height: unknown;
2298
2465
  static ngAcceptInputType_priority: unknown;
2299
2466
  static ngAcceptInputType_disableOptimizedSrcset: unknown;
2300
2467
  static ngAcceptInputType_fill: unknown;
2468
+ static ngAcceptInputType_placeholder: boolean | string;
2301
2469
  }
2302
2470
 
2303
2471
  /**
@@ -2529,8 +2697,8 @@ export declare class NgSwitch {
2529
2697
  * that defines the subtree to be selected if the value of the match expression
2530
2698
  * matches the value of the switch expression.
2531
2699
  *
2532
- * Unlike JavaScript, which uses strict equality, Angular uses loose equality.
2533
- * This means that the empty string, `""` matches 0.
2700
+ * As of Angular v17 the NgSwitch directive uses strict equality comparison (`===`) instead of
2701
+ * loose equality (`==`) to match different cases.
2534
2702
  *
2535
2703
  * @publicApi
2536
2704
  * @see {@link NgSwitch}
@@ -3260,6 +3428,33 @@ export declare const ɵPLATFORM_WORKER_APP_ID = "browserWorkerApp";
3260
3428
 
3261
3429
  export declare const ɵPLATFORM_WORKER_UI_ID = "browserWorkerUi";
3262
3430
 
3431
+ /**
3432
+ * This class wraps the platform Navigation API which allows server-specific and test
3433
+ * implementations.
3434
+ */
3435
+ export declare abstract class ɵPlatformNavigation implements Navigation {
3436
+ abstract entries(): NavigationHistoryEntry[];
3437
+ abstract currentEntry: NavigationHistoryEntry | null;
3438
+ abstract updateCurrentEntry(options: NavigationUpdateCurrentEntryOptions): void;
3439
+ abstract transition: NavigationTransition | null;
3440
+ abstract canGoBack: boolean;
3441
+ abstract canGoForward: boolean;
3442
+ abstract navigate(url: string, options?: NavigationNavigateOptions | undefined): NavigationResult;
3443
+ abstract reload(options?: NavigationReloadOptions | undefined): NavigationResult;
3444
+ abstract traverseTo(key: string, options?: NavigationOptions | undefined): NavigationResult;
3445
+ abstract back(options?: NavigationOptions | undefined): NavigationResult;
3446
+ abstract forward(options?: NavigationOptions | undefined): NavigationResult;
3447
+ abstract onnavigate: ((this: Navigation, ev: NavigateEvent) => any) | null;
3448
+ abstract onnavigatesuccess: ((this: Navigation, ev: Event) => any) | null;
3449
+ abstract onnavigateerror: ((this: Navigation, ev: ErrorEvent) => any) | null;
3450
+ abstract oncurrententrychange: ((this: Navigation, ev: NavigationCurrentEntryChangeEvent) => any) | null;
3451
+ abstract addEventListener(type: unknown, listener: unknown, options?: unknown): void;
3452
+ abstract removeEventListener(type: unknown, listener: unknown, options?: unknown): void;
3453
+ abstract dispatchEvent(event: Event): boolean;
3454
+ static ɵfac: i0.ɵɵFactoryDeclaration<ɵPlatformNavigation, never>;
3455
+ static ɵprov: i0.ɵɵInjectableDeclaration<ɵPlatformNavigation>;
3456
+ }
3457
+
3263
3458
  export declare function ɵsetRootDomAdapter(adapter: ɵDomAdapter): void;
3264
3459
 
3265
3460
  export { }
package/locales/ff-CM.mjs CHANGED
@@ -19,26 +19,46 @@ function plural(n) {
19
19
  return 5;
20
20
  }
21
21
  export default [
22
- 'ff-CM', [['subaka', 'kikiiɗe'], u, u], u,
22
+ 'ff-CM',
23
+ [['subaka', 'kikiiɗe'], u, u],
24
+ u,
23
25
  [
24
- ['d', 'a', 'm', 'n', 'n', 'm', 'h'], ['dew', 'aaɓ', 'maw', 'nje', 'naa', 'mwd', 'hbi'],
26
+ ['d', 'a', 'm', 'n', 'n', 'm', 'h'],
27
+ ['dew', 'aaɓ', 'maw', 'nje', 'naa', 'mwd', 'hbi'],
25
28
  ['dewo', 'aaɓnde', 'mawbaare', 'njeslaare', 'naasaande', 'mawnde', 'hoore-biir'],
26
- ['dew', 'aaɓ', 'maw', 'nje', 'naa', 'mwd', 'hbi']
29
+ ['dew', 'aaɓ', 'maw', 'nje', 'naa', 'mwd', 'hbi'],
27
30
  ],
28
31
  u,
29
32
  [
30
33
  ['s', 'c', 'm', 's', 'd', 'k', 'm', 'j', 's', 'y', 'j', 'b'],
31
34
  ['sii', 'col', 'mbo', 'see', 'duu', 'kor', 'mor', 'juk', 'slt', 'yar', 'jol', 'bow'],
32
35
  [
33
- 'siilo', 'colte', 'mbooy', 'seeɗto', 'duujal', 'korse', 'morso', 'juko', 'siilto', 'yarkomaa',
34
- 'jolal', 'bowte'
35
- ]
36
+ 'siilo',
37
+ 'colte',
38
+ 'mbooy',
39
+ 'seeɗto',
40
+ 'duujal',
41
+ 'korse',
42
+ 'morso',
43
+ 'juko',
44
+ 'siilto',
45
+ 'yarkomaa',
46
+ 'jolal',
47
+ 'bowte',
48
+ ],
36
49
  ],
37
- u, [['H-I', 'C-I'], u, ['Hade Iisa', 'Caggal Iisa']], 1, [6, 0],
50
+ u,
51
+ [['H-I', 'C-I'], u, ['Hade Iisa', 'Caggal Iisa']],
52
+ 1,
53
+ [6, 0],
38
54
  ['d/M/y', 'd MMM, y', 'd MMMM y', 'EEEE d MMMM y'],
39
- ['HH:mm', 'HH:mm:ss', 'HH:mm:ss z', 'HH:mm:ss zzzz'], ['{1} {0}', u, u, u],
55
+ ['HH:mm', 'HH:mm:ss', 'HH:mm:ss z', 'HH:mm:ss zzzz'],
56
+ ['{1} {0}', u, u, u],
40
57
  [',', ' ', ';', '%', '+', '-', 'E', '×', '‰', '∞', 'NaN', ':'],
41
- ['#,##0.###', '#,##0%', '#,##0.00 ¤', '#E0'], 'FCFA', 'Mbuuɗi Seefaa BEAC',
42
- { 'JPY': ['JP¥', '¥'], 'USD': ['US$', '$'] }, plural
58
+ ['#,##0.###', '#,##0%', '#,##0.00 ¤', '#E0'],
59
+ 'FCFA',
60
+ 'Mbuuɗi Seefaa BEAC',
61
+ { 'JPY': ['JP¥', '¥'], 'USD': ['US$', '$'] },
62
+ plural,
43
63
  ];
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmYtQ00uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vbG9jYWxlcy9mZi1DTS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCwrRkFBK0Y7QUFDL0YsK0ZBQStGO0FBQy9GLDRGQUE0RjtBQUM1RixnR0FBZ0c7QUFDaEcsZ0dBQWdHO0FBQ2hHLGlGQUFpRjtBQUVqRixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUM7QUFFcEIsU0FBUyxNQUFNLENBQUMsQ0FBUztJQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqQyxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUM7QUFFRCxlQUFlO0lBQ2IsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDekM7UUFDRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQ3RGLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDO1FBQ2hGLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO0tBQ2xEO0lBQ0QsQ0FBQztJQUNEO1FBQ0UsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUM1RCxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQ3BGO1lBQ0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVTtZQUM3RixPQUFPLEVBQUUsT0FBTztTQUNqQjtLQUNGO0lBQ0QsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQztJQUNsRCxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGVBQWUsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7SUFDOUQsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsb0JBQW9CO0lBQzFFLEVBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBQyxFQUFFLE1BQU07Q0FDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4vLyAqKk5vdGUqKjogTG9jYWxlIGZpbGVzIGFyZSBnZW5lcmF0ZWQgdGhyb3VnaCBCYXplbCBhbmQgbmV2ZXIgcGFydCBvZiB0aGUgc291cmNlcy4gVGhpcyBpcyBhblxuLy8gZXhjZXB0aW9uIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4gV2l0aCB0aGUgR3VscCBzZXR1cCB3ZSBuZXZlciBkZWxldGVkIG9sZCBsb2NhbGUgZmlsZXNcbi8vIHdoZW4gdXBkYXRpbmcgQ0xEUiwgc28gb2xkZXIgbG9jYWxlIGZpbGVzIHdoaWNoIGhhdmUgYmVlbiByZW1vdmVkLCBvciByZW5hbWVkIGluIHRoZSBDTERSXG4vLyBkYXRhIHJlbWFpbmVkIGluIHRoZSByZXBvc2l0b3J5LiBXZSBrZWVwIHRoZXNlIGZpbGVzIGNoZWNrZWQtaW4gdW50aWwgdGhlIG5leHQgbWFqb3IgdG8gYXZvaWRcbi8vIHBvdGVudGlhbCBicmVha2luZyBjaGFuZ2VzLiBJdCdzIHdvcnRoIG5vdGluZyB0aGF0IHRoZSBsb2NhbGUgZGF0YSBmb3Igc3VjaCBmaWxlcyBpcyBvdXRkYXRlZFxuLy8gYW55d2F5LiBlLmcuIHRoZSBkYXRhIGlzIG1pc3NpbmcgdGhlIGRpcmVjdGlvbmFsaXR5LCB0aHJvd2luZyBvZmYgdGhlIGluZGljZXMuXG5cbmNvbnN0IHUgPSB1bmRlZmluZWQ7XG5cbmZ1bmN0aW9uIHBsdXJhbChuOiBudW1iZXIpOiBudW1iZXIge1xuICBsZXQgaSA9IE1hdGguZmxvb3IoTWF0aC5hYnMobikpO1xuICBpZiAoaSA9PT0gMCB8fCBpID09PSAxKSByZXR1cm4gMTtcbiAgcmV0dXJuIDU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFtcbiAgJ2ZmLUNNJywgW1snc3ViYWthJywgJ2tpa2lpyZdlJ10sIHUsIHVdLCB1LFxuICBbXG4gICAgWydkJywgJ2EnLCAnbScsICduJywgJ24nLCAnbScsICdoJ10sIFsnZGV3JywgJ2FhyZMnLCAnbWF3JywgJ25qZScsICduYWEnLCAnbXdkJywgJ2hiaSddLFxuICAgIFsnZGV3bycsICdhYcmTbmRlJywgJ21hd2JhYXJlJywgJ25qZXNsYWFyZScsICduYWFzYWFuZGUnLCAnbWF3bmRlJywgJ2hvb3JlLWJpaXInXSxcbiAgICBbJ2RldycsICdhYcmTJywgJ21hdycsICduamUnLCAnbmFhJywgJ213ZCcsICdoYmknXVxuICBdLFxuICB1LFxuICBbXG4gICAgWydzJywgJ2MnLCAnbScsICdzJywgJ2QnLCAnaycsICdtJywgJ2onLCAncycsICd5JywgJ2onLCAnYiddLFxuICAgIFsnc2lpJywgJ2NvbCcsICdtYm8nLCAnc2VlJywgJ2R1dScsICdrb3InLCAnbW9yJywgJ2p1aycsICdzbHQnLCAneWFyJywgJ2pvbCcsICdib3cnXSxcbiAgICBbXG4gICAgICAnc2lpbG8nLCAnY29sdGUnLCAnbWJvb3knLCAnc2VlyZd0bycsICdkdXVqYWwnLCAna29yc2UnLCAnbW9yc28nLCAnanVrbycsICdzaWlsdG8nLCAneWFya29tYWEnLFxuICAgICAgJ2pvbGFsJywgJ2Jvd3RlJ1xuICAgIF1cbiAgXSxcbiAgdSwgW1snSC1JJywgJ0MtSSddLCB1LCBbJ0hhZGUgSWlzYScsICdDYWdnYWwgSWlzYSddXSwgMSwgWzYsIDBdLFxuICBbJ2QvTS95JywgJ2QgTU1NLCB5JywgJ2QgTU1NTSB5JywgJ0VFRUUgZCBNTU1NIHknXSxcbiAgWydISDptbScsICdISDptbTpzcycsICdISDptbTpzcyB6JywgJ0hIOm1tOnNzIHp6enonXSwgWyd7MX0gezB9JywgdSwgdSwgdV0sXG4gIFsnLCcsICfCoCcsICc7JywgJyUnLCAnKycsICctJywgJ0UnLCAnw5cnLCAn4oCwJywgJ+KInicsICdOYU4nLCAnOiddLFxuICBbJyMsIyMwLiMjIycsICcjLCMjMCUnLCAnIywjIzAuMDDCoMKkJywgJyNFMCddLCAnRkNGQScsICdNYnV1yZdpIFNlZWZhYSBCRUFDJyxcbiAgeydKUFknOiBbJ0pQwqUnLCAnwqUnXSwgJ1VTRCc6IFsnVVMkJywgJyQnXX0sIHBsdXJhbFxuXTtcbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmYtQ00uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vbG9jYWxlcy9mZi1DTS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCwrRkFBK0Y7QUFDL0YsK0ZBQStGO0FBQy9GLDRGQUE0RjtBQUM1RixnR0FBZ0c7QUFDaEcsZ0dBQWdHO0FBQ2hHLGlGQUFpRjtBQUVqRixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUM7QUFFcEIsU0FBUyxNQUFNLENBQUMsQ0FBUztJQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqQyxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUM7QUFFRCxlQUFlO0lBQ2IsT0FBTztJQUNQLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0Q7UUFDRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUNuQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUNqRCxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQztRQUNoRixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztLQUNsRDtJQUNELENBQUM7SUFDRDtRQUNFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDNUQsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUNwRjtZQUNFLE9BQU87WUFDUCxPQUFPO1lBQ1AsT0FBTztZQUNQLFFBQVE7WUFDUixRQUFRO1lBQ1IsT0FBTztZQUNQLE9BQU87WUFDUCxNQUFNO1lBQ04sUUFBUTtZQUNSLFVBQVU7WUFDVixPQUFPO1lBQ1AsT0FBTztTQUNSO0tBQ0Y7SUFDRCxDQUFDO0lBQ0QsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNOLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDO0lBQ2xELENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsZUFBZSxDQUFDO0lBQ3BELENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7SUFDOUQsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUM7SUFDNUMsTUFBTTtJQUNOLG9CQUFvQjtJQUNwQixFQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUM7SUFDMUMsTUFBTTtDQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLy8gKipOb3RlKio6IExvY2FsZSBmaWxlcyBhcmUgZ2VuZXJhdGVkIHRocm91Z2ggQmF6ZWwgYW5kIG5ldmVyIHBhcnQgb2YgdGhlIHNvdXJjZXMuIFRoaXMgaXMgYW5cbi8vIGV4Y2VwdGlvbiBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuIFdpdGggdGhlIEd1bHAgc2V0dXAgd2UgbmV2ZXIgZGVsZXRlZCBvbGQgbG9jYWxlIGZpbGVzXG4vLyB3aGVuIHVwZGF0aW5nIENMRFIsIHNvIG9sZGVyIGxvY2FsZSBmaWxlcyB3aGljaCBoYXZlIGJlZW4gcmVtb3ZlZCwgb3IgcmVuYW1lZCBpbiB0aGUgQ0xEUlxuLy8gZGF0YSByZW1haW5lZCBpbiB0aGUgcmVwb3NpdG9yeS4gV2Uga2VlcCB0aGVzZSBmaWxlcyBjaGVja2VkLWluIHVudGlsIHRoZSBuZXh0IG1ham9yIHRvIGF2b2lkXG4vLyBwb3RlbnRpYWwgYnJlYWtpbmcgY2hhbmdlcy4gSXQncyB3b3J0aCBub3RpbmcgdGhhdCB0aGUgbG9jYWxlIGRhdGEgZm9yIHN1Y2ggZmlsZXMgaXMgb3V0ZGF0ZWRcbi8vIGFueXdheS4gZS5nLiB0aGUgZGF0YSBpcyBtaXNzaW5nIHRoZSBkaXJlY3Rpb25hbGl0eSwgdGhyb3dpbmcgb2ZmIHRoZSBpbmRpY2VzLlxuXG5jb25zdCB1ID0gdW5kZWZpbmVkO1xuXG5mdW5jdGlvbiBwbHVyYWwobjogbnVtYmVyKTogbnVtYmVyIHtcbiAgbGV0IGkgPSBNYXRoLmZsb29yKE1hdGguYWJzKG4pKTtcbiAgaWYgKGkgPT09IDAgfHwgaSA9PT0gMSkgcmV0dXJuIDE7XG4gIHJldHVybiA1O1xufVxuXG5leHBvcnQgZGVmYXVsdCBbXG4gICdmZi1DTScsXG4gIFtbJ3N1YmFrYScsICdraWtpacmXZSddLCB1LCB1XSxcbiAgdSxcbiAgW1xuICAgIFsnZCcsICdhJywgJ20nLCAnbicsICduJywgJ20nLCAnaCddLFxuICAgIFsnZGV3JywgJ2FhyZMnLCAnbWF3JywgJ25qZScsICduYWEnLCAnbXdkJywgJ2hiaSddLFxuICAgIFsnZGV3bycsICdhYcmTbmRlJywgJ21hd2JhYXJlJywgJ25qZXNsYWFyZScsICduYWFzYWFuZGUnLCAnbWF3bmRlJywgJ2hvb3JlLWJpaXInXSxcbiAgICBbJ2RldycsICdhYcmTJywgJ21hdycsICduamUnLCAnbmFhJywgJ213ZCcsICdoYmknXSxcbiAgXSxcbiAgdSxcbiAgW1xuICAgIFsncycsICdjJywgJ20nLCAncycsICdkJywgJ2snLCAnbScsICdqJywgJ3MnLCAneScsICdqJywgJ2InXSxcbiAgICBbJ3NpaScsICdjb2wnLCAnbWJvJywgJ3NlZScsICdkdXUnLCAna29yJywgJ21vcicsICdqdWsnLCAnc2x0JywgJ3lhcicsICdqb2wnLCAnYm93J10sXG4gICAgW1xuICAgICAgJ3NpaWxvJyxcbiAgICAgICdjb2x0ZScsXG4gICAgICAnbWJvb3knLFxuICAgICAgJ3NlZcmXdG8nLFxuICAgICAgJ2R1dWphbCcsXG4gICAgICAna29yc2UnLFxuICAgICAgJ21vcnNvJyxcbiAgICAgICdqdWtvJyxcbiAgICAgICdzaWlsdG8nLFxuICAgICAgJ3lhcmtvbWFhJyxcbiAgICAgICdqb2xhbCcsXG4gICAgICAnYm93dGUnLFxuICAgIF0sXG4gIF0sXG4gIHUsXG4gIFtbJ0gtSScsICdDLUknXSwgdSwgWydIYWRlIElpc2EnLCAnQ2FnZ2FsIElpc2EnXV0sXG4gIDEsXG4gIFs2LCAwXSxcbiAgWydkL00veScsICdkIE1NTSwgeScsICdkIE1NTU0geScsICdFRUVFIGQgTU1NTSB5J10sXG4gIFsnSEg6bW0nLCAnSEg6bW06c3MnLCAnSEg6bW06c3MgeicsICdISDptbTpzcyB6enp6J10sXG4gIFsnezF9IHswfScsIHUsIHUsIHVdLFxuICBbJywnLCAnwqAnLCAnOycsICclJywgJysnLCAnLScsICdFJywgJ8OXJywgJ+KAsCcsICfiiJ4nLCAnTmFOJywgJzonXSxcbiAgWycjLCMjMC4jIyMnLCAnIywjIzAlJywgJyMsIyMwLjAwwqDCpCcsICcjRTAnXSxcbiAgJ0ZDRkEnLFxuICAnTWJ1dcmXaSBTZWVmYWEgQkVBQycsXG4gIHsnSlBZJzogWydKUMKlJywgJ8KlJ10sICdVU0QnOiBbJ1VTJCcsICckJ119LFxuICBwbHVyYWwsXG5dO1xuIl19
package/locales/ff-GN.mjs CHANGED
@@ -19,26 +19,46 @@ function plural(n) {
19
19
  return 5;
20
20
  }
21
21
  export default [
22
- 'ff-GN', [['subaka', 'kikiiɗe'], u, u], u,
22
+ 'ff-GN',
23
+ [['subaka', 'kikiiɗe'], u, u],
24
+ u,
23
25
  [
24
- ['d', 'a', 'm', 'n', 'n', 'm', 'h'], ['dew', 'aaɓ', 'maw', 'nje', 'naa', 'mwd', 'hbi'],
26
+ ['d', 'a', 'm', 'n', 'n', 'm', 'h'],
27
+ ['dew', 'aaɓ', 'maw', 'nje', 'naa', 'mwd', 'hbi'],
25
28
  ['dewo', 'aaɓnde', 'mawbaare', 'njeslaare', 'naasaande', 'mawnde', 'hoore-biir'],
26
- ['dew', 'aaɓ', 'maw', 'nje', 'naa', 'mwd', 'hbi']
29
+ ['dew', 'aaɓ', 'maw', 'nje', 'naa', 'mwd', 'hbi'],
27
30
  ],
28
31
  u,
29
32
  [
30
33
  ['s', 'c', 'm', 's', 'd', 'k', 'm', 'j', 's', 'y', 'j', 'b'],
31
34
  ['sii', 'col', 'mbo', 'see', 'duu', 'kor', 'mor', 'juk', 'slt', 'yar', 'jol', 'bow'],
32
35
  [
33
- 'siilo', 'colte', 'mbooy', 'seeɗto', 'duujal', 'korse', 'morso', 'juko', 'siilto', 'yarkomaa',
34
- 'jolal', 'bowte'
35
- ]
36
+ 'siilo',
37
+ 'colte',
38
+ 'mbooy',
39
+ 'seeɗto',
40
+ 'duujal',
41
+ 'korse',
42
+ 'morso',
43
+ 'juko',
44
+ 'siilto',
45
+ 'yarkomaa',
46
+ 'jolal',
47
+ 'bowte',
48
+ ],
36
49
  ],
37
- u, [['H-I', 'C-I'], u, ['Hade Iisa', 'Caggal Iisa']], 1, [6, 0],
50
+ u,
51
+ [['H-I', 'C-I'], u, ['Hade Iisa', 'Caggal Iisa']],
52
+ 1,
53
+ [6, 0],
38
54
  ['d/M/y', 'd MMM, y', 'd MMMM y', 'EEEE d MMMM y'],
39
- ['HH:mm', 'HH:mm:ss', 'HH:mm:ss z', 'HH:mm:ss zzzz'], ['{1} {0}', u, u, u],
55
+ ['HH:mm', 'HH:mm:ss', 'HH:mm:ss z', 'HH:mm:ss zzzz'],
56
+ ['{1} {0}', u, u, u],
40
57
  [',', ' ', ';', '%', '+', '-', 'E', '×', '‰', '∞', 'NaN', ':'],
41
- ['#,##0.###', '#,##0%', '#,##0.00 ¤', '#E0'], 'FG', 'GNF',
42
- { 'GNF': ['FG'], 'JPY': ['JP¥', '¥'], 'USD': ['US$', '$'] }, plural
58
+ ['#,##0.###', '#,##0%', '#,##0.00 ¤', '#E0'],
59
+ 'FG',
60
+ 'GNF',
61
+ { 'GNF': ['FG'], 'JPY': ['JP¥', '¥'], 'USD': ['US$', '$'] },
62
+ plural,
43
63
  ];
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmYtR04uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vbG9jYWxlcy9mZi1HTi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCwrRkFBK0Y7QUFDL0YsK0ZBQStGO0FBQy9GLDRGQUE0RjtBQUM1RixnR0FBZ0c7QUFDaEcsZ0dBQWdHO0FBQ2hHLGlGQUFpRjtBQUVqRixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUM7QUFFcEIsU0FBUyxNQUFNLENBQUMsQ0FBUztJQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqQyxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUM7QUFFRCxlQUFlO0lBQ2IsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDekM7UUFDRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQ3RGLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDO1FBQ2hGLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO0tBQ2xEO0lBQ0QsQ0FBQztJQUNEO1FBQ0UsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUM1RCxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQ3BGO1lBQ0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVTtZQUM3RixPQUFPLEVBQUUsT0FBTztTQUNqQjtLQUNGO0lBQ0QsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQztJQUNsRCxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGVBQWUsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7SUFDOUQsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSztJQUN6RCxFQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUMsRUFBRSxNQUFNO0NBQ2xFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLy8gKipOb3RlKio6IExvY2FsZSBmaWxlcyBhcmUgZ2VuZXJhdGVkIHRocm91Z2ggQmF6ZWwgYW5kIG5ldmVyIHBhcnQgb2YgdGhlIHNvdXJjZXMuIFRoaXMgaXMgYW5cbi8vIGV4Y2VwdGlvbiBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuIFdpdGggdGhlIEd1bHAgc2V0dXAgd2UgbmV2ZXIgZGVsZXRlZCBvbGQgbG9jYWxlIGZpbGVzXG4vLyB3aGVuIHVwZGF0aW5nIENMRFIsIHNvIG9sZGVyIGxvY2FsZSBmaWxlcyB3aGljaCBoYXZlIGJlZW4gcmVtb3ZlZCwgb3IgcmVuYW1lZCBpbiB0aGUgQ0xEUlxuLy8gZGF0YSByZW1haW5lZCBpbiB0aGUgcmVwb3NpdG9yeS4gV2Uga2VlcCB0aGVzZSBmaWxlcyBjaGVja2VkLWluIHVudGlsIHRoZSBuZXh0IG1ham9yIHRvIGF2b2lkXG4vLyBwb3RlbnRpYWwgYnJlYWtpbmcgY2hhbmdlcy4gSXQncyB3b3J0aCBub3RpbmcgdGhhdCB0aGUgbG9jYWxlIGRhdGEgZm9yIHN1Y2ggZmlsZXMgaXMgb3V0ZGF0ZWRcbi8vIGFueXdheS4gZS5nLiB0aGUgZGF0YSBpcyBtaXNzaW5nIHRoZSBkaXJlY3Rpb25hbGl0eSwgdGhyb3dpbmcgb2ZmIHRoZSBpbmRpY2VzLlxuXG5jb25zdCB1ID0gdW5kZWZpbmVkO1xuXG5mdW5jdGlvbiBwbHVyYWwobjogbnVtYmVyKTogbnVtYmVyIHtcbiAgbGV0IGkgPSBNYXRoLmZsb29yKE1hdGguYWJzKG4pKTtcbiAgaWYgKGkgPT09IDAgfHwgaSA9PT0gMSkgcmV0dXJuIDE7XG4gIHJldHVybiA1O1xufVxuXG5leHBvcnQgZGVmYXVsdCBbXG4gICdmZi1HTicsIFtbJ3N1YmFrYScsICdraWtpacmXZSddLCB1LCB1XSwgdSxcbiAgW1xuICAgIFsnZCcsICdhJywgJ20nLCAnbicsICduJywgJ20nLCAnaCddLCBbJ2RldycsICdhYcmTJywgJ21hdycsICduamUnLCAnbmFhJywgJ213ZCcsICdoYmknXSxcbiAgICBbJ2Rld28nLCAnYWHJk25kZScsICdtYXdiYWFyZScsICduamVzbGFhcmUnLCAnbmFhc2FhbmRlJywgJ21hd25kZScsICdob29yZS1iaWlyJ10sXG4gICAgWydkZXcnLCAnYWHJkycsICdtYXcnLCAnbmplJywgJ25hYScsICdtd2QnLCAnaGJpJ11cbiAgXSxcbiAgdSxcbiAgW1xuICAgIFsncycsICdjJywgJ20nLCAncycsICdkJywgJ2snLCAnbScsICdqJywgJ3MnLCAneScsICdqJywgJ2InXSxcbiAgICBbJ3NpaScsICdjb2wnLCAnbWJvJywgJ3NlZScsICdkdXUnLCAna29yJywgJ21vcicsICdqdWsnLCAnc2x0JywgJ3lhcicsICdqb2wnLCAnYm93J10sXG4gICAgW1xuICAgICAgJ3NpaWxvJywgJ2NvbHRlJywgJ21ib295JywgJ3NlZcmXdG8nLCAnZHV1amFsJywgJ2tvcnNlJywgJ21vcnNvJywgJ2p1a28nLCAnc2lpbHRvJywgJ3lhcmtvbWFhJyxcbiAgICAgICdqb2xhbCcsICdib3d0ZSdcbiAgICBdXG4gIF0sXG4gIHUsIFtbJ0gtSScsICdDLUknXSwgdSwgWydIYWRlIElpc2EnLCAnQ2FnZ2FsIElpc2EnXV0sIDEsIFs2LCAwXSxcbiAgWydkL00veScsICdkIE1NTSwgeScsICdkIE1NTU0geScsICdFRUVFIGQgTU1NTSB5J10sXG4gIFsnSEg6bW0nLCAnSEg6bW06c3MnLCAnSEg6bW06c3MgeicsICdISDptbTpzcyB6enp6J10sIFsnezF9IHswfScsIHUsIHUsIHVdLFxuICBbJywnLCAnwqAnLCAnOycsICclJywgJysnLCAnLScsICdFJywgJ8OXJywgJ+KAsCcsICfiiJ4nLCAnTmFOJywgJzonXSxcbiAgWycjLCMjMC4jIyMnLCAnIywjIzAlJywgJyMsIyMwLjAwwqDCpCcsICcjRTAnXSwgJ0ZHJywgJ0dORicsXG4gIHsnR05GJzogWydGRyddLCAnSlBZJzogWydKUMKlJywgJ8KlJ10sICdVU0QnOiBbJ1VTJCcsICckJ119LCBwbHVyYWxcbl07XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmYtR04uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vbG9jYWxlcy9mZi1HTi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCwrRkFBK0Y7QUFDL0YsK0ZBQStGO0FBQy9GLDRGQUE0RjtBQUM1RixnR0FBZ0c7QUFDaEcsZ0dBQWdHO0FBQ2hHLGlGQUFpRjtBQUVqRixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUM7QUFFcEIsU0FBUyxNQUFNLENBQUMsQ0FBUztJQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqQyxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUM7QUFFRCxlQUFlO0lBQ2IsT0FBTztJQUNQLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0Q7UUFDRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUNuQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUNqRCxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQztRQUNoRixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztLQUNsRDtJQUNELENBQUM7SUFDRDtRQUNFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDNUQsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUNwRjtZQUNFLE9BQU87WUFDUCxPQUFPO1lBQ1AsT0FBTztZQUNQLFFBQVE7WUFDUixRQUFRO1lBQ1IsT0FBTztZQUNQLE9BQU87WUFDUCxNQUFNO1lBQ04sUUFBUTtZQUNSLFVBQVU7WUFDVixPQUFPO1lBQ1AsT0FBTztTQUNSO0tBQ0Y7SUFDRCxDQUFDO0lBQ0QsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNOLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDO0lBQ2xELENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsZUFBZSxDQUFDO0lBQ3BELENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7SUFDOUQsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUM7SUFDNUMsSUFBSTtJQUNKLEtBQUs7SUFDTCxFQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUM7SUFDekQsTUFBTTtDQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLy8gKipOb3RlKio6IExvY2FsZSBmaWxlcyBhcmUgZ2VuZXJhdGVkIHRocm91Z2ggQmF6ZWwgYW5kIG5ldmVyIHBhcnQgb2YgdGhlIHNvdXJjZXMuIFRoaXMgaXMgYW5cbi8vIGV4Y2VwdGlvbiBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuIFdpdGggdGhlIEd1bHAgc2V0dXAgd2UgbmV2ZXIgZGVsZXRlZCBvbGQgbG9jYWxlIGZpbGVzXG4vLyB3aGVuIHVwZGF0aW5nIENMRFIsIHNvIG9sZGVyIGxvY2FsZSBmaWxlcyB3aGljaCBoYXZlIGJlZW4gcmVtb3ZlZCwgb3IgcmVuYW1lZCBpbiB0aGUgQ0xEUlxuLy8gZGF0YSByZW1haW5lZCBpbiB0aGUgcmVwb3NpdG9yeS4gV2Uga2VlcCB0aGVzZSBmaWxlcyBjaGVja2VkLWluIHVudGlsIHRoZSBuZXh0IG1ham9yIHRvIGF2b2lkXG4vLyBwb3RlbnRpYWwgYnJlYWtpbmcgY2hhbmdlcy4gSXQncyB3b3J0aCBub3RpbmcgdGhhdCB0aGUgbG9jYWxlIGRhdGEgZm9yIHN1Y2ggZmlsZXMgaXMgb3V0ZGF0ZWRcbi8vIGFueXdheS4gZS5nLiB0aGUgZGF0YSBpcyBtaXNzaW5nIHRoZSBkaXJlY3Rpb25hbGl0eSwgdGhyb3dpbmcgb2ZmIHRoZSBpbmRpY2VzLlxuXG5jb25zdCB1ID0gdW5kZWZpbmVkO1xuXG5mdW5jdGlvbiBwbHVyYWwobjogbnVtYmVyKTogbnVtYmVyIHtcbiAgbGV0IGkgPSBNYXRoLmZsb29yKE1hdGguYWJzKG4pKTtcbiAgaWYgKGkgPT09IDAgfHwgaSA9PT0gMSkgcmV0dXJuIDE7XG4gIHJldHVybiA1O1xufVxuXG5leHBvcnQgZGVmYXVsdCBbXG4gICdmZi1HTicsXG4gIFtbJ3N1YmFrYScsICdraWtpacmXZSddLCB1LCB1XSxcbiAgdSxcbiAgW1xuICAgIFsnZCcsICdhJywgJ20nLCAnbicsICduJywgJ20nLCAnaCddLFxuICAgIFsnZGV3JywgJ2FhyZMnLCAnbWF3JywgJ25qZScsICduYWEnLCAnbXdkJywgJ2hiaSddLFxuICAgIFsnZGV3bycsICdhYcmTbmRlJywgJ21hd2JhYXJlJywgJ25qZXNsYWFyZScsICduYWFzYWFuZGUnLCAnbWF3bmRlJywgJ2hvb3JlLWJpaXInXSxcbiAgICBbJ2RldycsICdhYcmTJywgJ21hdycsICduamUnLCAnbmFhJywgJ213ZCcsICdoYmknXSxcbiAgXSxcbiAgdSxcbiAgW1xuICAgIFsncycsICdjJywgJ20nLCAncycsICdkJywgJ2snLCAnbScsICdqJywgJ3MnLCAneScsICdqJywgJ2InXSxcbiAgICBbJ3NpaScsICdjb2wnLCAnbWJvJywgJ3NlZScsICdkdXUnLCAna29yJywgJ21vcicsICdqdWsnLCAnc2x0JywgJ3lhcicsICdqb2wnLCAnYm93J10sXG4gICAgW1xuICAgICAgJ3NpaWxvJyxcbiAgICAgICdjb2x0ZScsXG4gICAgICAnbWJvb3knLFxuICAgICAgJ3NlZcmXdG8nLFxuICAgICAgJ2R1dWphbCcsXG4gICAgICAna29yc2UnLFxuICAgICAgJ21vcnNvJyxcbiAgICAgICdqdWtvJyxcbiAgICAgICdzaWlsdG8nLFxuICAgICAgJ3lhcmtvbWFhJyxcbiAgICAgICdqb2xhbCcsXG4gICAgICAnYm93dGUnLFxuICAgIF0sXG4gIF0sXG4gIHUsXG4gIFtbJ0gtSScsICdDLUknXSwgdSwgWydIYWRlIElpc2EnLCAnQ2FnZ2FsIElpc2EnXV0sXG4gIDEsXG4gIFs2LCAwXSxcbiAgWydkL00veScsICdkIE1NTSwgeScsICdkIE1NTU0geScsICdFRUVFIGQgTU1NTSB5J10sXG4gIFsnSEg6bW0nLCAnSEg6bW06c3MnLCAnSEg6bW06c3MgeicsICdISDptbTpzcyB6enp6J10sXG4gIFsnezF9IHswfScsIHUsIHUsIHVdLFxuICBbJywnLCAnwqAnLCAnOycsICclJywgJysnLCAnLScsICdFJywgJ8OXJywgJ+KAsCcsICfiiJ4nLCAnTmFOJywgJzonXSxcbiAgWycjLCMjMC4jIyMnLCAnIywjIzAlJywgJyMsIyMwLjAwwqDCpCcsICcjRTAnXSxcbiAgJ0ZHJyxcbiAgJ0dORicsXG4gIHsnR05GJzogWydGRyddLCAnSlBZJzogWydKUMKlJywgJ8KlJ10sICdVU0QnOiBbJ1VTJCcsICckJ119LFxuICBwbHVyYWwsXG5dO1xuIl19