shared-lib-angular 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 (665) hide show
  1. package/.jest-cache/haste-map-9a3a3745ceefdbbde8dc96f3a11cb645-3313177a4f89a162d7e60aa270d6b5d6-d877677507d3d7567ce00a92135137ab +0 -0
  2. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/00/appconfig_00660af3355c71a72b8aafc720c254bb +2876 -0
  3. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/00/appconfig_00660af3355c71a72b8aafc720c254bb.map +1 -0
  4. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/00/every_00ea673d9604654690cab843fc8d8314 +22 -0
  5. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/00/every_00ea673d9604654690cab843fc8d8314.map +1 -0
  6. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/01/signal_019d00f4a5bdafd54307cfe5834fe796 +473 -0
  7. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/01/signal_019d00f4a5bdafd54307cfe5834fe796.map +7 -0
  8. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/02/exhaustAll_026083d1cce38f6911e761c16eef3d8a +11 -0
  9. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/02/exhaustAll_026083d1cce38f6911e761c16eef3d8a.map +1 -0
  10. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/intervalProvider_039ba6649af0878c191dfc0232ba33bb +52 -0
  11. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/intervalProvider_039ba6649af0878c191dfc0232ba33bb.map +1 -0
  12. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/loginconfiginterface_032bcdb7ef7be7283c308534eb016055 +106 -0
  13. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/loginconfiginterface_032bcdb7ef7be7283c308534eb016055.map +1 -0
  14. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/router_module_0320e629edfbb4fca0e75956de46b6d1 +1097 -0
  15. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/router_module_0320e629edfbb4fca0e75956de46b6d1.map +7 -0
  16. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/windowCount_03de01b105e8b75219fbc733a8fedb95 +79 -0
  17. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/03/windowCount_03de01b105e8b75219fbc733a8fedb95.map +1 -0
  18. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/05/browser_055ace85954b6943b58763b1108ccf12 +447 -0
  19. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/05/browser_055ace85954b6943b58763b1108ccf12.map +7 -0
  20. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/05/skip_057d7b1b3d1f246b35050c7ccf270a63 +10 -0
  21. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/05/skip_057d7b1b3d1f246b35050c7ccf270a63.map +1 -0
  22. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/06/schedulePromise_064651f3ace52a5a5d96f68314477e73 +12 -0
  23. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/06/schedulePromise_064651f3ace52a5a5d96f68314477e73.map +1 -0
  24. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/07/NotificationFactories_074c93396e1b1d62e7726ae8e260c235 +22 -0
  25. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/07/NotificationFactories_074c93396e1b1d62e7726ae8e260c235.map +1 -0
  26. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/07/testing_079979d81f362174b548c428f972337a +2952 -0
  27. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/07/testing_079979d81f362174b548c428f972337a.map +7 -0
  28. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/08/expand_0834ec9bae8fdda9fdcf6f218c0aa977 +17 -0
  29. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/08/expand_0834ec9bae8fdda9fdcf6f218c0aa977.map +1 -0
  30. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0a/authorizationservice_0a4bddc2811eebff94ab3084863255e6 +2329 -0
  31. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0a/authorizationservice_0a4bddc2811eebff94ab3084863255e6.map +1 -0
  32. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0a/last_0a681bf522e482a763682ee8f10bf6c9 +18 -0
  33. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0a/last_0a681bf522e482a763682ee8f10bf6c9.map +1 -0
  34. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0b/pairs_0bdbd8525961358b23ffad7d9789a968 +10 -0
  35. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0b/pairs_0bdbd8525961358b23ffad7d9789a968.map +1 -0
  36. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0d/immediateProvider_0d7f5944f088c0dabae14a12eca2b9d8 +51 -0
  37. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0d/immediateProvider_0d7f5944f088c0dabae14a12eca2b9d8.map +1 -0
  38. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0d/scan_0daefd10f43473197937af7f8452ec9d +11 -0
  39. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0d/scan_0daefd10f43473197937af7f8452ec9d.map +1 -0
  40. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0e/retry_0e69e48fa2132882bdcdd05127f2ea7d +76 -0
  41. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/0e/retry_0e69e48fa2132882bdcdd05127f2ea7d.map +1 -0
  42. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/10/connect_105a8433fbea3cf741b136868b5951ba +24 -0
  43. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/10/connect_105a8433fbea3cf741b136868b5951ba.map +1 -0
  44. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/11/configservice_116e7dcf57d3d950117a5aa042cc0276 +902 -0
  45. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/11/configservice_116e7dcf57d3d950117a5aa042cc0276.map +1 -0
  46. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/AsyncSubject_120a173bd57e247e7f3ae18d0fd9b0fa +59 -0
  47. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/AsyncSubject_120a173bd57e247e7f3ae18d0fd9b0fa.map +1 -0
  48. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/repeatWhen_12cbec784a31a01dab7e78fe5e785053 +51 -0
  49. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/repeatWhen_12cbec784a31a01dab7e78fe5e785053.map +1 -0
  50. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/timeout_12ee70a93a9cd2707866c8eb02e10ad5 +66 -0
  51. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/12/timeout_12ee70a93a9cd2707866c8eb02e10ad5.map +1 -0
  52. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/14/count_149d69890a146cbacf66e6c02e77bd70 +10 -0
  53. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/14/count_149d69890a146cbacf66e6c02e77bd70.map +1 -0
  54. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/17/concat_174ab4f709f4956224457d08efab3503 +49 -0
  55. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/17/concat_174ab4f709f4956224457d08efab3503.map +1 -0
  56. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/17/throttle_17dfd679b2c59a6682f69508ee864ece +50 -0
  57. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/17/throttle_17dfd679b2c59a6682f69508ee864ece.map +1 -0
  58. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/18/QueueAction_18ebd8a34d165e459d10416b5abb2871 +59 -0
  59. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/18/QueueAction_18ebd8a34d165e459d10416b5abb2871.map +1 -0
  60. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/18/sequenceEqual_18018ebae3a1cc1813ae68980e76eff3 +47 -0
  61. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/18/sequenceEqual_18018ebae3a1cc1813ae68980e76eff3.map +1 -0
  62. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/19/delay_19f4d0866dea676d2bf43640461b8bfd +16 -0
  63. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/19/delay_19f4d0866dea676d2bf43640461b8bfd.map +1 -0
  64. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/19/throwUnobservableError_19baf3c85f87dad02f0536ca4e5cd60b +9 -0
  65. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/19/throwUnobservableError_19baf3c85f87dad02f0536ca4e5cd60b.map +1 -0
  66. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1a/windowWhen_1ac92e99f6e696e8f4204c5e4ebccf14 +43 -0
  67. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1a/windowWhen_1ac92e99f6e696e8f4204c5e4ebccf14.map +1 -0
  68. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1b/publishBehavior_1bf352339730e38d34a5d5e153bf7ebb +14 -0
  69. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1b/publishBehavior_1bf352339730e38d34a5d5e153bf7ebb.map +1 -0
  70. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1c/router_1c347a355ab0892e02fa5e69908d9080 +128 -0
  71. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1c/router_1c347a355ab0892e02fa5e69908d9080.map +7 -0
  72. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1d/logincomponent_1d4d7655bd3ebd5415f5b3e5b7f940be +2 -0
  73. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1e/isInteropObservable_1efea59365a17c9061ea4e21e7f2c6ae +11 -0
  74. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1e/isInteropObservable_1efea59365a17c9061ea4e21e7f2c6ae.map +1 -0
  75. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1e/sampleTime_1ed0a693b811e901145a88e55e6945d0 +15 -0
  76. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1e/sampleTime_1ed0a693b811e901145a88e55e6945d0.map +1 -0
  77. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1f/asap_1f8dd8afdbfd6d830ea655a48958de6e +9 -0
  78. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1f/asap_1f8dd8afdbfd6d830ea655a48958de6e.map +1 -0
  79. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1f/authenticationservice_1f271b3e269ad8b2e94278f0b9e63c1e +4527 -0
  80. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/1f/authenticationservice_1f271b3e269ad8b2e94278f0b9e63c1e.map +1 -0
  81. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/21/fromSubscribable_218d9c2a708868b4ddcc33c959eb246d +10 -0
  82. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/21/fromSubscribable_218d9c2a708868b4ddcc33c959eb246d.map +1 -0
  83. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/22/mergeAll_22eabe4111038330cd0354da75bfb831 +14 -0
  84. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/22/mergeAll_22eabe4111038330cd0354da75bfb831.map +1 -0
  85. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/22/windowToggle_22ecc9529597f42519239efca8f4219f +90 -0
  86. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/22/windowToggle_22ecc9529597f42519239efca8f4219f.map +1 -0
  87. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/24/distinct_246654442158ec1661624139f1fcb40e +23 -0
  88. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/24/distinct_246654442158ec1661624139f1fcb40e.map +1 -0
  89. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/25/share_258b700a5bd9b287b2e67f4bf4bfa461 +120 -0
  90. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/25/share_258b700a5bd9b287b2e67f4bf4bfa461.map +1 -0
  91. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/26/scheduled_2667ac0ca964dea582df7f61bfaa619c +42 -0
  92. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/26/scheduled_2667ac0ca964dea582df7f61bfaa619c.map +1 -0
  93. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/28/Subject_288efa25f7749b82e5c2f60ffe1a32cc +202 -0
  94. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/28/Subject_288efa25f7749b82e5c2f60ffe1a32cc.map +1 -0
  95. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/28/testing_28adef3af187b963516380fd8076524a +60 -0
  96. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/28/testing_28adef3af187b963516380fd8076524a.map +7 -0
  97. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/exhaust_2c83cc366daf6fab56f7b1ef66317120 +7 -0
  98. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/exhaust_2c83cc366daf6fab56f7b1ef66317120.map +1 -0
  99. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/innerFrom_2c13de9f6df211e5ae68d63f44bc7b62 +272 -0
  100. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/innerFrom_2c13de9f6df211e5ae68d63f44bc7b62.map +1 -0
  101. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/mergeScan_2ca2d53a5d5527ac81b46bc4d0779542 +19 -0
  102. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2c/mergeScan_2ca2d53a5d5527ac81b46bc4d0779542.map +1 -0
  103. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2d/EmptyError_2d0d787ec6b758e32091ea628b5fd1a9 +13 -0
  104. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2d/EmptyError_2d0d787ec6b758e32091ea628b5fd1a9.map +1 -0
  105. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2d/concat_2d1fb893164794d1099ee55398b2485c +16 -0
  106. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2d/concat_2d1fb893164794d1099ee55398b2485c.map +1 -0
  107. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2f/publish_2fdddf4dfd0b97382056cce93cc68bce +12 -0
  108. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2f/publish_2fdddf4dfd0b97382056cce93cc68bce.map +1 -0
  109. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2f/testing_2f48dda6406d9713aab2c6abc3f524d1 +589 -0
  110. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/2f/testing_2f48dda6406d9713aab2c6abc3f524d1.map +7 -0
  111. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/combineLatestAll_32d3966d0993446ff932e08bac6446d1 +11 -0
  112. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/combineLatestAll_32d3966d0993446ff932e08bac6446d1.map +1 -0
  113. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/dateTimestampProvider_322db52a6c79e9f9701dfb8c5d689ce5 +11 -0
  114. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/dateTimestampProvider_322db52a6c79e9f9701dfb8c5d689ce5.map +1 -0
  115. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/skipLast_32ebd97dc9255e3b917578177464899e +33 -0
  116. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/32/skipLast_32ebd97dc9255e3b917578177464899e.map +1 -0
  117. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/33/ReplaySubject_3311b511a16d8b0c3e23304eebb40d3e +84 -0
  118. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/33/ReplaySubject_3311b511a16d8b0c3e23304eebb40d3e.map +1 -0
  119. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/34/find_34c22ca010467918d87f33193ce95ff7 +28 -0
  120. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/34/find_34c22ca010467918d87f33193ce95ff7.map +1 -0
  121. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/35/Subscriber_3541130fb10b4a537607b957f4251df0 +204 -0
  122. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/35/Subscriber_3541130fb10b4a537607b957f4251df0.map +1 -0
  123. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/36/OperatorSubscriber_362c0ba359aef05d6de98c8815507491 +82 -0
  124. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/36/OperatorSubscriber_362c0ba359aef05d6de98c8815507491.map +1 -0
  125. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/38/common_38e0955cd641d1e06029b8851ecf3c8b +1500 -0
  126. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/38/common_38e0955cd641d1e06029b8851ecf3c8b.map +7 -0
  127. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/38/isAsyncIterable_38a51f2abc798a774e04d8b7cac3fb18 +10 -0
  128. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/38/isAsyncIterable_38a51f2abc798a774e04d8b7cac3fb18.map +1 -0
  129. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/NotFoundError_39e0e5a4d3fc380d4ca53dbc3f1d4f43 +13 -0
  130. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/NotFoundError_39e0e5a4d3fc380d4ca53dbc3f1d4f43.map +1 -0
  131. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/appconfiginterface_39cbb9d9c321a775c3d6816280463653 +60 -0
  132. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/appconfiginterface_39cbb9d9c321a775c3d6816280463653.map +1 -0
  133. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/firstValueFrom_391d26a44a60b3dc0c683f75416342ba +29 -0
  134. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/firstValueFrom_391d26a44a60b3dc0c683f75416342ba.map +1 -0
  135. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/using_397c2ad02f41ed947243f0477e969be4 +22 -0
  136. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/39/using_397c2ad02f41ed947243f0477e969be4.map +1 -0
  137. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3a/takeWhile_3a9829a881228fdf558f9d71757646d0 +21 -0
  138. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3a/takeWhile_3a9829a881228fdf558f9d71757646d0.map +1 -0
  139. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3b/scheduleArray_3bdab1a240bd3c32636272eedf77cfad +23 -0
  140. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3b/scheduleArray_3bdab1a240bd3c32636272eedf77cfad.map +1 -0
  141. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3c/max_3c0e0f730a77269602626ae8ef245a1e +11 -0
  142. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3c/max_3c0e0f730a77269602626ae8ef245a1e.map +1 -0
  143. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3c/take_3c026b1f7917b04e5f2bbc4223289d9f +25 -0
  144. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3c/take_3c026b1f7917b04e5f2bbc4223289d9f.map +1 -0
  145. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3d/location_3def1246f95990cfebbab11e528ab266 +497 -0
  146. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3d/location_3def1246f95990cfebbab11e528ab266.map +7 -0
  147. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3e/interval_3ea3b4a266fa372c186672ee3a7b5580 +20 -0
  148. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3e/interval_3ea3b4a266fa372c186672ee3a7b5580.map +1 -0
  149. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3f/attribute_3f638223526a5452b11ee75dc0250648 +43 -0
  150. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3f/attribute_3f638223526a5452b11ee75dc0250648.map +7 -0
  151. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3f/combineLatest_3f0bf7600a0d2d0cf1141ac5af85a508 +53 -0
  152. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/3f/combineLatest_3f0bf7600a0d2d0cf1141ac5af85a508.map +1 -0
  153. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/41/onErrorResumeNextWith_41672d4eb0d804acca50ecf1e4676c5b +46 -0
  154. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/41/onErrorResumeNextWith_41672d4eb0d804acca50ecf1e4676c5b.map +1 -0
  155. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/41/resource_41fe82c252d8f7625f81e4ed65f47b01 +577 -0
  156. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/41/resource_41fe82c252d8f7625f81e4ed65f47b01.map +7 -0
  157. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/42/not_42d94d1e1986bd9f02192b58a49a4a10 +9 -0
  158. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/42/not_42d94d1e1986bd9f02192b58a49a4a10.map +1 -0
  159. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/43/combineAll_43bc2b5905cd2c6f74dc8b64523a6c0d +7 -0
  160. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/43/combineAll_43bc2b5905cd2c6f74dc8b64523a6c0d.map +1 -0
  161. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/effect_45da71956a042b04e0c80617e1abea70 +154 -0
  162. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/effect_45da71956a042b04e0c80617e1abea70.map +7 -0
  163. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/pluck_45d34d7b28cb92d486c5c549c829d4c7 +30 -0
  164. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/pluck_45d34d7b28cb92d486c5c549c829d4c7.map +1 -0
  165. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/timeInterval_45fd794b2ec592d3ec1ec38cf56a5aba +31 -0
  166. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/45/timeInterval_45fd794b2ec592d3ec1ec38cf56a5aba.map +1 -0
  167. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/46/animationFrames_46ea857479451d7367337bd511b12139 +39 -0
  168. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/46/animationFrames_46ea857479451d7367337bd511b12139.map +1 -0
  169. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/46/scheduleIterable_46f97122ff229faf892b20877c5aa86c +37 -0
  170. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/46/scheduleIterable_46f97122ff229faf892b20877c5aa86c.map +1 -0
  171. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/47/platform_navigation_47d697bbddec9cce6b73383168a56d08 +51 -0
  172. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/47/platform_navigation_47d697bbddec9cce6b73383168a56d08.map +7 -0
  173. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/47/queue_4709f99b0fc7a82058f6b3206d3b8e4e +9 -0
  174. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/47/queue_4709f99b0fc7a82058f6b3206d3b8e4e.map +1 -0
  175. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/48/configservicespec_4885306385dc65c123e0824a1f58cb07 +87 -0
  176. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/48/configservicespec_4885306385dc65c123e0824a1f58cb07.map +1 -0
  177. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/48/debounceTime_4809c90833e6a766aa133edf2ae49b83 +51 -0
  178. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/48/debounceTime_4809c90833e6a766aa133edf2ae49b83.map +1 -0
  179. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/49/signals_49daedeaa3f1608b221e0e2b467fef8f +256 -0
  180. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/49/signals_49daedeaa3f1608b221e0e2b467fef8f.map +7 -0
  181. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/49/startWith_490e5e430d82b7b008b7a1b600a9ab3c +19 -0
  182. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/49/startWith_490e5e430d82b7b008b7a1b600a9ab3c.map +1 -0
  183. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4a/debug_node_4aa7d0bfa7f2471539bc6e17f2118a47 +20713 -0
  184. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4a/debug_node_4aa7d0bfa7f2471539bc6e17f2118a47.map +7 -0
  185. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4b/bindCallback_4b7735ffb109657480a3193b071be4af +10 -0
  186. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4b/bindCallback_4b7735ffb109657480a3193b071be4af.map +1 -0
  187. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4b/iterator_4b6f81592b9a6a91a1e032179adca692 +13 -0
  188. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4b/iterator_4b6f81592b9a6a91a1e032179adca692.map +1 -0
  189. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4e/zip_4e4b1d528e64e46b2cf212e69c345b68 +46 -0
  190. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/4e/zip_4e4b1d528e64e46b2cf212e69c345b68.map +1 -0
  191. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/50/flatMap_50ee03966593fc03915ea67e31223a61 +7 -0
  192. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/50/flatMap_50ee03966593fc03915ea67e31223a61.map +1 -0
  193. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/50/reduce_50207e757e7dd0895fbaacf449d409d1 +11 -0
  194. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/50/reduce_50207e757e7dd0895fbaacf449d409d1.map +1 -0
  195. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/51/weak_ref_511653ddf85d364ebc878405e6282fc5 +30 -0
  196. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/51/weak_ref_511653ddf85d364ebc878405e6282fc5.map +7 -0
  197. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/52/observeOn_52b18ee03b1120882b3e60875c787ab3 +17 -0
  198. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/52/observeOn_52b18ee03b1120882b3e60875c787ab3.map +1 -0
  199. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/53/dashboardcomponent_53c32631c99debadbc5a44e7b150fd72 +2 -0
  200. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/53/fromEventPattern_539dbdf41c03ede2cfa34f62fbbc7d75 +25 -0
  201. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/53/fromEventPattern_539dbdf41c03ede2cfa34f62fbbc7d75.map +1 -0
  202. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/53/groupBy_53bdc3415d8cb7d339b4770b31db1c9b +68 -0
  203. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/53/groupBy_53bdc3415d8cb7d339b4770b31db1c9b.map +1 -0
  204. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/54/AnimationFrameAction_5423f59105ed7d626abac6a69f07bfe4 +60 -0
  205. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/54/AnimationFrameAction_5423f59105ed7d626abac6a69f07bfe4.map +1 -0
  206. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/54/scheduleReadableStreamLike_5475b804715c5be031baaec692002aab +11 -0
  207. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/54/scheduleReadableStreamLike_5475b804715c5be031baaec692002aab.map +1 -0
  208. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/55/animationFrame_55e052bcb509243da3536ac36e4aa83f +9 -0
  209. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/55/animationFrame_55e052bcb509243da3536ac36e4aa83f.map +1 -0
  210. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/55/scheduleObservable_5569cfab2019142d0fcae5fc384a795c +12 -0
  211. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/55/scheduleObservable_5569cfab2019142d0fcae5fc384a795c.map +1 -0
  212. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/angularoauth2oidc_5796eb8bb1f1dd6932dae6bb664d1cbb +2766 -0
  213. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/angularoauth2oidc_5796eb8bb1f1dd6932dae6bb664d1cbb.map +7 -0
  214. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/endWith_57bd076f03a5529b5669a4bd386a0648 +44 -0
  215. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/endWith_57bd076f03a5529b5669a4bd386a0648.map +1 -0
  216. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/isArrayLike_57dfd0465318da2cbc8fa3043aca76bc +6 -0
  217. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/isArrayLike_57dfd0465318da2cbc8fa3043aca76bc.map +1 -0
  218. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/publishLast_574acb89597ecb7584a4d54a21ce7fd0 +14 -0
  219. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/publishLast_574acb89597ecb7584a4d54a21ce7fd0.map +1 -0
  220. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/switchScan_57759ec2c9148ae2f94dd997f963cc3f +17 -0
  221. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/switchScan_57759ec2c9148ae2f94dd997f963cc3f.map +1 -0
  222. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/windowTime_57deb9c95403419ebdedc01ee2643ce1 +75 -0
  223. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/57/windowTime_57deb9c95403419ebdedc01ee2643ce1.map +1 -0
  224. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/59/BehaviorSubject_59c295137756816d9da8164415d41c40 +56 -0
  225. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/59/BehaviorSubject_59c295137756816d9da8164415d41c40.map +1 -0
  226. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5a/switchMapTo_5a6dd9823852ccc95a49d9b77bd2561d +11 -0
  227. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5a/switchMapTo_5a6dd9823852ccc95a49d9b77bd2561d.map +1 -0
  228. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5b/bufferTime_5bba3a4e339ab63d5ec157f2a2199900 +101 -0
  229. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5b/bufferTime_5bba3a4e339ab63d5ec157f2a2199900.map +1 -0
  230. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5c/shareReplay_5c312953fc0f0439193e056e78510373 +25 -0
  231. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5c/shareReplay_5c312953fc0f0439193e056e78510373.map +1 -0
  232. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5e/Action_5e72b25c73096e88490c6e9015ddb56c +37 -0
  233. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5e/Action_5e72b25c73096e88490c6e9015ddb56c.map +1 -0
  234. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5e/isIterable_5e80f397f8ed04a532027aa00c4eb453 +11 -0
  235. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5e/isIterable_5e80f397f8ed04a532027aa00c4eb453.map +1 -0
  236. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5f/race_5f51258fb60a582ab1e6aca07b21655d +38 -0
  237. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/5f/race_5f51258fb60a582ab1e6aca07b21655d.map +1 -0
  238. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/60/race_60e460c803705be956c9ad1519f27ae9 +44 -0
  239. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/60/race_60e460c803705be956c9ad1519f27ae9.map +1 -0
  240. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/61/authorizationinterface_61b3843bb141bda9133f897e585e0748 +60 -0
  241. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/61/authorizationinterface_61b3843bb141bda9133f897e585e0748.map +1 -0
  242. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/61/testing_6176dd0db4a8ad21b8d3bc1d388053dc +107 -0
  243. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/61/testing_6176dd0db4a8ad21b8d3bc1d388053dc.map +7 -0
  244. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/62/ArgumentOutOfRangeError_627b1a510e0d08fab12d924263c0d47f +13 -0
  245. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/62/ArgumentOutOfRangeError_627b1a510e0d08fab12d924263c0d47f.map +1 -0
  246. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/63/dom_renderer_63272c78e0eb510569eae3d5b5f9aeee +726 -0
  247. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/63/dom_renderer_63272c78e0eb510569eae3d5b5f9aeee.map +7 -0
  248. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/64/joinAllInternals_640e9d56539a3eec67d788a341b918ed +14 -0
  249. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/64/joinAllInternals_640e9d56539a3eec67d788a341b918ed.map +1 -0
  250. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/65/AsapScheduler_652b27b66e714bc12262aa7e97b1ef86 +51 -0
  251. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/65/AsapScheduler_652b27b66e714bc12262aa7e97b1ef86.map +1 -0
  252. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/68/mapOneOrManyArgs_689e7d9385a707593cf83ee4082dc61e +43 -0
  253. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/68/mapOneOrManyArgs_689e7d9385a707593cf83ee4082dc61e.map +1 -0
  254. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/68/partition_681d13cdb0b0bb3b0fe590ef7c5aa93c +13 -0
  255. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/68/partition_681d13cdb0b0bb3b0fe590ef7c5aa93c.map +1 -0
  256. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/69/Scheduler_69ac465fc3a0f88a5564df13752f196f +24 -0
  257. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/69/Scheduler_69ac465fc3a0f88a5564df13752f196f.map +1 -0
  258. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/authenticationservicespec_6a31910a11f7a7d88de4428592b81b41 +171 -0
  259. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/authenticationservicespec_6a31910a11f7a7d88de4428592b81b41.map +1 -0
  260. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/merge_6aeabbb04f67d52e04d5fb6bfe53c7ce +50 -0
  261. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/merge_6aeabbb04f67d52e04d5fb6bfe53c7ce.map +1 -0
  262. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/skipUntil_6a1db23a8161437968c7fac8561325fd +21 -0
  263. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/skipUntil_6a1db23a8161437968c7fac8561325fd.map +1 -0
  264. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/zipWith_6a11cd689b9f399f14e13a9589c1d30c +43 -0
  265. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6a/zipWith_6a11cd689b9f399f14e13a9589c1d30c.map +1 -0
  266. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6e/partition_6ebe586335dfe0eb9f4b65dd7f912e38 +12 -0
  267. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6e/partition_6ebe586335dfe0eb9f4b65dd7f912e38.map +1 -0
  268. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6f/generate_6fa8af747ce58c570eb002b1c00430b3 +123 -0
  269. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6f/generate_6fa8af747ce58c570eb002b1c00430b3.map +1 -0
  270. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6f/of_6f039032237bc3616cd9f88de5b34572 +16 -0
  271. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/6f/of_6f039032237bc3616cd9f88de5b34572.map +1 -0
  272. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/70/takeLast_70f2caa4d21d5bde0732d9c218ff412d +58 -0
  273. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/70/takeLast_70f2caa4d21d5bde0732d9c218ff412d.map +1 -0
  274. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/72/module_726ab71b1f0164c527681100a65aad4a +2332 -0
  275. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/72/module_726ab71b1f0164c527681100a65aad4a.map +7 -0
  276. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/73/lastValueFrom_737afa6f071e7d30fa42bdb86f84d107 +32 -0
  277. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/73/lastValueFrom_737afa6f071e7d30fa42bdb86f84d107.map +1 -0
  278. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/75/createErrorClass_75905daf41c07df2a4ea17ba294cad8a +16 -0
  279. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/75/createErrorClass_75905daf41c07df2a4ea17ba294cad8a.map +1 -0
  280. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/75/defer_75b01f8804d24bc81107cdfa51c9fd66 +13 -0
  281. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/75/defer_75b01f8804d24bc81107cdfa51c9fd66.map +1 -0
  282. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/76/filter_76c22b02ab9a8b16a2ac23ad85243e5b +14 -0
  283. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/76/filter_76c22b02ab9a8b16a2ac23ad85243e5b.map +1 -0
  284. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/76/version_76b048d35316951f4c8a9efb64028794 +119 -0
  285. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/76/version_76b048d35316951f4c8a9efb64028794.map +1 -0
  286. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/79/iif_798ee878d80215441fd62f4c46aaac1e +10 -0
  287. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/79/iif_798ee878d80215441fd62f4c46aaac1e.map +1 -0
  288. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7b/identity_7bdd4c23fb4e8612fe66d9d232584cb0 +9 -0
  289. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7b/identity_7bdd4c23fb4e8612fe66d9d232584cb0.map +1 -0
  290. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/AsyncAction_7cf5bb2a2d938bec1cf31419bc641e68 +116 -0
  291. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/AsyncAction_7cf5bb2a2d938bec1cf31419bc641e68.map +1 -0
  292. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/Subscription_7c102157fbcfac1c16274e713ebfafcb +202 -0
  293. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/Subscription_7c102157fbcfac1c16274e713ebfafcb.map +1 -0
  294. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/lift_7c74badd969dadc4de0ea5ff85e8bcfc +26 -0
  295. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/lift_7c74badd969dadc4de0ea5ff85e8bcfc.map +1 -0
  296. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/pipe_7c13629329765dd61c3ac7addd741d3c +26 -0
  297. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/pipe_7c13629329765dd61c3ac7addd741d3c.map +1 -0
  298. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/throttleTime_7c8f3b9a09e3b2380c6f5a53e9e19d73 +16 -0
  299. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7c/throttleTime_7c8f3b9a09e3b2380c6f5a53e9e19d73.map +1 -0
  300. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7d/UnsubscriptionError_7d69546cdd3ee56a0c8196e6b7a3b93b +16 -0
  301. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/7d/UnsubscriptionError_7d69546cdd3ee56a0c8196e6b7a3b93b.map +1 -0
  302. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/defaultIfEmpty_810b4e0604dba71c6021470672d75fe6 +22 -0
  303. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/defaultIfEmpty_810b4e0604dba71c6021470672d75fe6.map +1 -0
  304. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/pairwise_81b247ee51f59dd96b3009979157e4b9 +20 -0
  305. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/pairwise_81b247ee51f59dd96b3009979157e4b9.map +1 -0
  306. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/repeat_810a7e7909eff9a4745b563969d1ee11 +65 -0
  307. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/81/repeat_810a7e7909eff9a4745b563969d1ee11.map +1 -0
  308. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/82/authorizationguard_82de14e9b4958e2e99b8643cd395d629 +530 -0
  309. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/82/authorizationguard_82de14e9b4958e2e99b8643cd395d629.map +1 -0
  310. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/83/dashboardcomponent_833bf6a5c3619c9adaced99312164a7a +4149 -0
  311. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/83/dashboardcomponent_833bf6a5c3619c9adaced99312164a7a.map +1 -0
  312. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/dashboardcomponentspec_8874d89d947ada3b2913b3d96a957478 +219 -0
  313. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/dashboardcomponentspec_8874d89d947ada3b2913b3d96a957478.map +1 -0
  314. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/isFunction_880148731b92c4fdf7652bae9f17672c +9 -0
  315. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/isFunction_880148731b92c4fdf7652bae9f17672c.map +1 -0
  316. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/window_889e36acc1694a6c6859a5c14694efc6 +33 -0
  317. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/88/window_889e36acc1694a6c6859a5c14694efc6.map +1 -0
  318. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/89/core_899034079b505a592bba9a502120cfd8 +3480 -0
  319. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/89/core_899034079b505a592bba9a502120cfd8.map +7 -0
  320. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8a/isScheduler_8a1f0e526117aed8f474344e8a337001 +10 -0
  321. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8a/isScheduler_8a1f0e526117aed8f474344e8a337001.map +1 -0
  322. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8a/range_8aa1319af11190cf05b194c0eace5a96 +40 -0
  323. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8a/range_8aa1319af11190cf05b194c0eace5a96.map +1 -0
  324. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8b/connectable_8bdc7b54bdc252caf076d2e924c9ccdc +34 -0
  325. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8b/connectable_8bdc7b54bdc252caf076d2e924c9ccdc.map +1 -0
  326. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8c/debounce_8c4b06b5e96c9ce06d159c7167ad4df3 +39 -0
  327. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8c/debounce_8c4b06b5e96c9ce06d159c7167ad4df3.map +1 -0
  328. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8d/buffer_8da491f572a7ebd7fcc78973472dd554 +27 -0
  329. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8d/buffer_8da491f572a7ebd7fcc78973472dd554.map +1 -0
  330. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8e/distinctUntilChanged_8ec9a7e6a213b0da14fef2a6287426ee +30 -0
  331. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8e/distinctUntilChanged_8ec9a7e6a213b0da14fef2a6287426ee.map +1 -0
  332. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/animationFrameProvider_8f6b1fdd1805c32bd8a71158fe2d4f6e +68 -0
  333. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/animationFrameProvider_8f6b1fdd1805c32bd8a71158fe2d4f6e.map +1 -0
  334. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/skipWhile_8fbb2b1e98a876abf6cd45db4580345a +15 -0
  335. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/skipWhile_8fbb2b1e98a876abf6cd45db4580345a.map +1 -0
  336. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/timeoutProvider_8f5b211154fd0dfc69bcc93ffe1281d9 +52 -0
  337. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/8f/timeoutProvider_8f5b211154fd0dfc69bcc93ffe1281d9.map +1 -0
  338. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/arrRemove_9007c7c90914e2c67a3c7c7f7f6ed63d +12 -0
  339. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/arrRemove_9007c7c90914e2c67a3c7c7f7f6ed63d.map +1 -0
  340. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/takeUntil_90cbbe5d41852345c1c2d15693a91a4e +16 -0
  341. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/takeUntil_90cbbe5d41852345c1c2d15693a91a4e.map +1 -0
  342. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/types_902cdea8f0917627cc8393a9aa52c916 +4 -0
  343. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/90/types_902cdea8f0917627cc8393a9aa52c916.map +1 -0
  344. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/91/isPromise_91e79cccaa029e755a189ab94ff11d2a +10 -0
  345. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/91/isPromise_91e79cccaa029e755a189ab94ff11d2a.map +1 -0
  346. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/92/timestamp_929befc00c12052926227dd07e014839 +14 -0
  347. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/92/timestamp_929befc00c12052926227dd07e014839.map +1 -0
  348. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/93/mergeMap_9318b621967b6738c51ffd144f90fbe3 +23 -0
  349. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/93/mergeMap_9318b621967b6738c51ffd144f90fbe3.map +1 -0
  350. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/94/min_9467e39c730974505b268969ae4a9eef +11 -0
  351. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/94/min_9467e39c730974505b268969ae4a9eef.map +1 -0
  352. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/97/isEmpty_97e18cd152ec8cbf2572309d51321174 +19 -0
  353. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/97/isEmpty_97e18cd152ec8cbf2572309d51321174.map +1 -0
  354. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/98/toArray_986fbe7e6566dab35c8bcf0e57c131d8 +14 -0
  355. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/98/toArray_986fbe7e6566dab35c8bcf0e57c131d8.map +1 -0
  356. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/99/authorizationservicespec_99005e51e3fe0531de30cc3ebe182159 +206 -0
  357. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/99/authorizationservicespec_99005e51e3fe0531de30cc3ebe182159.map +1 -0
  358. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9a/logincomponentspec_9a5d9162e7420f6e7bfd0ec192a0e7b3 +126 -0
  359. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9a/logincomponentspec_9a5d9162e7420f6e7bfd0ec192a0e7b3.map +1 -0
  360. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9b/di_9bb73d3d1d37e03ae545cb821a24d6e4 +48 -0
  361. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9b/di_9bb73d3d1d37e03ae545cb821a24d6e4.map +7 -0
  362. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9b/single_9b7260fd4298ea61a3af48a06e07f955 +35 -0
  363. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9b/single_9b7260fd4298ea61a3af48a06e07f955.map +1 -0
  364. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9c/distinctUntilKeyChanged_9c0e259a4e26342aa529522ab260b6e2 +10 -0
  365. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9c/distinctUntilKeyChanged_9c0e259a4e26342aa529522ab260b6e2.map +1 -0
  366. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9c/reportUnhandledError_9c687bd943c7e3cb0cbe5ba362e47a57 +19 -0
  367. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9c/reportUnhandledError_9c687bd943c7e3cb0cbe5ba362e47a57.map +1 -0
  368. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9e/audit_9ef009f5c290fa05db1f116ccc1dea15 +42 -0
  369. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9e/audit_9ef009f5c290fa05db1f116ccc1dea15.map +1 -0
  370. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9f/Observable_9fa7fb170ab97af3339678f170c00580 +106 -0
  371. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9f/Observable_9fa7fb170ab97af3339678f170c00580.map +1 -0
  372. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9f/timer_9f8a9fa0c2907acec47fd64413f88e1f +45 -0
  373. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/9f/timer_9f8a9fa0c2907acec47fd64413f88e1f.map +1 -0
  374. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a1/exhaustMap_a17113d2ae51f6049da7b9126fc2f3d0 +34 -0
  375. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a1/exhaustMap_a17113d2ae51f6049da7b9126fc2f3d0.map +1 -0
  376. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/catchError_a2a6d4194ebf9a7b737c5162e13f9e8f +32 -0
  377. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/catchError_a2a6d4194ebf9a7b737c5162e13f9e8f.map +1 -0
  378. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/concatMapTo_a28deb2bec5c1f5c41e1087788eccbba +11 -0
  379. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/concatMapTo_a28deb2bec5c1f5c41e1087788eccbba.map +1 -0
  380. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/mergeMapTo_a263600e2e57ffe7c35a1d079bbf423f +20 -0
  381. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a2/mergeMapTo_a263600e2e57ffe7c35a1d079bbf423f.map +1 -0
  382. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a3/not_found_a3e96f6eb61e4ec43431a235d6638f02 +64 -0
  383. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/a3/not_found_a3e96f6eb61e4ec43431a235d6638f02.map +7 -0
  384. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/aa/concatMap_aa22e6b3212edabed548ee6fd704ac9b +11 -0
  385. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/aa/concatMap_aa22e6b3212edabed548ee6fd704ac9b.map +1 -0
  386. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/aa/noop_aa193fc1a61ccf323a19e2acef78f9b8 +7 -0
  387. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/aa/noop_aa193fc1a61ccf323a19e2acef78f9b8.map +1 -0
  388. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ab/argsOrArgArray_abd5775c2214bbc9529e7f5536b4b9b5 +10 -0
  389. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ab/argsOrArgArray_abd5775c2214bbc9529e7f5536b4b9b5.map +1 -0
  390. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ab/forkJoin_ab79df1ea741b3921af56378f47ac083 +52 -0
  391. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ab/forkJoin_ab79df1ea741b3921af56378f47ac083.map +1 -0
  392. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ae/scanInternals_ae3735574319bd024617b242f6f9f93b +27 -0
  393. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ae/scanInternals_ae3735574319bd024617b242f6f9f93b.map +1 -0
  394. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/af/withLatestFrom_af570814ca7c4209b836b726cd4d742c +72 -0
  395. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/af/withLatestFrom_af570814ca7c4209b836b726cd4d742c.map +1 -0
  396. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/args_b0aa0cda6f64d81b5a3ce9a1f1b5a1af +22 -0
  397. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/args_b0aa0cda6f64d81b5a3ce9a1f1b5a1af.map +1 -0
  398. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/concatWith_b0ad49aa785dead5921f467fc5deff89 +43 -0
  399. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/concatWith_b0ad49aa785dead5921f467fc5deff89.map +1 -0
  400. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/fromEvent_b0a59cb0e063c290accf4e07083172f5 +87 -0
  401. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b0/fromEvent_b0a59cb0e063c290accf4e07083172f5.map +1 -0
  402. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b3/bufferToggle_b398140d6a113f822cd7e55a219389eb +69 -0
  403. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b3/bufferToggle_b398140d6a113f822cd7e55a219389eb.map +1 -0
  404. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b3/mapTo_b35eaa231d63d7632d124fd0c9491899 +10 -0
  405. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b3/mapTo_b35eaa231d63d7632d124fd0c9491899.map +1 -0
  406. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/AsyncScheduler_b48e6adc2337360d93bc438e30261c9b +58 -0
  407. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/AsyncScheduler_b48e6adc2337360d93bc438e30261c9b.map +1 -0
  408. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/Notification_b4734e58b4d2c8624cb7168a139a0f5e +77 -0
  409. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/Notification_b4734e58b4d2c8624cb7168a139a0f5e.map +1 -0
  410. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/dematerialize_b49e3c0f02f78e9b7754a2f14dd20dc4 +14 -0
  411. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b4/dematerialize_b49e3c0f02f78e9b7754a2f14dd20dc4.map +1 -0
  412. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b5/errorContext_b5e662cfa00b7cb11e0375297f3e4bd0 +34 -0
  413. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b5/errorContext_b5e662cfa00b7cb11e0375297f3e4bd0.map +1 -0
  414. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b5/isObservable_b567e287f5b7463f88bd1726e06f5a53 +11 -0
  415. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b5/isObservable_b567e287f5b7463f88bd1726e06f5a53.map +1 -0
  416. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b6/bufferWhen_b600af3c63e2658f3ee46c1e2a5620db +28 -0
  417. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b6/bufferWhen_b600af3c63e2658f3ee46c1e2a5620db.map +1 -0
  418. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b6/concatAll_b6bada65d21367fa443476add9a9bb8f +10 -0
  419. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b6/concatAll_b6bada65d21367fa443476add9a9bb8f.map +1 -0
  420. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b7/eventdispatch_b7a6d5d3415dcade3b9c2dcbc1ec88cd +1262 -0
  421. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b7/eventdispatch_b7a6d5d3415dcade3b9c2dcbc1ec88cd.map +7 -0
  422. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b7/map_b732b01a086bf2d802b5e5372ddb5374 +16 -0
  423. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b7/map_b732b01a086bf2d802b5e5372ddb5374.map +1 -0
  424. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b9/testing_b9c34b8f3a2cff6e967d44b496301057 +330 -0
  425. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/b9/testing_b9c34b8f3a2cff6e967d44b496301057.map +7 -0
  426. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ba/delayWhen_ba0e6b593adde7fb970f5426d08ba7bd +20 -0
  427. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ba/delayWhen_ba0e6b593adde7fb970f5426d08ba7bd.map +1 -0
  428. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/bb/from_bb50ad60e07cb6d360b7f208249429b2 +11 -0
  429. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/bb/from_bb50ad60e07cb6d360b7f208249429b2.map +1 -0
  430. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/be/zip_be7b4ff5badc5c041b9ee29ad7fedde5 +79 -0
  431. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/be/zip_be7b4ff5badc5c041b9ee29ad7fedde5.map +1 -0
  432. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c0/platformbrowser_c024fceb1a0fe262d4fa22aeba203bf8 +759 -0
  433. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c0/platformbrowser_c024fceb1a0fe262d4fa22aeba203bf8.map +7 -0
  434. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c2/platformbrowserdynamic_c293e204f07ffe93a61d7d2a97d63964 +145 -0
  435. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c2/platformbrowserdynamic_c293e204f07ffe93a61d7d2a97d63964.map +7 -0
  436. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c3/Immediate_c3da4258074ed597ed071241b4c35bef +34 -0
  437. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c3/Immediate_c3da4258074ed597ed071241b4c35bef.map +1 -0
  438. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c3/ignoreElements_c355b3624a679685bd1c25d33e6bde66 +14 -0
  439. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c3/ignoreElements_c355b3624a679685bd1c25d33e6bde66.map +1 -0
  440. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c5/findIndex_c534ebcb116500af4352aa6530e9041e +11 -0
  441. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c5/findIndex_c534ebcb116500af4352aa6530e9041e.map +1 -0
  442. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c5/observable_c5f77f53d42172356a26ee7b5f9eb0fe +6 -0
  443. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c5/observable_c5f77f53d42172356a26ee7b5f9eb0fe.map +1 -0
  444. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c7/async_c75f179ff8345a7facdf5722a76ce5eb +9 -0
  445. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c7/async_c75f179ff8345a7facdf5722a76ce5eb.map +1 -0
  446. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c8/publishReplay_c8c843986a226c800553c50bf0d4986a +16 -0
  447. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c8/publishReplay_c8c843986a226c800553c50bf0d4986a.map +1 -0
  448. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/switchMap_c9a61e10418ff0d233e9f37ce2564722 +29 -0
  449. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/switchMap_c9a61e10418ff0d233e9f37ce2564722.map +1 -0
  450. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/tap_c9701a92d0cb05c37b5e407d2612f461 +45 -0
  451. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/tap_c9701a92d0cb05c37b5e407d2612f461.map +1 -0
  452. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/throwIfEmpty_c95930779baae066280851a904dbeb3b +24 -0
  453. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/c9/throwIfEmpty_c95930779baae066280851a904dbeb3b.map +1 -0
  454. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ca/performanceTimestampProvider_ca75d4b8a7737a06fe0103f57ecab207 +11 -0
  455. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ca/performanceTimestampProvider_ca75d4b8a7737a06fe0103f57ecab207.map +1 -0
  456. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/cd/root_effect_scheduler_cd51ef0a8f200e1abf01dc277a3a5df9 +2781 -0
  457. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/cd/root_effect_scheduler_cd51ef0a8f200e1abf01dc277a3a5df9.map +7 -0
  458. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ce/never_cee185710a6214c29143737c23fd4677 +12 -0
  459. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ce/never_cee185710a6214c29143737c23fd4677.map +1 -0
  460. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/cf/router2_cf9d43bf1bbddffad92ce6f986903a05 +4525 -0
  461. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/cf/router2_cf9d43bf1bbddffad92ce6f986903a05.map +7 -0
  462. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d0/raceWith_d051c9b953c1fd2639013e156ba6ae19 +49 -0
  463. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d0/raceWith_d051c9b953c1fd2639013e156ba6ae19.map +1 -0
  464. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d1/config_d1c9202c35f14e62ae850fe7743cae36 +12 -0
  465. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d1/config_d1c9202c35f14e62ae850fe7743cae36.map +1 -0
  466. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d3/AsapAction_d39639bf5f6b225cc38dc8c74d1af9a6 +62 -0
  467. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d3/AsapAction_d39639bf5f6b225cc38dc8c74d1af9a6.map +1 -0
  468. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d3/multicast_d36b647dfd33a398736534a046a02bf5 +18 -0
  469. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d3/multicast_d36b647dfd33a398736534a046a02bf5.map +1 -0
  470. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d4/index_d4a6e0403fbfbe6498f4f78f3d629738 +233 -0
  471. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d4/index_d4a6e0403fbfbe6498f4f78f3d629738.map +1 -0
  472. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d4/materialize_d43175ee753b655d51140c88bce1a6be +22 -0
  473. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d4/materialize_d43175ee753b655d51140c88bce1a6be.map +1 -0
  474. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d6/scheduleAsyncIterable_d6e81c64015c43541cba915cc3e31132 +28 -0
  475. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d6/scheduleAsyncIterable_d6e81c64015c43541cba915cc3e31132.map +1 -0
  476. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d7/combineLatestWith_d70435aa71a1b44c2f0fd0e5ace5c855 +43 -0
  477. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d7/combineLatestWith_d70435aa71a1b44c2f0fd0e5ace5c855.map +1 -0
  478. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/ObjectUnsubscribedError_d863d8d7ba62753dd49ed11452bb49ad +13 -0
  479. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/ObjectUnsubscribedError_d863d8d7ba62753dd49ed11452bb49ad.map +1 -0
  480. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/isReadableStreamLike_d8ac776d715d309f9290381eb737db32 +135 -0
  481. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/isReadableStreamLike_d8ac776d715d309f9290381eb737db32.map +1 -0
  482. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/mergeWith_d8c7619538423a1bf26f2b9af57b6d25 +43 -0
  483. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/mergeWith_d8c7619538423a1bf26f2b9af57b6d25.map +1 -0
  484. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/xhr_d8832649622efe3fcd143809f0f87fd4 +42 -0
  485. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/xhr_d8832649622efe3fcd143809f0f87fd4.map +7 -0
  486. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/zipAll_d804e1eccf146187e7358ac19aa173b3 +11 -0
  487. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d8/zipAll_d804e1eccf146187e7358ac19aa173b3.map +1 -0
  488. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d9/compiler_d92e4c0e6e7f4c5772f2508286502b68 +30180 -0
  489. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d9/compiler_d92e4c0e6e7f4c5772f2508286502b68.map +7 -0
  490. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d9/elementAt_d986766ccbe2107bdc7f5e669337600e +20 -0
  491. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/d9/elementAt_d986766ccbe2107bdc7f5e669337600e.map +1 -0
  492. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/db/executeSchedule_dbf7f93b0f5675ff5dd1cf6436806ec5 +27 -0
  493. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/db/executeSchedule_dbf7f93b0f5675ff5dd1cf6436806ec5.map +1 -0
  494. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/dc/bufferCount_dc0ef20dd5330da45bc2ce43a89e3e50 +109 -0
  495. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/dc/bufferCount_dc0ef20dd5330da45bc2ce43a89e3e50.map +1 -0
  496. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/dd/combineLatest_ddac0381b2fcc357b2049905db6355f8 +78 -0
  497. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/dd/combineLatest_ddac0381b2fcc357b2049905db6355f8.map +1 -0
  498. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/df/timeoutWith_df6ef9efc665a029df8ca430438b5e2f +36 -0
  499. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/df/timeoutWith_df6ef9efc665a029df8ca430438b5e2f.map +1 -0
  500. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e1/mergeInternals_e19ab8fb8b32e55949601e89605352ec +66 -0
  501. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e1/mergeInternals_e19ab8fb8b32e55949601e89605352ec.map +1 -0
  502. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e2/empty_e2792d620e14eba9bb559f5122b2c3cb +14 -0
  503. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e2/empty_e2792d620e14eba9bb559f5122b2c3cb.map +1 -0
  504. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e2/retryWhen_e2032835cf0c34e73ce7119acf419768 +37 -0
  505. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e2/retryWhen_e2032835cf0c34e73ce7119acf419768.map +1 -0
  506. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e3/SequenceError_e36656846dc4f82f2b68577130e16686 +13 -0
  507. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e3/SequenceError_e36656846dc4f82f2b68577130e16686.map +1 -0
  508. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/bindNodeCallback_e52282e47a455913b29058a2a317f57d +10 -0
  509. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/bindNodeCallback_e52282e47a455913b29058a2a317f57d.map +1 -0
  510. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/merge_e588ad7be7a101e8cd64100ee5ccd900 +28 -0
  511. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/merge_e588ad7be7a101e8cd64100ee5ccd900.map +1 -0
  512. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/refCount_e59caf6d2da72ecc70af816bec0f59cf +31 -0
  513. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e5/refCount_e59caf6d2da72ecc70af816bec0f59cf.map +1 -0
  514. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e6/authenticationconfig_e61ac491e3ffa80028d768cb76d35be4 +241 -0
  515. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e6/authenticationconfig_e61ac491e3ffa80028d768cb76d35be4.map +1 -0
  516. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e7/finalize_e722a897efe5058701cb7bd1994377c5 +17 -0
  517. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e7/finalize_e722a897efe5058701cb7bd1994377c5.map +1 -0
  518. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e9/common_module_e95b66602cfdfe1dc86f7d88b9daba39 +2817 -0
  519. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/e9/common_module_e95b66602cfdfe1dc86f7d88b9daba39.map +7 -0
  520. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/eb/index_eb85d2667ebd581897f23dd840905668 +363 -0
  521. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/eb/index_eb85d2667ebd581897f23dd840905668.map +1 -0
  522. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/eb/setupjest_eb921e8057ec61c0cb0a6b18b615e94d +65 -0
  523. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/eb/setupjest_eb921e8057ec61c0cb0a6b18b615e94d.map +1 -0
  524. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ec/http_ec606ed9a5da539b70c571c1db03c6c3 +411 -0
  525. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ec/http_ec606ed9a5da539b70c571c1db03c6c3.map +7 -0
  526. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ed/first_ed8d191ff8c8fcd5257867021e5d7644 +18 -0
  527. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ed/first_ed8d191ff8c8fcd5257867021e5d7644.map +1 -0
  528. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ee/argsArgArrayOrObject_eee0e6f9213cd3248bb235a57c58fe9d +27 -0
  529. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ee/argsArgArrayOrObject_eee0e6f9213cd3248bb235a57c58fe9d.map +1 -0
  530. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f0/ConnectableObservable_f019284d46b19e0ac701f4e5f966877b +83 -0
  531. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f0/ConnectableObservable_f019284d46b19e0ac701f4e5f966877b.map +1 -0
  532. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f0/bindCallbackInternals_f09fffe73e1327185aa6b27297978a6b +112 -0
  533. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f0/bindCallbackInternals_f09fffe73e1327185aa6b27297978a6b.map +1 -0
  534. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f1/VirtualTimeScheduler_f1e0966a6811c115d2e1b987a5bccbb1 +136 -0
  535. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f1/VirtualTimeScheduler_f1e0966a6811c115d2e1b987a5bccbb1.map +1 -0
  536. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f1/auditTime_f1f81974926fcabf16721c844c492587 +15 -0
  537. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f1/auditTime_f1f81974926fcabf16721c844c492587.map +1 -0
  538. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f3/switchAll_f36891bbdd859d95639bf39ea11871b3 +11 -0
  539. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f3/switchAll_f36891bbdd859d95639bf39ea11871b3.map +1 -0
  540. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f5/isDate_f580e5e8dd37953d4077ccfd3d2f3238 +9 -0
  541. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f5/isDate_f580e5e8dd37953d4077ccfd3d2f3238.map +1 -0
  542. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f6/onErrorResumeNext_f67503f4ac86fb2327db7b977000463a +40 -0
  543. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/f6/onErrorResumeNext_f67503f4ac86fb2327db7b977000463a.map +1 -0
  544. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fa/AnimationFrameScheduler_fa55eaf8d3b76acc48dc461757443954 +57 -0
  545. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fa/AnimationFrameScheduler_fa55eaf8d3b76acc48dc461757443954.map +1 -0
  546. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fb/sample_fb860d84458eeb36b477dfa74a843530 +28 -0
  547. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fb/sample_fb860d84458eeb36b477dfa74a843530.map +1 -0
  548. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fc/QueueScheduler_fc41cc77a1da1827c68511ec446c61cb +31 -0
  549. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fc/QueueScheduler_fc41cc77a1da1827c68511ec446c61cb.map +1 -0
  550. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fc/logincomponent_fc5f1b609a4695ceb7718cf57818ef14 +1951 -0
  551. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fc/logincomponent_fc5f1b609a4695ceb7718cf57818ef14.map +1 -0
  552. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fd/createObject_fd09005888b3a1482b913bc7416cf93d +9 -0
  553. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/fd/createObject_fd09005888b3a1482b913bc7416cf93d.map +1 -0
  554. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ff/subscribeOn_ff90b699bad608d185d3faa4c04f1b20 +15 -0
  555. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ff/subscribeOn_ff90b699bad608d185d3faa4c04f1b20.map +1 -0
  556. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ff/throwError_ff75e4c919422c524c63fa2e532e31b5 +13 -0
  557. package/.jest-cache/jest-transform-cache-9a3a3745ceefdbbde8dc96f3a11cb645-79ef2876fae7ca75eedb2aa53dc48338/ff/throwError_ff75e4c919422c524c63fa2e532e31b5.map +1 -0
  558. package/.jest-cache/perf-cache-9a3a3745ceefdbbde8dc96f3a11cb645-da39a3ee5e6b4b0d3255bfef95601890 +1 -0
  559. package/.nx/nxw.js +116 -0
  560. package/README.md +276 -0
  561. package/coverage/base.css +224 -0
  562. package/coverage/block-navigation.js +87 -0
  563. package/coverage/favicon.png +0 -0
  564. package/coverage/index.html +206 -0
  565. package/coverage/junit.xml +1540 -0
  566. package/coverage/lcov-report/base.css +224 -0
  567. package/coverage/lcov-report/block-navigation.js +87 -0
  568. package/coverage/lcov-report/favicon.png +0 -0
  569. package/coverage/lcov-report/index.html +206 -0
  570. package/coverage/lcov-report/lib/components/dashboard/dashboard.component.ts.html +943 -0
  571. package/coverage/lcov-report/lib/components/dashboard/index.html +116 -0
  572. package/coverage/lcov-report/lib/components/login/index.html +116 -0
  573. package/coverage/lcov-report/lib/components/login/login.component.ts.html +451 -0
  574. package/coverage/lcov-report/lib/config/app.config.ts.html +889 -0
  575. package/coverage/lcov-report/lib/config/authentication.config.ts.html +262 -0
  576. package/coverage/lcov-report/lib/config/index.html +131 -0
  577. package/coverage/lcov-report/lib/guards/authorization.guard.ts.html +178 -0
  578. package/coverage/lcov-report/lib/guards/index.html +116 -0
  579. package/coverage/lcov-report/lib/index.html +116 -0
  580. package/coverage/lcov-report/lib/models/index.html +116 -0
  581. package/coverage/lcov-report/lib/models/login-config.interface.ts.html +307 -0
  582. package/coverage/lcov-report/lib/services/authentication.service.ts.html +973 -0
  583. package/coverage/lcov-report/lib/services/authorization.service.ts.html +634 -0
  584. package/coverage/lcov-report/lib/services/config.service.ts.html +316 -0
  585. package/coverage/lcov-report/lib/services/index.html +146 -0
  586. package/coverage/lcov-report/lib/version.ts.html +148 -0
  587. package/coverage/lcov-report/prettify.css +1 -0
  588. package/coverage/lcov-report/prettify.js +2 -0
  589. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  590. package/coverage/lcov-report/sorter.js +210 -0
  591. package/coverage/lcov.info +1060 -0
  592. package/coverage/lib/components/dashboard/dashboard.component.ts.html +943 -0
  593. package/coverage/lib/components/dashboard/index.html +116 -0
  594. package/coverage/lib/components/login/index.html +116 -0
  595. package/coverage/lib/components/login/login.component.ts.html +451 -0
  596. package/coverage/lib/config/app.config.ts.html +889 -0
  597. package/coverage/lib/config/authentication.config.ts.html +262 -0
  598. package/coverage/lib/config/index.html +131 -0
  599. package/coverage/lib/guards/authorization.guard.ts.html +178 -0
  600. package/coverage/lib/guards/index.html +116 -0
  601. package/coverage/lib/index.html +116 -0
  602. package/coverage/lib/models/index.html +116 -0
  603. package/coverage/lib/models/login-config.interface.ts.html +307 -0
  604. package/coverage/lib/services/authentication.service.ts.html +973 -0
  605. package/coverage/lib/services/authorization.service.ts.html +634 -0
  606. package/coverage/lib/services/config.service.ts.html +316 -0
  607. package/coverage/lib/services/index.html +146 -0
  608. package/coverage/lib/version.ts.html +148 -0
  609. package/coverage/prettify.css +1 -0
  610. package/coverage/prettify.js +2 -0
  611. package/coverage/sort-arrow-sprite.png +0 -0
  612. package/coverage/sorter.js +210 -0
  613. package/dist/README.md +276 -0
  614. package/dist/fesm2022/shared-lib-angular.mjs +1253 -0
  615. package/dist/fesm2022/shared-lib-angular.mjs.map +1 -0
  616. package/dist/index.d.ts +529 -0
  617. package/dist/src/assets/logo-mh.png +0 -0
  618. package/dist/src/lib/styles/_auth.scss +188 -0
  619. package/dist/src/lib/styles/_dashboard.scss +276 -0
  620. package/dist/src/lib/styles/_index.scss +12 -0
  621. package/dist/src/lib/styles/_tokens.scss +143 -0
  622. package/jest.config.js +99 -0
  623. package/ng-package.json +12 -0
  624. package/nx +5 -0
  625. package/nx.bat +10 -0
  626. package/nx.json +5 -0
  627. package/package.json +62 -0
  628. package/scripts/sync-version.js +54 -0
  629. package/setup-jest.ts +70 -0
  630. package/sonar-project.properties +33 -0
  631. package/src/assets/logo-mh.png +0 -0
  632. package/src/lib/components/dashboard/dashboard.component.html +256 -0
  633. package/src/lib/components/dashboard/dashboard.component.scss +623 -0
  634. package/src/lib/components/dashboard/dashboard.component.spec.ts +255 -0
  635. package/src/lib/components/dashboard/dashboard.component.ts +286 -0
  636. package/src/lib/components/index.ts +2 -0
  637. package/src/lib/components/login/login.component.html +85 -0
  638. package/src/lib/components/login/login.component.scss +286 -0
  639. package/src/lib/components/login/login.component.spec.ts +144 -0
  640. package/src/lib/components/login/login.component.ts +122 -0
  641. package/src/lib/config/app.config.ts +320 -0
  642. package/src/lib/config/authentication.config.ts +59 -0
  643. package/src/lib/config/index.ts +2 -0
  644. package/src/lib/guards/authorization.guard.ts +31 -0
  645. package/src/lib/guards/index.ts +1 -0
  646. package/src/lib/models/app-config.interface.ts +61 -0
  647. package/src/lib/models/authorization.interface.ts +40 -0
  648. package/src/lib/models/index.ts +4 -0
  649. package/src/lib/models/library-config.interface.ts +104 -0
  650. package/src/lib/models/login-config.interface.ts +74 -0
  651. package/src/lib/services/authentication.service.spec.ts +201 -0
  652. package/src/lib/services/authentication.service.ts +296 -0
  653. package/src/lib/services/authorization.service.spec.ts +239 -0
  654. package/src/lib/services/authorization.service.ts +183 -0
  655. package/src/lib/services/config.service.spec.ts +99 -0
  656. package/src/lib/services/config.service.ts +77 -0
  657. package/src/lib/services/index.ts +3 -0
  658. package/src/lib/styles/_auth.scss +188 -0
  659. package/src/lib/styles/_dashboard.scss +276 -0
  660. package/src/lib/styles/_index.scss +12 -0
  661. package/src/lib/styles/_tokens.scss +143 -0
  662. package/src/lib/version.ts +21 -0
  663. package/src/public-api.ts +75 -0
  664. package/tsconfig.json +33 -0
  665. package/tsconfig.spec.json +16 -0
@@ -0,0 +1,4525 @@
1
+ ded0a1db03e3adf98d05c398c2662453
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __defProps = Object.defineProperties;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __getProtoOf = Object.getPrototypeOf;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
+ var __export = (target, all) => {
26
+ for (var name in all)
27
+ __defProp(target, name, { get: all[name], enumerable: true });
28
+ };
29
+ var __copyProps = (to, from2, except, desc) => {
30
+ if (from2 && typeof from2 === "object" || typeof from2 === "function") {
31
+ for (let key of __getOwnPropNames(from2))
32
+ if (!__hasOwnProp.call(to, key) && key !== except)
33
+ __defProp(to, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable });
34
+ }
35
+ return to;
36
+ };
37
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
38
+ // If the importer is in node compatibility mode or this is not an ESM
39
+ // file that has been converted to a CommonJS file using a Babel-
40
+ // compatible transform (i.e. "__esModule" has not been set), then set
41
+ // "default" to the CommonJS "module.exports" for node compatibility.
42
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
43
+ mod
44
+ ));
45
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
46
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
47
+ var router2_exports = {};
48
+ __export(router2_exports, {
49
+ ActivatedRoute: () => ActivatedRoute,
50
+ ActivatedRouteSnapshot: () => ActivatedRouteSnapshot,
51
+ ActivationEnd: () => ActivationEnd,
52
+ ActivationStart: () => ActivationStart,
53
+ BaseRouteReuseStrategy: () => BaseRouteReuseStrategy,
54
+ CREATE_VIEW_TRANSITION: () => CREATE_VIEW_TRANSITION,
55
+ ChildActivationEnd: () => ChildActivationEnd,
56
+ ChildActivationStart: () => ChildActivationStart,
57
+ ChildrenOutletContexts: () => ChildrenOutletContexts,
58
+ DefaultTitleStrategy: () => DefaultTitleStrategy,
59
+ DefaultUrlSerializer: () => DefaultUrlSerializer,
60
+ EventType: () => EventType,
61
+ GuardsCheckEnd: () => GuardsCheckEnd,
62
+ GuardsCheckStart: () => GuardsCheckStart,
63
+ IMPERATIVE_NAVIGATION: () => IMPERATIVE_NAVIGATION,
64
+ INPUT_BINDER: () => INPUT_BINDER,
65
+ NAVIGATION_ERROR_HANDLER: () => NAVIGATION_ERROR_HANDLER,
66
+ NavigationCancel: () => NavigationCancel,
67
+ NavigationCancellationCode: () => NavigationCancellationCode,
68
+ NavigationEnd: () => NavigationEnd,
69
+ NavigationError: () => NavigationError,
70
+ NavigationSkipped: () => NavigationSkipped,
71
+ NavigationSkippedCode: () => NavigationSkippedCode,
72
+ NavigationStart: () => NavigationStart,
73
+ NavigationTransitions: () => NavigationTransitions,
74
+ OutletContext: () => OutletContext,
75
+ PRIMARY_OUTLET: () => PRIMARY_OUTLET,
76
+ ROUTER_CONFIGURATION: () => ROUTER_CONFIGURATION,
77
+ ROUTER_OUTLET_DATA: () => ROUTER_OUTLET_DATA,
78
+ ROUTES: () => ROUTES,
79
+ RedirectCommand: () => RedirectCommand,
80
+ ResolveEnd: () => ResolveEnd,
81
+ ResolveStart: () => ResolveStart,
82
+ RouteConfigLoadEnd: () => RouteConfigLoadEnd,
83
+ RouteConfigLoadStart: () => RouteConfigLoadStart,
84
+ RouteReuseStrategy: () => RouteReuseStrategy,
85
+ RoutedComponentInputBinder: () => RoutedComponentInputBinder,
86
+ Router: () => Router,
87
+ RouterConfigLoader: () => RouterConfigLoader,
88
+ RouterEvent: () => RouterEvent,
89
+ RouterOutlet: () => RouterOutlet,
90
+ RouterState: () => RouterState,
91
+ RouterStateSnapshot: () => RouterStateSnapshot,
92
+ RoutesRecognized: () => RoutesRecognized,
93
+ Scroll: () => Scroll,
94
+ TitleStrategy: () => TitleStrategy,
95
+ UrlHandlingStrategy: () => UrlHandlingStrategy,
96
+ UrlSegment: () => UrlSegment,
97
+ UrlSegmentGroup: () => UrlSegmentGroup,
98
+ UrlSerializer: () => UrlSerializer,
99
+ UrlTree: () => UrlTree,
100
+ VIEW_TRANSITION_OPTIONS: () => VIEW_TRANSITION_OPTIONS,
101
+ afterNextNavigation: () => afterNextNavigation,
102
+ convertToParamMap: () => convertToParamMap,
103
+ createUrlTreeFromSnapshot: () => createUrlTreeFromSnapshot,
104
+ createViewTransition: () => createViewTransition,
105
+ defaultUrlMatcher: () => defaultUrlMatcher,
106
+ isUrlTree: () => isUrlTree,
107
+ loadChildren: () => loadChildren,
108
+ stringifyEvent: () => stringifyEvent,
109
+ \u0275EmptyOutletComponent: () => \u0275EmptyOutletComponent
110
+ });
111
+ module.exports = __toCommonJS(router2_exports);
112
+ var import_common = require("@angular/common");
113
+ var i0 = __toESM(require("@angular/core"), 1);
114
+ var import_core = require("@angular/core");
115
+ var import_rxjs = require("rxjs");
116
+ var import_operators = require("rxjs/operators");
117
+ var i1 = __toESM(require("@angular/platform-browser"), 1);
118
+ /**
119
+ * @license Angular v20.3.16
120
+ * (c) 2010-2025 Google LLC. https://angular.dev/
121
+ * License: MIT
122
+ */
123
+ var _a, _b;
124
+ const PRIMARY_OUTLET = "primary";
125
+ const RouteTitleKey = /* @__PURE__ */ Symbol("RouteTitle");
126
+ class ParamsAsMap {
127
+ constructor(params) {
128
+ __publicField(this, "params");
129
+ this.params = params || {};
130
+ }
131
+ has(name) {
132
+ return Object.prototype.hasOwnProperty.call(this.params, name);
133
+ }
134
+ get(name) {
135
+ if (this.has(name)) {
136
+ const v = this.params[name];
137
+ return Array.isArray(v) ? v[0] : v;
138
+ }
139
+ return null;
140
+ }
141
+ getAll(name) {
142
+ if (this.has(name)) {
143
+ const v = this.params[name];
144
+ return Array.isArray(v) ? v : [v];
145
+ }
146
+ return [];
147
+ }
148
+ get keys() {
149
+ return Object.keys(this.params);
150
+ }
151
+ }
152
+ function convertToParamMap(params) {
153
+ return new ParamsAsMap(params);
154
+ }
155
+ function defaultUrlMatcher(segments, segmentGroup, route) {
156
+ const parts = route.path.split("/");
157
+ if (parts.length > segments.length) {
158
+ return null;
159
+ }
160
+ if (route.pathMatch === "full" && (segmentGroup.hasChildren() || parts.length < segments.length)) {
161
+ return null;
162
+ }
163
+ const posParams = {};
164
+ for (let index = 0; index < parts.length; index++) {
165
+ const part = parts[index];
166
+ const segment = segments[index];
167
+ const isParameter = part[0] === ":";
168
+ if (isParameter) {
169
+ posParams[part.substring(1)] = segment;
170
+ } else if (part !== segment.path) {
171
+ return null;
172
+ }
173
+ }
174
+ return { consumed: segments.slice(0, parts.length), posParams };
175
+ }
176
+ function shallowEqualArrays(a, b) {
177
+ if (a.length !== b.length)
178
+ return false;
179
+ for (let i = 0; i < a.length; ++i) {
180
+ if (!shallowEqual(a[i], b[i]))
181
+ return false;
182
+ }
183
+ return true;
184
+ }
185
+ function shallowEqual(a, b) {
186
+ const k1 = a ? getDataKeys(a) : void 0;
187
+ const k2 = b ? getDataKeys(b) : void 0;
188
+ if (!k1 || !k2 || k1.length != k2.length) {
189
+ return false;
190
+ }
191
+ let key;
192
+ for (let i = 0; i < k1.length; i++) {
193
+ key = k1[i];
194
+ if (!equalArraysOrString(a[key], b[key])) {
195
+ return false;
196
+ }
197
+ }
198
+ return true;
199
+ }
200
+ function getDataKeys(obj) {
201
+ return [...Object.keys(obj), ...Object.getOwnPropertySymbols(obj)];
202
+ }
203
+ function equalArraysOrString(a, b) {
204
+ if (Array.isArray(a) && Array.isArray(b)) {
205
+ if (a.length !== b.length)
206
+ return false;
207
+ const aSorted = [...a].sort();
208
+ const bSorted = [...b].sort();
209
+ return aSorted.every((val, index) => bSorted[index] === val);
210
+ } else {
211
+ return a === b;
212
+ }
213
+ }
214
+ function last(a) {
215
+ return a.length > 0 ? a[a.length - 1] : null;
216
+ }
217
+ function wrapIntoObservable(value) {
218
+ if ((0, import_rxjs.isObservable)(value)) {
219
+ return value;
220
+ }
221
+ if ((0, import_core.\u0275isPromise)(value)) {
222
+ return (0, import_rxjs.from)(Promise.resolve(value));
223
+ }
224
+ return (0, import_rxjs.of)(value);
225
+ }
226
+ const pathCompareMap = {
227
+ "exact": equalSegmentGroups,
228
+ "subset": containsSegmentGroup
229
+ };
230
+ const paramCompareMap = {
231
+ "exact": equalParams,
232
+ "subset": containsParams,
233
+ "ignored": () => true
234
+ };
235
+ function containsTree(container, containee, options) {
236
+ return pathCompareMap[options.paths](container.root, containee.root, options.matrixParams) && paramCompareMap[options.queryParams](container.queryParams, containee.queryParams) && !(options.fragment === "exact" && container.fragment !== containee.fragment);
237
+ }
238
+ function equalParams(container, containee) {
239
+ return shallowEqual(container, containee);
240
+ }
241
+ function equalSegmentGroups(container, containee, matrixParams) {
242
+ if (!equalPath(container.segments, containee.segments))
243
+ return false;
244
+ if (!matrixParamsMatch(container.segments, containee.segments, matrixParams)) {
245
+ return false;
246
+ }
247
+ if (container.numberOfChildren !== containee.numberOfChildren)
248
+ return false;
249
+ for (const c in containee.children) {
250
+ if (!container.children[c])
251
+ return false;
252
+ if (!equalSegmentGroups(container.children[c], containee.children[c], matrixParams))
253
+ return false;
254
+ }
255
+ return true;
256
+ }
257
+ function containsParams(container, containee) {
258
+ return Object.keys(containee).length <= Object.keys(container).length && Object.keys(containee).every((key) => equalArraysOrString(container[key], containee[key]));
259
+ }
260
+ function containsSegmentGroup(container, containee, matrixParams) {
261
+ return containsSegmentGroupHelper(container, containee, containee.segments, matrixParams);
262
+ }
263
+ function containsSegmentGroupHelper(container, containee, containeePaths, matrixParams) {
264
+ if (container.segments.length > containeePaths.length) {
265
+ const current = container.segments.slice(0, containeePaths.length);
266
+ if (!equalPath(current, containeePaths))
267
+ return false;
268
+ if (containee.hasChildren())
269
+ return false;
270
+ if (!matrixParamsMatch(current, containeePaths, matrixParams))
271
+ return false;
272
+ return true;
273
+ } else if (container.segments.length === containeePaths.length) {
274
+ if (!equalPath(container.segments, containeePaths))
275
+ return false;
276
+ if (!matrixParamsMatch(container.segments, containeePaths, matrixParams))
277
+ return false;
278
+ for (const c in containee.children) {
279
+ if (!container.children[c])
280
+ return false;
281
+ if (!containsSegmentGroup(container.children[c], containee.children[c], matrixParams)) {
282
+ return false;
283
+ }
284
+ }
285
+ return true;
286
+ } else {
287
+ const current = containeePaths.slice(0, container.segments.length);
288
+ const next = containeePaths.slice(container.segments.length);
289
+ if (!equalPath(container.segments, current))
290
+ return false;
291
+ if (!matrixParamsMatch(container.segments, current, matrixParams))
292
+ return false;
293
+ if (!container.children[PRIMARY_OUTLET])
294
+ return false;
295
+ return containsSegmentGroupHelper(container.children[PRIMARY_OUTLET], containee, next, matrixParams);
296
+ }
297
+ }
298
+ function matrixParamsMatch(containerPaths, containeePaths, options) {
299
+ return containeePaths.every((containeeSegment, i) => {
300
+ return paramCompareMap[options](containerPaths[i].parameters, containeeSegment.parameters);
301
+ });
302
+ }
303
+ class UrlTree {
304
+ constructor(root = new UrlSegmentGroup([], {}), queryParams = {}, fragment = null) {
305
+ __publicField(this, "root");
306
+ __publicField(this, "queryParams");
307
+ __publicField(this, "fragment");
308
+ /** @internal */
309
+ __publicField(this, "_queryParamMap");
310
+ this.root = root;
311
+ this.queryParams = queryParams;
312
+ this.fragment = fragment;
313
+ if (typeof ngDevMode === "undefined" || ngDevMode) {
314
+ if (root.segments.length > 0) {
315
+ throw new import_core.\u0275RuntimeError(4015, "The root `UrlSegmentGroup` should not contain `segments`. Instead, these segments belong in the `children` so they can be associated with a named outlet.");
316
+ }
317
+ }
318
+ }
319
+ get queryParamMap() {
320
+ var _a2;
321
+ (_a2 = this._queryParamMap) != null ? _a2 : this._queryParamMap = convertToParamMap(this.queryParams);
322
+ return this._queryParamMap;
323
+ }
324
+ /** @docsNotRequired */
325
+ toString() {
326
+ return DEFAULT_SERIALIZER.serialize(this);
327
+ }
328
+ }
329
+ class UrlSegmentGroup {
330
+ constructor(segments, children) {
331
+ __publicField(this, "segments");
332
+ __publicField(this, "children");
333
+ /** The parent node in the url tree */
334
+ __publicField(this, "parent", null);
335
+ this.segments = segments;
336
+ this.children = children;
337
+ Object.values(children).forEach((v) => v.parent = this);
338
+ }
339
+ /** Whether the segment has child segments */
340
+ hasChildren() {
341
+ return this.numberOfChildren > 0;
342
+ }
343
+ /** Number of child segments */
344
+ get numberOfChildren() {
345
+ return Object.keys(this.children).length;
346
+ }
347
+ /** @docsNotRequired */
348
+ toString() {
349
+ return serializePaths(this);
350
+ }
351
+ }
352
+ class UrlSegment {
353
+ constructor(path, parameters) {
354
+ __publicField(this, "path");
355
+ __publicField(this, "parameters");
356
+ /** @internal */
357
+ __publicField(this, "_parameterMap");
358
+ this.path = path;
359
+ this.parameters = parameters;
360
+ }
361
+ get parameterMap() {
362
+ var _a2;
363
+ (_a2 = this._parameterMap) != null ? _a2 : this._parameterMap = convertToParamMap(this.parameters);
364
+ return this._parameterMap;
365
+ }
366
+ /** @docsNotRequired */
367
+ toString() {
368
+ return serializePath(this);
369
+ }
370
+ }
371
+ function equalSegments(as, bs) {
372
+ return equalPath(as, bs) && as.every((a, i) => shallowEqual(a.parameters, bs[i].parameters));
373
+ }
374
+ function equalPath(as, bs) {
375
+ if (as.length !== bs.length)
376
+ return false;
377
+ return as.every((a, i) => a.path === bs[i].path);
378
+ }
379
+ function mapChildrenIntoArray(segment, fn) {
380
+ let res = [];
381
+ Object.entries(segment.children).forEach(([childOutlet, child]) => {
382
+ if (childOutlet === PRIMARY_OUTLET) {
383
+ res = res.concat(fn(child, childOutlet));
384
+ }
385
+ });
386
+ Object.entries(segment.children).forEach(([childOutlet, child]) => {
387
+ if (childOutlet !== PRIMARY_OUTLET) {
388
+ res = res.concat(fn(child, childOutlet));
389
+ }
390
+ });
391
+ return res;
392
+ }
393
+ const _UrlSerializer = class _UrlSerializer {
394
+ };
395
+ __publicField(_UrlSerializer, "\u0275fac", i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _UrlSerializer, deps: [], target: i0.\u0275\u0275FactoryTarget.Injectable }));
396
+ __publicField(_UrlSerializer, "\u0275prov", i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _UrlSerializer, providedIn: "root", useFactory: () => new DefaultUrlSerializer() }));
397
+ let UrlSerializer = _UrlSerializer;
398
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UrlSerializer, decorators: [{
399
+ type: import_core.Injectable,
400
+ args: [{ providedIn: "root", useFactory: () => new DefaultUrlSerializer() }]
401
+ }] });
402
+ class DefaultUrlSerializer {
403
+ /** Parses a url into a `UrlTree` */
404
+ parse(url) {
405
+ const p = new UrlParser(url);
406
+ return new UrlTree(p.parseRootSegment(), p.parseQueryParams(), p.parseFragment());
407
+ }
408
+ /** Converts a `UrlTree` into a url */
409
+ serialize(tree2) {
410
+ const segment = `/${serializeSegment(tree2.root, true)}`;
411
+ const query = serializeQueryParams(tree2.queryParams);
412
+ const fragment = typeof tree2.fragment === `string` ? `#${encodeUriFragment(tree2.fragment)}` : "";
413
+ return `${segment}${query}${fragment}`;
414
+ }
415
+ }
416
+ const DEFAULT_SERIALIZER = new DefaultUrlSerializer();
417
+ function serializePaths(segment) {
418
+ return segment.segments.map((p) => serializePath(p)).join("/");
419
+ }
420
+ function serializeSegment(segment, root) {
421
+ if (!segment.hasChildren()) {
422
+ return serializePaths(segment);
423
+ }
424
+ if (root) {
425
+ const primary = segment.children[PRIMARY_OUTLET] ? serializeSegment(segment.children[PRIMARY_OUTLET], false) : "";
426
+ const children = [];
427
+ Object.entries(segment.children).forEach(([k, v]) => {
428
+ if (k !== PRIMARY_OUTLET) {
429
+ children.push(`${k}:${serializeSegment(v, false)}`);
430
+ }
431
+ });
432
+ return children.length > 0 ? `${primary}(${children.join("//")})` : primary;
433
+ } else {
434
+ const children = mapChildrenIntoArray(segment, (v, k) => {
435
+ if (k === PRIMARY_OUTLET) {
436
+ return [serializeSegment(segment.children[PRIMARY_OUTLET], false)];
437
+ }
438
+ return [`${k}:${serializeSegment(v, false)}`];
439
+ });
440
+ if (Object.keys(segment.children).length === 1 && segment.children[PRIMARY_OUTLET] != null) {
441
+ return `${serializePaths(segment)}/${children[0]}`;
442
+ }
443
+ return `${serializePaths(segment)}/(${children.join("//")})`;
444
+ }
445
+ }
446
+ function encodeUriString(s) {
447
+ return encodeURIComponent(s).replace(/%40/g, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",");
448
+ }
449
+ function encodeUriQuery(s) {
450
+ return encodeUriString(s).replace(/%3B/gi, ";");
451
+ }
452
+ function encodeUriFragment(s) {
453
+ return encodeURI(s);
454
+ }
455
+ function encodeUriSegment(s) {
456
+ return encodeUriString(s).replace(/\(/g, "%28").replace(/\)/g, "%29").replace(/%26/gi, "&");
457
+ }
458
+ function decode(s) {
459
+ return decodeURIComponent(s);
460
+ }
461
+ function decodeQuery(s) {
462
+ return decode(s.replace(/\+/g, "%20"));
463
+ }
464
+ function serializePath(path) {
465
+ return `${encodeUriSegment(path.path)}${serializeMatrixParams(path.parameters)}`;
466
+ }
467
+ function serializeMatrixParams(params) {
468
+ return Object.entries(params).map(([key, value]) => `;${encodeUriSegment(key)}=${encodeUriSegment(value)}`).join("");
469
+ }
470
+ function serializeQueryParams(params) {
471
+ const strParams = Object.entries(params).map(([name, value]) => {
472
+ return Array.isArray(value) ? value.map((v) => `${encodeUriQuery(name)}=${encodeUriQuery(v)}`).join("&") : `${encodeUriQuery(name)}=${encodeUriQuery(value)}`;
473
+ }).filter((s) => s);
474
+ return strParams.length ? `?${strParams.join("&")}` : "";
475
+ }
476
+ const SEGMENT_RE = /^[^\/()?;#]+/;
477
+ function matchSegments(str) {
478
+ const match2 = str.match(SEGMENT_RE);
479
+ return match2 ? match2[0] : "";
480
+ }
481
+ const MATRIX_PARAM_SEGMENT_RE = /^[^\/()?;=#]+/;
482
+ function matchMatrixKeySegments(str) {
483
+ const match2 = str.match(MATRIX_PARAM_SEGMENT_RE);
484
+ return match2 ? match2[0] : "";
485
+ }
486
+ const QUERY_PARAM_RE = /^[^=?&#]+/;
487
+ function matchQueryParams(str) {
488
+ const match2 = str.match(QUERY_PARAM_RE);
489
+ return match2 ? match2[0] : "";
490
+ }
491
+ const QUERY_PARAM_VALUE_RE = /^[^&#]+/;
492
+ function matchUrlQueryParamValue(str) {
493
+ const match2 = str.match(QUERY_PARAM_VALUE_RE);
494
+ return match2 ? match2[0] : "";
495
+ }
496
+ class UrlParser {
497
+ constructor(url) {
498
+ __publicField(this, "url");
499
+ __publicField(this, "remaining");
500
+ this.url = url;
501
+ this.remaining = url;
502
+ }
503
+ parseRootSegment() {
504
+ this.consumeOptional("/");
505
+ if (this.remaining === "" || this.peekStartsWith("?") || this.peekStartsWith("#")) {
506
+ return new UrlSegmentGroup([], {});
507
+ }
508
+ return new UrlSegmentGroup([], this.parseChildren());
509
+ }
510
+ parseQueryParams() {
511
+ const params = {};
512
+ if (this.consumeOptional("?")) {
513
+ do {
514
+ this.parseQueryParam(params);
515
+ } while (this.consumeOptional("&"));
516
+ }
517
+ return params;
518
+ }
519
+ parseFragment() {
520
+ return this.consumeOptional("#") ? decodeURIComponent(this.remaining) : null;
521
+ }
522
+ parseChildren() {
523
+ if (this.remaining === "") {
524
+ return {};
525
+ }
526
+ this.consumeOptional("/");
527
+ const segments = [];
528
+ if (!this.peekStartsWith("(")) {
529
+ segments.push(this.parseSegment());
530
+ }
531
+ while (this.peekStartsWith("/") && !this.peekStartsWith("//") && !this.peekStartsWith("/(")) {
532
+ this.capture("/");
533
+ segments.push(this.parseSegment());
534
+ }
535
+ let children = {};
536
+ if (this.peekStartsWith("/(")) {
537
+ this.capture("/");
538
+ children = this.parseParens(true);
539
+ }
540
+ let res = {};
541
+ if (this.peekStartsWith("(")) {
542
+ res = this.parseParens(false);
543
+ }
544
+ if (segments.length > 0 || Object.keys(children).length > 0) {
545
+ res[PRIMARY_OUTLET] = new UrlSegmentGroup(segments, children);
546
+ }
547
+ return res;
548
+ }
549
+ // parse a segment with its matrix parameters
550
+ // ie `name;k1=v1;k2`
551
+ parseSegment() {
552
+ const path = matchSegments(this.remaining);
553
+ if (path === "" && this.peekStartsWith(";")) {
554
+ throw new import_core.\u0275RuntimeError(4009, (typeof ngDevMode === "undefined" || ngDevMode) && `Empty path url segment cannot have parameters: '${this.remaining}'.`);
555
+ }
556
+ this.capture(path);
557
+ return new UrlSegment(decode(path), this.parseMatrixParams());
558
+ }
559
+ parseMatrixParams() {
560
+ const params = {};
561
+ while (this.consumeOptional(";")) {
562
+ this.parseParam(params);
563
+ }
564
+ return params;
565
+ }
566
+ parseParam(params) {
567
+ const key = matchMatrixKeySegments(this.remaining);
568
+ if (!key) {
569
+ return;
570
+ }
571
+ this.capture(key);
572
+ let value = "";
573
+ if (this.consumeOptional("=")) {
574
+ const valueMatch = matchSegments(this.remaining);
575
+ if (valueMatch) {
576
+ value = valueMatch;
577
+ this.capture(value);
578
+ }
579
+ }
580
+ params[decode(key)] = decode(value);
581
+ }
582
+ // Parse a single query parameter `name[=value]`
583
+ parseQueryParam(params) {
584
+ const key = matchQueryParams(this.remaining);
585
+ if (!key) {
586
+ return;
587
+ }
588
+ this.capture(key);
589
+ let value = "";
590
+ if (this.consumeOptional("=")) {
591
+ const valueMatch = matchUrlQueryParamValue(this.remaining);
592
+ if (valueMatch) {
593
+ value = valueMatch;
594
+ this.capture(value);
595
+ }
596
+ }
597
+ const decodedKey = decodeQuery(key);
598
+ const decodedVal = decodeQuery(value);
599
+ if (params.hasOwnProperty(decodedKey)) {
600
+ let currentVal = params[decodedKey];
601
+ if (!Array.isArray(currentVal)) {
602
+ currentVal = [currentVal];
603
+ params[decodedKey] = currentVal;
604
+ }
605
+ currentVal.push(decodedVal);
606
+ } else {
607
+ params[decodedKey] = decodedVal;
608
+ }
609
+ }
610
+ // parse `(a/b//outlet_name:c/d)`
611
+ parseParens(allowPrimary) {
612
+ const segments = {};
613
+ this.capture("(");
614
+ while (!this.consumeOptional(")") && this.remaining.length > 0) {
615
+ const path = matchSegments(this.remaining);
616
+ const next = this.remaining[path.length];
617
+ if (next !== "/" && next !== ")" && next !== ";") {
618
+ throw new import_core.\u0275RuntimeError(4010, (typeof ngDevMode === "undefined" || ngDevMode) && `Cannot parse url '${this.url}'`);
619
+ }
620
+ let outletName;
621
+ if (path.indexOf(":") > -1) {
622
+ outletName = path.slice(0, path.indexOf(":"));
623
+ this.capture(outletName);
624
+ this.capture(":");
625
+ } else if (allowPrimary) {
626
+ outletName = PRIMARY_OUTLET;
627
+ }
628
+ const children = this.parseChildren();
629
+ segments[outletName != null ? outletName : PRIMARY_OUTLET] = Object.keys(children).length === 1 && children[PRIMARY_OUTLET] ? children[PRIMARY_OUTLET] : new UrlSegmentGroup([], children);
630
+ this.consumeOptional("//");
631
+ }
632
+ return segments;
633
+ }
634
+ peekStartsWith(str) {
635
+ return this.remaining.startsWith(str);
636
+ }
637
+ // Consumes the prefix when it is present and returns whether it has been consumed
638
+ consumeOptional(str) {
639
+ if (this.peekStartsWith(str)) {
640
+ this.remaining = this.remaining.substring(str.length);
641
+ return true;
642
+ }
643
+ return false;
644
+ }
645
+ capture(str) {
646
+ if (!this.consumeOptional(str)) {
647
+ throw new import_core.\u0275RuntimeError(4011, (typeof ngDevMode === "undefined" || ngDevMode) && `Expected "${str}".`);
648
+ }
649
+ }
650
+ }
651
+ function createRoot(rootCandidate) {
652
+ return rootCandidate.segments.length > 0 ? new UrlSegmentGroup([], { [PRIMARY_OUTLET]: rootCandidate }) : rootCandidate;
653
+ }
654
+ function squashSegmentGroup(segmentGroup) {
655
+ const newChildren = {};
656
+ for (const [childOutlet, child] of Object.entries(segmentGroup.children)) {
657
+ const childCandidate = squashSegmentGroup(child);
658
+ if (childOutlet === PRIMARY_OUTLET && childCandidate.segments.length === 0 && childCandidate.hasChildren()) {
659
+ for (const [grandChildOutlet, grandChild] of Object.entries(childCandidate.children)) {
660
+ newChildren[grandChildOutlet] = grandChild;
661
+ }
662
+ } else if (childCandidate.segments.length > 0 || childCandidate.hasChildren()) {
663
+ newChildren[childOutlet] = childCandidate;
664
+ }
665
+ }
666
+ const s = new UrlSegmentGroup(segmentGroup.segments, newChildren);
667
+ return mergeTrivialChildren(s);
668
+ }
669
+ function mergeTrivialChildren(s) {
670
+ if (s.numberOfChildren === 1 && s.children[PRIMARY_OUTLET]) {
671
+ const c = s.children[PRIMARY_OUTLET];
672
+ return new UrlSegmentGroup(s.segments.concat(c.segments), c.children);
673
+ }
674
+ return s;
675
+ }
676
+ function isUrlTree(v) {
677
+ return v instanceof UrlTree;
678
+ }
679
+ function createUrlTreeFromSnapshot(relativeTo, commands, queryParams = null, fragment = null) {
680
+ const relativeToUrlSegmentGroup = createSegmentGroupFromRoute(relativeTo);
681
+ return createUrlTreeFromSegmentGroup(relativeToUrlSegmentGroup, commands, queryParams, fragment);
682
+ }
683
+ function createSegmentGroupFromRoute(route) {
684
+ let targetGroup;
685
+ function createSegmentGroupFromRouteRecursive(currentRoute) {
686
+ const childOutlets = {};
687
+ for (const childSnapshot of currentRoute.children) {
688
+ const root = createSegmentGroupFromRouteRecursive(childSnapshot);
689
+ childOutlets[childSnapshot.outlet] = root;
690
+ }
691
+ const segmentGroup = new UrlSegmentGroup(currentRoute.url, childOutlets);
692
+ if (currentRoute === route) {
693
+ targetGroup = segmentGroup;
694
+ }
695
+ return segmentGroup;
696
+ }
697
+ const rootCandidate = createSegmentGroupFromRouteRecursive(route.root);
698
+ const rootSegmentGroup = createRoot(rootCandidate);
699
+ return targetGroup != null ? targetGroup : rootSegmentGroup;
700
+ }
701
+ function createUrlTreeFromSegmentGroup(relativeTo, commands, queryParams, fragment) {
702
+ let root = relativeTo;
703
+ while (root.parent) {
704
+ root = root.parent;
705
+ }
706
+ if (commands.length === 0) {
707
+ return tree(root, root, root, queryParams, fragment);
708
+ }
709
+ const nav = computeNavigation(commands);
710
+ if (nav.toRoot()) {
711
+ return tree(root, root, new UrlSegmentGroup([], {}), queryParams, fragment);
712
+ }
713
+ const position = findStartingPositionForTargetGroup(nav, root, relativeTo);
714
+ const newSegmentGroup = position.processChildren ? updateSegmentGroupChildren(position.segmentGroup, position.index, nav.commands) : updateSegmentGroup(position.segmentGroup, position.index, nav.commands);
715
+ return tree(root, position.segmentGroup, newSegmentGroup, queryParams, fragment);
716
+ }
717
+ function isMatrixParams(command) {
718
+ return typeof command === "object" && command != null && !command.outlets && !command.segmentPath;
719
+ }
720
+ function isCommandWithOutlets(command) {
721
+ return typeof command === "object" && command != null && command.outlets;
722
+ }
723
+ function tree(oldRoot, oldSegmentGroup, newSegmentGroup, queryParams, fragment) {
724
+ let qp = {};
725
+ if (queryParams) {
726
+ Object.entries(queryParams).forEach(([name, value]) => {
727
+ qp[name] = Array.isArray(value) ? value.map((v) => `${v}`) : `${value}`;
728
+ });
729
+ }
730
+ let rootCandidate;
731
+ if (oldRoot === oldSegmentGroup) {
732
+ rootCandidate = newSegmentGroup;
733
+ } else {
734
+ rootCandidate = replaceSegment(oldRoot, oldSegmentGroup, newSegmentGroup);
735
+ }
736
+ const newRoot = createRoot(squashSegmentGroup(rootCandidate));
737
+ return new UrlTree(newRoot, qp, fragment);
738
+ }
739
+ function replaceSegment(current, oldSegment, newSegment) {
740
+ const children = {};
741
+ Object.entries(current.children).forEach(([outletName, c]) => {
742
+ if (c === oldSegment) {
743
+ children[outletName] = newSegment;
744
+ } else {
745
+ children[outletName] = replaceSegment(c, oldSegment, newSegment);
746
+ }
747
+ });
748
+ return new UrlSegmentGroup(current.segments, children);
749
+ }
750
+ class Navigation {
751
+ constructor(isAbsolute, numberOfDoubleDots, commands) {
752
+ __publicField(this, "isAbsolute");
753
+ __publicField(this, "numberOfDoubleDots");
754
+ __publicField(this, "commands");
755
+ this.isAbsolute = isAbsolute;
756
+ this.numberOfDoubleDots = numberOfDoubleDots;
757
+ this.commands = commands;
758
+ if (isAbsolute && commands.length > 0 && isMatrixParams(commands[0])) {
759
+ throw new import_core.\u0275RuntimeError(4003, (typeof ngDevMode === "undefined" || ngDevMode) && "Root segment cannot have matrix parameters");
760
+ }
761
+ const cmdWithOutlet = commands.find(isCommandWithOutlets);
762
+ if (cmdWithOutlet && cmdWithOutlet !== last(commands)) {
763
+ throw new import_core.\u0275RuntimeError(4004, (typeof ngDevMode === "undefined" || ngDevMode) && "{outlets:{}} has to be the last command");
764
+ }
765
+ }
766
+ toRoot() {
767
+ return this.isAbsolute && this.commands.length === 1 && this.commands[0] == "/";
768
+ }
769
+ }
770
+ function computeNavigation(commands) {
771
+ if (typeof commands[0] === "string" && commands.length === 1 && commands[0] === "/") {
772
+ return new Navigation(true, 0, commands);
773
+ }
774
+ let numberOfDoubleDots = 0;
775
+ let isAbsolute = false;
776
+ const res = commands.reduce((res2, cmd, cmdIdx) => {
777
+ if (typeof cmd === "object" && cmd != null) {
778
+ if (cmd.outlets) {
779
+ const outlets = {};
780
+ Object.entries(cmd.outlets).forEach(([name, commands2]) => {
781
+ outlets[name] = typeof commands2 === "string" ? commands2.split("/") : commands2;
782
+ });
783
+ return [...res2, { outlets }];
784
+ }
785
+ if (cmd.segmentPath) {
786
+ return [...res2, cmd.segmentPath];
787
+ }
788
+ }
789
+ if (!(typeof cmd === "string")) {
790
+ return [...res2, cmd];
791
+ }
792
+ if (cmdIdx === 0) {
793
+ cmd.split("/").forEach((urlPart, partIndex) => {
794
+ if (partIndex == 0 && urlPart === ".") ;
795
+ else if (partIndex == 0 && urlPart === "") {
796
+ isAbsolute = true;
797
+ } else if (urlPart === "..") {
798
+ numberOfDoubleDots++;
799
+ } else if (urlPart != "") {
800
+ res2.push(urlPart);
801
+ }
802
+ });
803
+ return res2;
804
+ }
805
+ return [...res2, cmd];
806
+ }, []);
807
+ return new Navigation(isAbsolute, numberOfDoubleDots, res);
808
+ }
809
+ class Position {
810
+ constructor(segmentGroup, processChildren, index) {
811
+ __publicField(this, "segmentGroup");
812
+ __publicField(this, "processChildren");
813
+ __publicField(this, "index");
814
+ this.segmentGroup = segmentGroup;
815
+ this.processChildren = processChildren;
816
+ this.index = index;
817
+ }
818
+ }
819
+ function findStartingPositionForTargetGroup(nav, root, target) {
820
+ if (nav.isAbsolute) {
821
+ return new Position(root, true, 0);
822
+ }
823
+ if (!target) {
824
+ return new Position(root, false, NaN);
825
+ }
826
+ if (target.parent === null) {
827
+ return new Position(target, true, 0);
828
+ }
829
+ const modifier = isMatrixParams(nav.commands[0]) ? 0 : 1;
830
+ const index = target.segments.length - 1 + modifier;
831
+ return createPositionApplyingDoubleDots(target, index, nav.numberOfDoubleDots);
832
+ }
833
+ function createPositionApplyingDoubleDots(group, index, numberOfDoubleDots) {
834
+ let g = group;
835
+ let ci = index;
836
+ let dd = numberOfDoubleDots;
837
+ while (dd > ci) {
838
+ dd -= ci;
839
+ g = g.parent;
840
+ if (!g) {
841
+ throw new import_core.\u0275RuntimeError(4005, (typeof ngDevMode === "undefined" || ngDevMode) && "Invalid number of '../'");
842
+ }
843
+ ci = g.segments.length;
844
+ }
845
+ return new Position(g, false, ci - dd);
846
+ }
847
+ function getOutlets(commands) {
848
+ if (isCommandWithOutlets(commands[0])) {
849
+ return commands[0].outlets;
850
+ }
851
+ return { [PRIMARY_OUTLET]: commands };
852
+ }
853
+ function updateSegmentGroup(segmentGroup, startIndex, commands) {
854
+ segmentGroup != null ? segmentGroup : segmentGroup = new UrlSegmentGroup([], {});
855
+ if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {
856
+ return updateSegmentGroupChildren(segmentGroup, startIndex, commands);
857
+ }
858
+ const m = prefixedWith(segmentGroup, startIndex, commands);
859
+ const slicedCommands = commands.slice(m.commandIndex);
860
+ if (m.match && m.pathIndex < segmentGroup.segments.length) {
861
+ const g = new UrlSegmentGroup(segmentGroup.segments.slice(0, m.pathIndex), {});
862
+ g.children[PRIMARY_OUTLET] = new UrlSegmentGroup(segmentGroup.segments.slice(m.pathIndex), segmentGroup.children);
863
+ return updateSegmentGroupChildren(g, 0, slicedCommands);
864
+ } else if (m.match && slicedCommands.length === 0) {
865
+ return new UrlSegmentGroup(segmentGroup.segments, {});
866
+ } else if (m.match && !segmentGroup.hasChildren()) {
867
+ return createNewSegmentGroup(segmentGroup, startIndex, commands);
868
+ } else if (m.match) {
869
+ return updateSegmentGroupChildren(segmentGroup, 0, slicedCommands);
870
+ } else {
871
+ return createNewSegmentGroup(segmentGroup, startIndex, commands);
872
+ }
873
+ }
874
+ function updateSegmentGroupChildren(segmentGroup, startIndex, commands) {
875
+ if (commands.length === 0) {
876
+ return new UrlSegmentGroup(segmentGroup.segments, {});
877
+ } else {
878
+ const outlets = getOutlets(commands);
879
+ const children = {};
880
+ if (Object.keys(outlets).some((o) => o !== PRIMARY_OUTLET) && segmentGroup.children[PRIMARY_OUTLET] && segmentGroup.numberOfChildren === 1 && segmentGroup.children[PRIMARY_OUTLET].segments.length === 0) {
881
+ const childrenOfEmptyChild = updateSegmentGroupChildren(segmentGroup.children[PRIMARY_OUTLET], startIndex, commands);
882
+ return new UrlSegmentGroup(segmentGroup.segments, childrenOfEmptyChild.children);
883
+ }
884
+ Object.entries(outlets).forEach(([outlet, commands2]) => {
885
+ if (typeof commands2 === "string") {
886
+ commands2 = [commands2];
887
+ }
888
+ if (commands2 !== null) {
889
+ children[outlet] = updateSegmentGroup(segmentGroup.children[outlet], startIndex, commands2);
890
+ }
891
+ });
892
+ Object.entries(segmentGroup.children).forEach(([childOutlet, child]) => {
893
+ if (outlets[childOutlet] === void 0) {
894
+ children[childOutlet] = child;
895
+ }
896
+ });
897
+ return new UrlSegmentGroup(segmentGroup.segments, children);
898
+ }
899
+ }
900
+ function prefixedWith(segmentGroup, startIndex, commands) {
901
+ let currentCommandIndex = 0;
902
+ let currentPathIndex = startIndex;
903
+ const noMatch2 = { match: false, pathIndex: 0, commandIndex: 0 };
904
+ while (currentPathIndex < segmentGroup.segments.length) {
905
+ if (currentCommandIndex >= commands.length)
906
+ return noMatch2;
907
+ const path = segmentGroup.segments[currentPathIndex];
908
+ const command = commands[currentCommandIndex];
909
+ if (isCommandWithOutlets(command)) {
910
+ break;
911
+ }
912
+ const curr = `${command}`;
913
+ const next = currentCommandIndex < commands.length - 1 ? commands[currentCommandIndex + 1] : null;
914
+ if (currentPathIndex > 0 && curr === void 0)
915
+ break;
916
+ if (curr && next && typeof next === "object" && next.outlets === void 0) {
917
+ if (!compare(curr, next, path))
918
+ return noMatch2;
919
+ currentCommandIndex += 2;
920
+ } else {
921
+ if (!compare(curr, {}, path))
922
+ return noMatch2;
923
+ currentCommandIndex++;
924
+ }
925
+ currentPathIndex++;
926
+ }
927
+ return { match: true, pathIndex: currentPathIndex, commandIndex: currentCommandIndex };
928
+ }
929
+ function createNewSegmentGroup(segmentGroup, startIndex, commands) {
930
+ const paths = segmentGroup.segments.slice(0, startIndex);
931
+ let i = 0;
932
+ while (i < commands.length) {
933
+ const command = commands[i];
934
+ if (isCommandWithOutlets(command)) {
935
+ const children = createNewSegmentChildren(command.outlets);
936
+ return new UrlSegmentGroup(paths, children);
937
+ }
938
+ if (i === 0 && isMatrixParams(commands[0])) {
939
+ const p = segmentGroup.segments[startIndex];
940
+ paths.push(new UrlSegment(p.path, stringify(commands[0])));
941
+ i++;
942
+ continue;
943
+ }
944
+ const curr = isCommandWithOutlets(command) ? command.outlets[PRIMARY_OUTLET] : `${command}`;
945
+ const next = i < commands.length - 1 ? commands[i + 1] : null;
946
+ if (curr && next && isMatrixParams(next)) {
947
+ paths.push(new UrlSegment(curr, stringify(next)));
948
+ i += 2;
949
+ } else {
950
+ paths.push(new UrlSegment(curr, {}));
951
+ i++;
952
+ }
953
+ }
954
+ return new UrlSegmentGroup(paths, {});
955
+ }
956
+ function createNewSegmentChildren(outlets) {
957
+ const children = {};
958
+ Object.entries(outlets).forEach(([outlet, commands]) => {
959
+ if (typeof commands === "string") {
960
+ commands = [commands];
961
+ }
962
+ if (commands !== null) {
963
+ children[outlet] = createNewSegmentGroup(new UrlSegmentGroup([], {}), 0, commands);
964
+ }
965
+ });
966
+ return children;
967
+ }
968
+ function stringify(params) {
969
+ const res = {};
970
+ Object.entries(params).forEach(([k, v]) => res[k] = `${v}`);
971
+ return res;
972
+ }
973
+ function compare(path, params, segment) {
974
+ return path == segment.path && shallowEqual(params, segment.parameters);
975
+ }
976
+ const IMPERATIVE_NAVIGATION = "imperative";
977
+ var EventType;
978
+ (function(EventType2) {
979
+ EventType2[EventType2["NavigationStart"] = 0] = "NavigationStart";
980
+ EventType2[EventType2["NavigationEnd"] = 1] = "NavigationEnd";
981
+ EventType2[EventType2["NavigationCancel"] = 2] = "NavigationCancel";
982
+ EventType2[EventType2["NavigationError"] = 3] = "NavigationError";
983
+ EventType2[EventType2["RoutesRecognized"] = 4] = "RoutesRecognized";
984
+ EventType2[EventType2["ResolveStart"] = 5] = "ResolveStart";
985
+ EventType2[EventType2["ResolveEnd"] = 6] = "ResolveEnd";
986
+ EventType2[EventType2["GuardsCheckStart"] = 7] = "GuardsCheckStart";
987
+ EventType2[EventType2["GuardsCheckEnd"] = 8] = "GuardsCheckEnd";
988
+ EventType2[EventType2["RouteConfigLoadStart"] = 9] = "RouteConfigLoadStart";
989
+ EventType2[EventType2["RouteConfigLoadEnd"] = 10] = "RouteConfigLoadEnd";
990
+ EventType2[EventType2["ChildActivationStart"] = 11] = "ChildActivationStart";
991
+ EventType2[EventType2["ChildActivationEnd"] = 12] = "ChildActivationEnd";
992
+ EventType2[EventType2["ActivationStart"] = 13] = "ActivationStart";
993
+ EventType2[EventType2["ActivationEnd"] = 14] = "ActivationEnd";
994
+ EventType2[EventType2["Scroll"] = 15] = "Scroll";
995
+ EventType2[EventType2["NavigationSkipped"] = 16] = "NavigationSkipped";
996
+ })(EventType || (EventType = {}));
997
+ class RouterEvent {
998
+ constructor(id, url) {
999
+ __publicField(this, "id");
1000
+ __publicField(this, "url");
1001
+ this.id = id;
1002
+ this.url = url;
1003
+ }
1004
+ }
1005
+ class NavigationStart extends RouterEvent {
1006
+ constructor(id, url, navigationTrigger = "imperative", restoredState = null) {
1007
+ super(id, url);
1008
+ __publicField(this, "type", EventType.NavigationStart);
1009
+ /**
1010
+ * Identifies the call or event that triggered the navigation.
1011
+ * An `imperative` trigger is a call to `router.navigateByUrl()` or `router.navigate()`.
1012
+ *
1013
+ * @see {@link NavigationEnd}
1014
+ * @see {@link NavigationCancel}
1015
+ * @see {@link NavigationError}
1016
+ */
1017
+ __publicField(this, "navigationTrigger");
1018
+ /**
1019
+ * The navigation state that was previously supplied to the `pushState` call,
1020
+ * when the navigation is triggered by a `popstate` event. Otherwise null.
1021
+ *
1022
+ * The state object is defined by `NavigationExtras`, and contains any
1023
+ * developer-defined state value, as well as a unique ID that
1024
+ * the router assigns to every router transition/navigation.
1025
+ *
1026
+ * From the perspective of the router, the router never "goes back".
1027
+ * When the user clicks on the back button in the browser,
1028
+ * a new navigation ID is created.
1029
+ *
1030
+ * Use the ID in this previous-state object to differentiate between a newly created
1031
+ * state and one returned to by a `popstate` event, so that you can restore some
1032
+ * remembered state, such as scroll position.
1033
+ *
1034
+ */
1035
+ __publicField(this, "restoredState");
1036
+ this.navigationTrigger = navigationTrigger;
1037
+ this.restoredState = restoredState;
1038
+ }
1039
+ /** @docsNotRequired */
1040
+ toString() {
1041
+ return `NavigationStart(id: ${this.id}, url: '${this.url}')`;
1042
+ }
1043
+ }
1044
+ class NavigationEnd extends RouterEvent {
1045
+ constructor(id, url, urlAfterRedirects) {
1046
+ super(id, url);
1047
+ __publicField(this, "urlAfterRedirects");
1048
+ __publicField(this, "type", EventType.NavigationEnd);
1049
+ this.urlAfterRedirects = urlAfterRedirects;
1050
+ }
1051
+ /** @docsNotRequired */
1052
+ toString() {
1053
+ return `NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`;
1054
+ }
1055
+ }
1056
+ var NavigationCancellationCode;
1057
+ (function(NavigationCancellationCode2) {
1058
+ NavigationCancellationCode2[NavigationCancellationCode2["Redirect"] = 0] = "Redirect";
1059
+ NavigationCancellationCode2[NavigationCancellationCode2["SupersededByNewNavigation"] = 1] = "SupersededByNewNavigation";
1060
+ NavigationCancellationCode2[NavigationCancellationCode2["NoDataFromResolver"] = 2] = "NoDataFromResolver";
1061
+ NavigationCancellationCode2[NavigationCancellationCode2["GuardRejected"] = 3] = "GuardRejected";
1062
+ NavigationCancellationCode2[NavigationCancellationCode2["Aborted"] = 4] = "Aborted";
1063
+ })(NavigationCancellationCode || (NavigationCancellationCode = {}));
1064
+ var NavigationSkippedCode;
1065
+ (function(NavigationSkippedCode2) {
1066
+ NavigationSkippedCode2[NavigationSkippedCode2["IgnoredSameUrlNavigation"] = 0] = "IgnoredSameUrlNavigation";
1067
+ NavigationSkippedCode2[NavigationSkippedCode2["IgnoredByUrlHandlingStrategy"] = 1] = "IgnoredByUrlHandlingStrategy";
1068
+ })(NavigationSkippedCode || (NavigationSkippedCode = {}));
1069
+ class NavigationCancel extends RouterEvent {
1070
+ constructor(id, url, reason, code) {
1071
+ super(id, url);
1072
+ __publicField(this, "reason");
1073
+ __publicField(this, "code");
1074
+ __publicField(this, "type", EventType.NavigationCancel);
1075
+ this.reason = reason;
1076
+ this.code = code;
1077
+ }
1078
+ /** @docsNotRequired */
1079
+ toString() {
1080
+ return `NavigationCancel(id: ${this.id}, url: '${this.url}')`;
1081
+ }
1082
+ }
1083
+ class NavigationSkipped extends RouterEvent {
1084
+ constructor(id, url, reason, code) {
1085
+ super(id, url);
1086
+ __publicField(this, "reason");
1087
+ __publicField(this, "code");
1088
+ __publicField(this, "type", EventType.NavigationSkipped);
1089
+ this.reason = reason;
1090
+ this.code = code;
1091
+ }
1092
+ }
1093
+ class NavigationError extends RouterEvent {
1094
+ constructor(id, url, error, target) {
1095
+ super(id, url);
1096
+ __publicField(this, "error");
1097
+ __publicField(this, "target");
1098
+ __publicField(this, "type", EventType.NavigationError);
1099
+ this.error = error;
1100
+ this.target = target;
1101
+ }
1102
+ /** @docsNotRequired */
1103
+ toString() {
1104
+ return `NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`;
1105
+ }
1106
+ }
1107
+ class RoutesRecognized extends RouterEvent {
1108
+ constructor(id, url, urlAfterRedirects, state) {
1109
+ super(id, url);
1110
+ __publicField(this, "urlAfterRedirects");
1111
+ __publicField(this, "state");
1112
+ __publicField(this, "type", EventType.RoutesRecognized);
1113
+ this.urlAfterRedirects = urlAfterRedirects;
1114
+ this.state = state;
1115
+ }
1116
+ /** @docsNotRequired */
1117
+ toString() {
1118
+ return `RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`;
1119
+ }
1120
+ }
1121
+ class GuardsCheckStart extends RouterEvent {
1122
+ constructor(id, url, urlAfterRedirects, state) {
1123
+ super(id, url);
1124
+ __publicField(this, "urlAfterRedirects");
1125
+ __publicField(this, "state");
1126
+ __publicField(this, "type", EventType.GuardsCheckStart);
1127
+ this.urlAfterRedirects = urlAfterRedirects;
1128
+ this.state = state;
1129
+ }
1130
+ toString() {
1131
+ return `GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`;
1132
+ }
1133
+ }
1134
+ class GuardsCheckEnd extends RouterEvent {
1135
+ constructor(id, url, urlAfterRedirects, state, shouldActivate) {
1136
+ super(id, url);
1137
+ __publicField(this, "urlAfterRedirects");
1138
+ __publicField(this, "state");
1139
+ __publicField(this, "shouldActivate");
1140
+ __publicField(this, "type", EventType.GuardsCheckEnd);
1141
+ this.urlAfterRedirects = urlAfterRedirects;
1142
+ this.state = state;
1143
+ this.shouldActivate = shouldActivate;
1144
+ }
1145
+ toString() {
1146
+ return `GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`;
1147
+ }
1148
+ }
1149
+ class ResolveStart extends RouterEvent {
1150
+ constructor(id, url, urlAfterRedirects, state) {
1151
+ super(id, url);
1152
+ __publicField(this, "urlAfterRedirects");
1153
+ __publicField(this, "state");
1154
+ __publicField(this, "type", EventType.ResolveStart);
1155
+ this.urlAfterRedirects = urlAfterRedirects;
1156
+ this.state = state;
1157
+ }
1158
+ toString() {
1159
+ return `ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`;
1160
+ }
1161
+ }
1162
+ class ResolveEnd extends RouterEvent {
1163
+ constructor(id, url, urlAfterRedirects, state) {
1164
+ super(id, url);
1165
+ __publicField(this, "urlAfterRedirects");
1166
+ __publicField(this, "state");
1167
+ __publicField(this, "type", EventType.ResolveEnd);
1168
+ this.urlAfterRedirects = urlAfterRedirects;
1169
+ this.state = state;
1170
+ }
1171
+ toString() {
1172
+ return `ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`;
1173
+ }
1174
+ }
1175
+ class RouteConfigLoadStart {
1176
+ constructor(route) {
1177
+ __publicField(this, "route");
1178
+ __publicField(this, "type", EventType.RouteConfigLoadStart);
1179
+ this.route = route;
1180
+ }
1181
+ toString() {
1182
+ return `RouteConfigLoadStart(path: ${this.route.path})`;
1183
+ }
1184
+ }
1185
+ class RouteConfigLoadEnd {
1186
+ constructor(route) {
1187
+ __publicField(this, "route");
1188
+ __publicField(this, "type", EventType.RouteConfigLoadEnd);
1189
+ this.route = route;
1190
+ }
1191
+ toString() {
1192
+ return `RouteConfigLoadEnd(path: ${this.route.path})`;
1193
+ }
1194
+ }
1195
+ class ChildActivationStart {
1196
+ constructor(snapshot) {
1197
+ __publicField(this, "snapshot");
1198
+ __publicField(this, "type", EventType.ChildActivationStart);
1199
+ this.snapshot = snapshot;
1200
+ }
1201
+ toString() {
1202
+ const path = this.snapshot.routeConfig && this.snapshot.routeConfig.path || "";
1203
+ return `ChildActivationStart(path: '${path}')`;
1204
+ }
1205
+ }
1206
+ class ChildActivationEnd {
1207
+ constructor(snapshot) {
1208
+ __publicField(this, "snapshot");
1209
+ __publicField(this, "type", EventType.ChildActivationEnd);
1210
+ this.snapshot = snapshot;
1211
+ }
1212
+ toString() {
1213
+ const path = this.snapshot.routeConfig && this.snapshot.routeConfig.path || "";
1214
+ return `ChildActivationEnd(path: '${path}')`;
1215
+ }
1216
+ }
1217
+ class ActivationStart {
1218
+ constructor(snapshot) {
1219
+ __publicField(this, "snapshot");
1220
+ __publicField(this, "type", EventType.ActivationStart);
1221
+ this.snapshot = snapshot;
1222
+ }
1223
+ toString() {
1224
+ const path = this.snapshot.routeConfig && this.snapshot.routeConfig.path || "";
1225
+ return `ActivationStart(path: '${path}')`;
1226
+ }
1227
+ }
1228
+ class ActivationEnd {
1229
+ constructor(snapshot) {
1230
+ __publicField(this, "snapshot");
1231
+ __publicField(this, "type", EventType.ActivationEnd);
1232
+ this.snapshot = snapshot;
1233
+ }
1234
+ toString() {
1235
+ const path = this.snapshot.routeConfig && this.snapshot.routeConfig.path || "";
1236
+ return `ActivationEnd(path: '${path}')`;
1237
+ }
1238
+ }
1239
+ class Scroll {
1240
+ constructor(routerEvent, position, anchor) {
1241
+ __publicField(this, "routerEvent");
1242
+ __publicField(this, "position");
1243
+ __publicField(this, "anchor");
1244
+ __publicField(this, "type", EventType.Scroll);
1245
+ this.routerEvent = routerEvent;
1246
+ this.position = position;
1247
+ this.anchor = anchor;
1248
+ }
1249
+ toString() {
1250
+ const pos = this.position ? `${this.position[0]}, ${this.position[1]}` : null;
1251
+ return `Scroll(anchor: '${this.anchor}', position: '${pos}')`;
1252
+ }
1253
+ }
1254
+ class BeforeActivateRoutes {
1255
+ }
1256
+ class RedirectRequest {
1257
+ constructor(url, navigationBehaviorOptions) {
1258
+ __publicField(this, "url");
1259
+ __publicField(this, "navigationBehaviorOptions");
1260
+ this.url = url;
1261
+ this.navigationBehaviorOptions = navigationBehaviorOptions;
1262
+ }
1263
+ }
1264
+ function isPublicRouterEvent(e) {
1265
+ return !(e instanceof BeforeActivateRoutes) && !(e instanceof RedirectRequest);
1266
+ }
1267
+ function stringifyEvent(routerEvent) {
1268
+ var _a2, _b2, _c, _d;
1269
+ switch (routerEvent.type) {
1270
+ case EventType.ActivationEnd:
1271
+ return `ActivationEnd(path: '${((_a2 = routerEvent.snapshot.routeConfig) == null ? void 0 : _a2.path) || ""}')`;
1272
+ case EventType.ActivationStart:
1273
+ return `ActivationStart(path: '${((_b2 = routerEvent.snapshot.routeConfig) == null ? void 0 : _b2.path) || ""}')`;
1274
+ case EventType.ChildActivationEnd:
1275
+ return `ChildActivationEnd(path: '${((_c = routerEvent.snapshot.routeConfig) == null ? void 0 : _c.path) || ""}')`;
1276
+ case EventType.ChildActivationStart:
1277
+ return `ChildActivationStart(path: '${((_d = routerEvent.snapshot.routeConfig) == null ? void 0 : _d.path) || ""}')`;
1278
+ case EventType.GuardsCheckEnd:
1279
+ return `GuardsCheckEnd(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}', state: ${routerEvent.state}, shouldActivate: ${routerEvent.shouldActivate})`;
1280
+ case EventType.GuardsCheckStart:
1281
+ return `GuardsCheckStart(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}', state: ${routerEvent.state})`;
1282
+ case EventType.NavigationCancel:
1283
+ return `NavigationCancel(id: ${routerEvent.id}, url: '${routerEvent.url}')`;
1284
+ case EventType.NavigationSkipped:
1285
+ return `NavigationSkipped(id: ${routerEvent.id}, url: '${routerEvent.url}')`;
1286
+ case EventType.NavigationEnd:
1287
+ return `NavigationEnd(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}')`;
1288
+ case EventType.NavigationError:
1289
+ return `NavigationError(id: ${routerEvent.id}, url: '${routerEvent.url}', error: ${routerEvent.error})`;
1290
+ case EventType.NavigationStart:
1291
+ return `NavigationStart(id: ${routerEvent.id}, url: '${routerEvent.url}')`;
1292
+ case EventType.ResolveEnd:
1293
+ return `ResolveEnd(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}', state: ${routerEvent.state})`;
1294
+ case EventType.ResolveStart:
1295
+ return `ResolveStart(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}', state: ${routerEvent.state})`;
1296
+ case EventType.RouteConfigLoadEnd:
1297
+ return `RouteConfigLoadEnd(path: ${routerEvent.route.path})`;
1298
+ case EventType.RouteConfigLoadStart:
1299
+ return `RouteConfigLoadStart(path: ${routerEvent.route.path})`;
1300
+ case EventType.RoutesRecognized:
1301
+ return `RoutesRecognized(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}', state: ${routerEvent.state})`;
1302
+ case EventType.Scroll:
1303
+ const pos = routerEvent.position ? `${routerEvent.position[0]}, ${routerEvent.position[1]}` : null;
1304
+ return `Scroll(anchor: '${routerEvent.anchor}', position: '${pos}')`;
1305
+ }
1306
+ }
1307
+ function getOrCreateRouteInjectorIfNeeded(route, currentInjector) {
1308
+ var _a2;
1309
+ if (route.providers && !route._injector) {
1310
+ route._injector = (0, import_core.createEnvironmentInjector)(route.providers, currentInjector, `Route: ${route.path}`);
1311
+ }
1312
+ return (_a2 = route._injector) != null ? _a2 : currentInjector;
1313
+ }
1314
+ function validateConfig(config, parentPath = "", requireStandaloneComponents = false) {
1315
+ for (let i = 0; i < config.length; i++) {
1316
+ const route = config[i];
1317
+ const fullPath = getFullPath(parentPath, route);
1318
+ validateNode(route, fullPath, requireStandaloneComponents);
1319
+ }
1320
+ }
1321
+ function assertStandalone(fullPath, component) {
1322
+ if (component && (0, import_core.\u0275isNgModule)(component)) {
1323
+ throw new import_core.\u0275RuntimeError(4014, `Invalid configuration of route '${fullPath}'. You are using 'loadComponent' with a module, but it must be used with standalone components. Use 'loadChildren' instead.`);
1324
+ } else if (component && !(0, import_core.isStandalone)(component)) {
1325
+ throw new import_core.\u0275RuntimeError(4014, `Invalid configuration of route '${fullPath}'. The component must be standalone.`);
1326
+ }
1327
+ }
1328
+ function validateNode(route, fullPath, requireStandaloneComponents) {
1329
+ if (typeof ngDevMode === "undefined" || ngDevMode) {
1330
+ if (!route) {
1331
+ throw new import_core.\u0275RuntimeError(4014, `
1332
+ Invalid configuration of route '${fullPath}': Encountered undefined route.
1333
+ The reason might be an extra comma.
1334
+
1335
+ Example:
1336
+ const routes: Routes = [
1337
+ { path: '', redirectTo: '/dashboard', pathMatch: 'full' },
1338
+ { path: 'dashboard', component: DashboardComponent },, << two commas
1339
+ { path: 'detail/:id', component: HeroDetailComponent }
1340
+ ];
1341
+ `);
1342
+ }
1343
+ if (Array.isArray(route)) {
1344
+ throw new import_core.\u0275RuntimeError(4014, `Invalid configuration of route '${fullPath}': Array cannot be specified`);
1345
+ }
1346
+ if (!route.redirectTo && !route.component && !route.loadComponent && !route.children && !route.loadChildren && route.outlet && route.outlet !== PRIMARY_OUTLET) {
1347
+ throw new import_core.\u0275RuntimeError(4014, `Invalid configuration of route '${fullPath}': a componentless route without children or loadChildren cannot have a named outlet set`);
1348
+ }
1349
+ if (route.redirectTo && route.children) {
1350
+ throw new import_core.\u0275RuntimeError(4014, `Invalid configuration of route '${fullPath}': redirectTo and children cannot be used together`);
1351
+ }
1352
+ if (route.redirectTo && route.loadChildren) {
1353
+ throw new import_core.\u0275RuntimeError(4014, `Invalid configuration of route '${fullPath}': redirectTo and loadChildren cannot be used together`);
1354
+ }
1355
+ if (route.children && route.loadChildren) {
1356
+ throw new import_core.\u0275RuntimeError(4014, `Invalid configuration of route '${fullPath}': children and loadChildren cannot be used together`);
1357
+ }
1358
+ if (route.component && route.loadComponent) {
1359
+ throw new import_core.\u0275RuntimeError(4014, `Invalid configuration of route '${fullPath}': component and loadComponent cannot be used together`);
1360
+ }
1361
+ if (route.redirectTo) {
1362
+ if (route.component || route.loadComponent) {
1363
+ throw new import_core.\u0275RuntimeError(4014, `Invalid configuration of route '${fullPath}': redirectTo and component/loadComponent cannot be used together`);
1364
+ }
1365
+ if (route.canMatch || route.canActivate) {
1366
+ throw new import_core.\u0275RuntimeError(4014, `Invalid configuration of route '${fullPath}': redirectTo and ${route.canMatch ? "canMatch" : "canActivate"} cannot be used together.Redirects happen before guards are executed.`);
1367
+ }
1368
+ }
1369
+ if (route.path && route.matcher) {
1370
+ throw new import_core.\u0275RuntimeError(4014, `Invalid configuration of route '${fullPath}': path and matcher cannot be used together`);
1371
+ }
1372
+ if (route.redirectTo === void 0 && !route.component && !route.loadComponent && !route.children && !route.loadChildren) {
1373
+ throw new import_core.\u0275RuntimeError(4014, `Invalid configuration of route '${fullPath}'. One of the following must be provided: component, loadComponent, redirectTo, children or loadChildren`);
1374
+ }
1375
+ if (route.path === void 0 && route.matcher === void 0) {
1376
+ throw new import_core.\u0275RuntimeError(4014, `Invalid configuration of route '${fullPath}': routes must have either a path or a matcher specified`);
1377
+ }
1378
+ if (typeof route.path === "string" && route.path.charAt(0) === "/") {
1379
+ throw new import_core.\u0275RuntimeError(4014, `Invalid configuration of route '${fullPath}': path cannot start with a slash`);
1380
+ }
1381
+ if (route.path === "" && route.redirectTo !== void 0 && route.pathMatch === void 0) {
1382
+ const exp = `The default value of 'pathMatch' is 'prefix', but often the intent is to use 'full'.`;
1383
+ throw new import_core.\u0275RuntimeError(4014, `Invalid configuration of route '{path: "${fullPath}", redirectTo: "${route.redirectTo}"}': please provide 'pathMatch'. ${exp}`);
1384
+ }
1385
+ if (requireStandaloneComponents) {
1386
+ assertStandalone(fullPath, route.component);
1387
+ }
1388
+ }
1389
+ if (route.children) {
1390
+ validateConfig(route.children, fullPath, requireStandaloneComponents);
1391
+ }
1392
+ }
1393
+ function getFullPath(parentPath, currentRoute) {
1394
+ if (!currentRoute) {
1395
+ return parentPath;
1396
+ }
1397
+ if (!parentPath && !currentRoute.path) {
1398
+ return "";
1399
+ } else if (parentPath && !currentRoute.path) {
1400
+ return `${parentPath}/`;
1401
+ } else if (!parentPath && currentRoute.path) {
1402
+ return currentRoute.path;
1403
+ } else {
1404
+ return `${parentPath}/${currentRoute.path}`;
1405
+ }
1406
+ }
1407
+ function getOutlet(route) {
1408
+ return route.outlet || PRIMARY_OUTLET;
1409
+ }
1410
+ function sortByMatchingOutlets(routes, outletName) {
1411
+ const sortedConfig = routes.filter((r) => getOutlet(r) === outletName);
1412
+ sortedConfig.push(...routes.filter((r) => getOutlet(r) !== outletName));
1413
+ return sortedConfig;
1414
+ }
1415
+ function getClosestRouteInjector(snapshot) {
1416
+ var _a2;
1417
+ if (!snapshot)
1418
+ return null;
1419
+ if ((_a2 = snapshot.routeConfig) == null ? void 0 : _a2._injector) {
1420
+ return snapshot.routeConfig._injector;
1421
+ }
1422
+ for (let s = snapshot.parent; s; s = s.parent) {
1423
+ const route = s.routeConfig;
1424
+ if (route == null ? void 0 : route._loadedInjector)
1425
+ return route._loadedInjector;
1426
+ if (route == null ? void 0 : route._injector)
1427
+ return route._injector;
1428
+ }
1429
+ return null;
1430
+ }
1431
+ class OutletContext {
1432
+ constructor(rootInjector) {
1433
+ __publicField(this, "rootInjector");
1434
+ __publicField(this, "outlet", null);
1435
+ __publicField(this, "route", null);
1436
+ __publicField(this, "children");
1437
+ __publicField(this, "attachRef", null);
1438
+ this.rootInjector = rootInjector;
1439
+ this.children = new ChildrenOutletContexts(this.rootInjector);
1440
+ }
1441
+ get injector() {
1442
+ var _a2, _b2;
1443
+ return (_b2 = getClosestRouteInjector((_a2 = this.route) == null ? void 0 : _a2.snapshot)) != null ? _b2 : this.rootInjector;
1444
+ }
1445
+ }
1446
+ const _ChildrenOutletContexts = class _ChildrenOutletContexts {
1447
+ /** @docs-private */
1448
+ constructor(rootInjector) {
1449
+ __publicField(this, "rootInjector");
1450
+ // contexts for child outlets, by name.
1451
+ __publicField(this, "contexts", /* @__PURE__ */ new Map());
1452
+ this.rootInjector = rootInjector;
1453
+ }
1454
+ /** Called when a `RouterOutlet` directive is instantiated */
1455
+ onChildOutletCreated(childName, outlet) {
1456
+ const context = this.getOrCreateContext(childName);
1457
+ context.outlet = outlet;
1458
+ this.contexts.set(childName, context);
1459
+ }
1460
+ /**
1461
+ * Called when a `RouterOutlet` directive is destroyed.
1462
+ * We need to keep the context as the outlet could be destroyed inside a NgIf and might be
1463
+ * re-created later.
1464
+ */
1465
+ onChildOutletDestroyed(childName) {
1466
+ const context = this.getContext(childName);
1467
+ if (context) {
1468
+ context.outlet = null;
1469
+ context.attachRef = null;
1470
+ }
1471
+ }
1472
+ /**
1473
+ * Called when the corresponding route is deactivated during navigation.
1474
+ * Because the component get destroyed, all children outlet are destroyed.
1475
+ */
1476
+ onOutletDeactivated() {
1477
+ const contexts = this.contexts;
1478
+ this.contexts = /* @__PURE__ */ new Map();
1479
+ return contexts;
1480
+ }
1481
+ onOutletReAttached(contexts) {
1482
+ this.contexts = contexts;
1483
+ }
1484
+ getOrCreateContext(childName) {
1485
+ let context = this.getContext(childName);
1486
+ if (!context) {
1487
+ context = new OutletContext(this.rootInjector);
1488
+ this.contexts.set(childName, context);
1489
+ }
1490
+ return context;
1491
+ }
1492
+ getContext(childName) {
1493
+ return this.contexts.get(childName) || null;
1494
+ }
1495
+ };
1496
+ __publicField(_ChildrenOutletContexts, "\u0275fac", i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _ChildrenOutletContexts, deps: [{ token: i0.EnvironmentInjector }], target: i0.\u0275\u0275FactoryTarget.Injectable }));
1497
+ __publicField(_ChildrenOutletContexts, "\u0275prov", i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _ChildrenOutletContexts, providedIn: "root" }));
1498
+ let ChildrenOutletContexts = _ChildrenOutletContexts;
1499
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
1500
+ type: import_core.Injectable,
1501
+ args: [{ providedIn: "root" }]
1502
+ }], ctorParameters: () => [{ type: i0.EnvironmentInjector }] });
1503
+ class Tree {
1504
+ constructor(root) {
1505
+ /** @internal */
1506
+ __publicField(this, "_root");
1507
+ this._root = root;
1508
+ }
1509
+ get root() {
1510
+ return this._root.value;
1511
+ }
1512
+ /**
1513
+ * @internal
1514
+ */
1515
+ parent(t) {
1516
+ const p = this.pathFromRoot(t);
1517
+ return p.length > 1 ? p[p.length - 2] : null;
1518
+ }
1519
+ /**
1520
+ * @internal
1521
+ */
1522
+ children(t) {
1523
+ const n = findNode(t, this._root);
1524
+ return n ? n.children.map((t2) => t2.value) : [];
1525
+ }
1526
+ /**
1527
+ * @internal
1528
+ */
1529
+ firstChild(t) {
1530
+ const n = findNode(t, this._root);
1531
+ return n && n.children.length > 0 ? n.children[0].value : null;
1532
+ }
1533
+ /**
1534
+ * @internal
1535
+ */
1536
+ siblings(t) {
1537
+ const p = findPath(t, this._root);
1538
+ if (p.length < 2)
1539
+ return [];
1540
+ const c = p[p.length - 2].children.map((c2) => c2.value);
1541
+ return c.filter((cc) => cc !== t);
1542
+ }
1543
+ /**
1544
+ * @internal
1545
+ */
1546
+ pathFromRoot(t) {
1547
+ return findPath(t, this._root).map((s) => s.value);
1548
+ }
1549
+ }
1550
+ function findNode(value, node) {
1551
+ if (value === node.value)
1552
+ return node;
1553
+ for (const child of node.children) {
1554
+ const node2 = findNode(value, child);
1555
+ if (node2)
1556
+ return node2;
1557
+ }
1558
+ return null;
1559
+ }
1560
+ function findPath(value, node) {
1561
+ if (value === node.value)
1562
+ return [node];
1563
+ for (const child of node.children) {
1564
+ const path = findPath(value, child);
1565
+ if (path.length) {
1566
+ path.unshift(node);
1567
+ return path;
1568
+ }
1569
+ }
1570
+ return [];
1571
+ }
1572
+ class TreeNode {
1573
+ constructor(value, children) {
1574
+ __publicField(this, "value");
1575
+ __publicField(this, "children");
1576
+ this.value = value;
1577
+ this.children = children;
1578
+ }
1579
+ toString() {
1580
+ return `TreeNode(${this.value})`;
1581
+ }
1582
+ }
1583
+ function nodeChildrenAsMap(node) {
1584
+ const map2 = {};
1585
+ if (node) {
1586
+ node.children.forEach((child) => map2[child.value.outlet] = child);
1587
+ }
1588
+ return map2;
1589
+ }
1590
+ class RouterState extends Tree {
1591
+ /** @internal */
1592
+ constructor(root, snapshot) {
1593
+ super(root);
1594
+ __publicField(this, "snapshot");
1595
+ this.snapshot = snapshot;
1596
+ setRouterState(this, root);
1597
+ }
1598
+ toString() {
1599
+ return this.snapshot.toString();
1600
+ }
1601
+ }
1602
+ function createEmptyState(rootComponent) {
1603
+ const snapshot = createEmptyStateSnapshot(rootComponent);
1604
+ const emptyUrl = new import_rxjs.BehaviorSubject([new UrlSegment("", {})]);
1605
+ const emptyParams = new import_rxjs.BehaviorSubject({});
1606
+ const emptyData = new import_rxjs.BehaviorSubject({});
1607
+ const emptyQueryParams = new import_rxjs.BehaviorSubject({});
1608
+ const fragment = new import_rxjs.BehaviorSubject("");
1609
+ const activated = new ActivatedRoute(emptyUrl, emptyParams, emptyQueryParams, fragment, emptyData, PRIMARY_OUTLET, rootComponent, snapshot.root);
1610
+ activated.snapshot = snapshot.root;
1611
+ return new RouterState(new TreeNode(activated, []), snapshot);
1612
+ }
1613
+ function createEmptyStateSnapshot(rootComponent) {
1614
+ const emptyParams = {};
1615
+ const emptyData = {};
1616
+ const emptyQueryParams = {};
1617
+ const fragment = "";
1618
+ const activated = new ActivatedRouteSnapshot([], emptyParams, emptyQueryParams, fragment, emptyData, PRIMARY_OUTLET, rootComponent, null, {});
1619
+ return new RouterStateSnapshot("", new TreeNode(activated, []));
1620
+ }
1621
+ class ActivatedRoute {
1622
+ /** @internal */
1623
+ constructor(urlSubject, paramsSubject, queryParamsSubject, fragmentSubject, dataSubject, outlet, component, futureSnapshot) {
1624
+ __publicField(this, "urlSubject");
1625
+ __publicField(this, "paramsSubject");
1626
+ __publicField(this, "queryParamsSubject");
1627
+ __publicField(this, "fragmentSubject");
1628
+ __publicField(this, "dataSubject");
1629
+ __publicField(this, "outlet");
1630
+ __publicField(this, "component");
1631
+ /** The current snapshot of this route */
1632
+ __publicField(this, "snapshot");
1633
+ /** @internal */
1634
+ __publicField(this, "_futureSnapshot");
1635
+ /** @internal */
1636
+ __publicField(this, "_routerState");
1637
+ /** @internal */
1638
+ __publicField(this, "_paramMap");
1639
+ /** @internal */
1640
+ __publicField(this, "_queryParamMap");
1641
+ /** An Observable of the resolved route title */
1642
+ __publicField(this, "title");
1643
+ /** An observable of the URL segments matched by this route. */
1644
+ __publicField(this, "url");
1645
+ /** An observable of the matrix parameters scoped to this route. */
1646
+ __publicField(this, "params");
1647
+ /** An observable of the query parameters shared by all the routes. */
1648
+ __publicField(this, "queryParams");
1649
+ /** An observable of the URL fragment shared by all the routes. */
1650
+ __publicField(this, "fragment");
1651
+ /** An observable of the static and resolved data of this route. */
1652
+ __publicField(this, "data");
1653
+ var _a2, _b2;
1654
+ this.urlSubject = urlSubject;
1655
+ this.paramsSubject = paramsSubject;
1656
+ this.queryParamsSubject = queryParamsSubject;
1657
+ this.fragmentSubject = fragmentSubject;
1658
+ this.dataSubject = dataSubject;
1659
+ this.outlet = outlet;
1660
+ this.component = component;
1661
+ this._futureSnapshot = futureSnapshot;
1662
+ this.title = (_b2 = (_a2 = this.dataSubject) == null ? void 0 : _a2.pipe((0, import_operators.map)((d) => d[RouteTitleKey]))) != null ? _b2 : (0, import_rxjs.of)(void 0);
1663
+ this.url = urlSubject;
1664
+ this.params = paramsSubject;
1665
+ this.queryParams = queryParamsSubject;
1666
+ this.fragment = fragmentSubject;
1667
+ this.data = dataSubject;
1668
+ }
1669
+ /** The configuration used to match this route. */
1670
+ get routeConfig() {
1671
+ return this._futureSnapshot.routeConfig;
1672
+ }
1673
+ /** The root of the router state. */
1674
+ get root() {
1675
+ return this._routerState.root;
1676
+ }
1677
+ /** The parent of this route in the router state tree. */
1678
+ get parent() {
1679
+ return this._routerState.parent(this);
1680
+ }
1681
+ /** The first child of this route in the router state tree. */
1682
+ get firstChild() {
1683
+ return this._routerState.firstChild(this);
1684
+ }
1685
+ /** The children of this route in the router state tree. */
1686
+ get children() {
1687
+ return this._routerState.children(this);
1688
+ }
1689
+ /** The path from the root of the router state tree to this route. */
1690
+ get pathFromRoot() {
1691
+ return this._routerState.pathFromRoot(this);
1692
+ }
1693
+ /**
1694
+ * An Observable that contains a map of the required and optional parameters
1695
+ * specific to the route.
1696
+ * The map supports retrieving single and multiple values from the same parameter.
1697
+ */
1698
+ get paramMap() {
1699
+ var _a2;
1700
+ (_a2 = this._paramMap) != null ? _a2 : this._paramMap = this.params.pipe((0, import_operators.map)((p) => convertToParamMap(p)));
1701
+ return this._paramMap;
1702
+ }
1703
+ /**
1704
+ * An Observable that contains a map of the query parameters available to all routes.
1705
+ * The map supports retrieving single and multiple values from the query parameter.
1706
+ */
1707
+ get queryParamMap() {
1708
+ var _a2;
1709
+ (_a2 = this._queryParamMap) != null ? _a2 : this._queryParamMap = this.queryParams.pipe((0, import_operators.map)((p) => convertToParamMap(p)));
1710
+ return this._queryParamMap;
1711
+ }
1712
+ toString() {
1713
+ return this.snapshot ? this.snapshot.toString() : `Future(${this._futureSnapshot})`;
1714
+ }
1715
+ }
1716
+ function getInherited(route, parent, paramsInheritanceStrategy = "emptyOnly") {
1717
+ var _a2, _b2;
1718
+ let inherited;
1719
+ const { routeConfig } = route;
1720
+ if (parent !== null && (paramsInheritanceStrategy === "always" || // inherit parent data if route is empty path
1721
+ (routeConfig == null ? void 0 : routeConfig.path) === "" || // inherit parent data if parent was componentless
1722
+ !parent.component && !((_a2 = parent.routeConfig) == null ? void 0 : _a2.loadComponent))) {
1723
+ inherited = {
1724
+ params: __spreadValues(__spreadValues({}, parent.params), route.params),
1725
+ data: __spreadValues(__spreadValues({}, parent.data), route.data),
1726
+ resolve: __spreadValues(__spreadValues(__spreadValues(__spreadValues({}, route.data), parent.data), routeConfig == null ? void 0 : routeConfig.data), route._resolvedData)
1727
+ };
1728
+ } else {
1729
+ inherited = {
1730
+ params: __spreadValues({}, route.params),
1731
+ data: __spreadValues({}, route.data),
1732
+ resolve: __spreadValues(__spreadValues({}, route.data), (_b2 = route._resolvedData) != null ? _b2 : {})
1733
+ };
1734
+ }
1735
+ if (routeConfig && hasStaticTitle(routeConfig)) {
1736
+ inherited.resolve[RouteTitleKey] = routeConfig.title;
1737
+ }
1738
+ return inherited;
1739
+ }
1740
+ class ActivatedRouteSnapshot {
1741
+ /** @internal */
1742
+ constructor(url, params, queryParams, fragment, data, outlet, component, routeConfig, resolve) {
1743
+ __publicField(this, "url");
1744
+ __publicField(this, "params");
1745
+ __publicField(this, "queryParams");
1746
+ __publicField(this, "fragment");
1747
+ __publicField(this, "data");
1748
+ __publicField(this, "outlet");
1749
+ __publicField(this, "component");
1750
+ /** The configuration used to match this route **/
1751
+ __publicField(this, "routeConfig");
1752
+ /** @internal */
1753
+ __publicField(this, "_resolve");
1754
+ /** @internal */
1755
+ __publicField(this, "_resolvedData");
1756
+ /** @internal */
1757
+ __publicField(this, "_routerState");
1758
+ /** @internal */
1759
+ __publicField(this, "_paramMap");
1760
+ /** @internal */
1761
+ __publicField(this, "_queryParamMap");
1762
+ this.url = url;
1763
+ this.params = params;
1764
+ this.queryParams = queryParams;
1765
+ this.fragment = fragment;
1766
+ this.data = data;
1767
+ this.outlet = outlet;
1768
+ this.component = component;
1769
+ this.routeConfig = routeConfig;
1770
+ this._resolve = resolve;
1771
+ }
1772
+ /** The resolved route title */
1773
+ get title() {
1774
+ var _a2;
1775
+ return (_a2 = this.data) == null ? void 0 : _a2[RouteTitleKey];
1776
+ }
1777
+ /** The root of the router state */
1778
+ get root() {
1779
+ return this._routerState.root;
1780
+ }
1781
+ /** The parent of this route in the router state tree */
1782
+ get parent() {
1783
+ return this._routerState.parent(this);
1784
+ }
1785
+ /** The first child of this route in the router state tree */
1786
+ get firstChild() {
1787
+ return this._routerState.firstChild(this);
1788
+ }
1789
+ /** The children of this route in the router state tree */
1790
+ get children() {
1791
+ return this._routerState.children(this);
1792
+ }
1793
+ /** The path from the root of the router state tree to this route */
1794
+ get pathFromRoot() {
1795
+ return this._routerState.pathFromRoot(this);
1796
+ }
1797
+ get paramMap() {
1798
+ var _a2;
1799
+ (_a2 = this._paramMap) != null ? _a2 : this._paramMap = convertToParamMap(this.params);
1800
+ return this._paramMap;
1801
+ }
1802
+ get queryParamMap() {
1803
+ var _a2;
1804
+ (_a2 = this._queryParamMap) != null ? _a2 : this._queryParamMap = convertToParamMap(this.queryParams);
1805
+ return this._queryParamMap;
1806
+ }
1807
+ toString() {
1808
+ const url = this.url.map((segment) => segment.toString()).join("/");
1809
+ const matched = this.routeConfig ? this.routeConfig.path : "";
1810
+ return `Route(url:'${url}', path:'${matched}')`;
1811
+ }
1812
+ }
1813
+ class RouterStateSnapshot extends Tree {
1814
+ /** @internal */
1815
+ constructor(url, root) {
1816
+ super(root);
1817
+ __publicField(this, "url");
1818
+ this.url = url;
1819
+ setRouterState(this, root);
1820
+ }
1821
+ toString() {
1822
+ return serializeNode(this._root);
1823
+ }
1824
+ }
1825
+ function setRouterState(state, node) {
1826
+ node.value._routerState = state;
1827
+ node.children.forEach((c) => setRouterState(state, c));
1828
+ }
1829
+ function serializeNode(node) {
1830
+ const c = node.children.length > 0 ? ` { ${node.children.map(serializeNode).join(", ")} } ` : "";
1831
+ return `${node.value}${c}`;
1832
+ }
1833
+ function advanceActivatedRoute(route) {
1834
+ if (route.snapshot) {
1835
+ const currentSnapshot = route.snapshot;
1836
+ const nextSnapshot = route._futureSnapshot;
1837
+ route.snapshot = nextSnapshot;
1838
+ if (!shallowEqual(currentSnapshot.queryParams, nextSnapshot.queryParams)) {
1839
+ route.queryParamsSubject.next(nextSnapshot.queryParams);
1840
+ }
1841
+ if (currentSnapshot.fragment !== nextSnapshot.fragment) {
1842
+ route.fragmentSubject.next(nextSnapshot.fragment);
1843
+ }
1844
+ if (!shallowEqual(currentSnapshot.params, nextSnapshot.params)) {
1845
+ route.paramsSubject.next(nextSnapshot.params);
1846
+ }
1847
+ if (!shallowEqualArrays(currentSnapshot.url, nextSnapshot.url)) {
1848
+ route.urlSubject.next(nextSnapshot.url);
1849
+ }
1850
+ if (!shallowEqual(currentSnapshot.data, nextSnapshot.data)) {
1851
+ route.dataSubject.next(nextSnapshot.data);
1852
+ }
1853
+ } else {
1854
+ route.snapshot = route._futureSnapshot;
1855
+ route.dataSubject.next(route._futureSnapshot.data);
1856
+ }
1857
+ }
1858
+ function equalParamsAndUrlSegments(a, b) {
1859
+ const equalUrlParams = shallowEqual(a.params, b.params) && equalSegments(a.url, b.url);
1860
+ const parentsMismatch = !a.parent !== !b.parent;
1861
+ return equalUrlParams && !parentsMismatch && (!a.parent || equalParamsAndUrlSegments(a.parent, b.parent));
1862
+ }
1863
+ function hasStaticTitle(config) {
1864
+ return typeof config.title === "string" || config.title === null;
1865
+ }
1866
+ const ROUTER_OUTLET_DATA = new import_core.InjectionToken(ngDevMode ? "RouterOutlet data" : "");
1867
+ const _RouterOutlet = class _RouterOutlet {
1868
+ constructor() {
1869
+ __publicField(this, "activated", null);
1870
+ __publicField(this, "_activatedRoute", null);
1871
+ /**
1872
+ * The name of the outlet
1873
+ *
1874
+ */
1875
+ __publicField(this, "name", PRIMARY_OUTLET);
1876
+ __publicField(this, "activateEvents", new import_core.EventEmitter());
1877
+ __publicField(this, "deactivateEvents", new import_core.EventEmitter());
1878
+ /**
1879
+ * Emits an attached component instance when the `RouteReuseStrategy` instructs to re-attach a
1880
+ * previously detached subtree.
1881
+ **/
1882
+ __publicField(this, "attachEvents", new import_core.EventEmitter());
1883
+ /**
1884
+ * Emits a detached component instance when the `RouteReuseStrategy` instructs to detach the
1885
+ * subtree.
1886
+ */
1887
+ __publicField(this, "detachEvents", new import_core.EventEmitter());
1888
+ /**
1889
+ * Data that will be provided to the child injector through the `ROUTER_OUTLET_DATA` token.
1890
+ *
1891
+ * When unset, the value of the token is `undefined` by default.
1892
+ */
1893
+ __publicField(this, "routerOutletData", (0, import_core.input)(...ngDevMode ? [void 0, { debugName: "routerOutletData" }] : []));
1894
+ __publicField(this, "parentContexts", (0, import_core.inject)(ChildrenOutletContexts));
1895
+ __publicField(this, "location", (0, import_core.inject)(import_core.ViewContainerRef));
1896
+ __publicField(this, "changeDetector", (0, import_core.inject)(import_core.ChangeDetectorRef));
1897
+ __publicField(this, "inputBinder", (0, import_core.inject)(INPUT_BINDER, { optional: true }));
1898
+ /** @docs-private */
1899
+ __publicField(this, "supportsBindingToComponentInputs", true);
1900
+ }
1901
+ /** @internal */
1902
+ get activatedComponentRef() {
1903
+ return this.activated;
1904
+ }
1905
+ /** @docs-private */
1906
+ ngOnChanges(changes) {
1907
+ if (changes["name"]) {
1908
+ const { firstChange, previousValue } = changes["name"];
1909
+ if (firstChange) {
1910
+ return;
1911
+ }
1912
+ if (this.isTrackedInParentContexts(previousValue)) {
1913
+ this.deactivate();
1914
+ this.parentContexts.onChildOutletDestroyed(previousValue);
1915
+ }
1916
+ this.initializeOutletWithName();
1917
+ }
1918
+ }
1919
+ /** @docs-private */
1920
+ ngOnDestroy() {
1921
+ var _a2;
1922
+ if (this.isTrackedInParentContexts(this.name)) {
1923
+ this.parentContexts.onChildOutletDestroyed(this.name);
1924
+ }
1925
+ (_a2 = this.inputBinder) == null ? void 0 : _a2.unsubscribeFromRouteData(this);
1926
+ }
1927
+ isTrackedInParentContexts(outletName) {
1928
+ var _a2;
1929
+ return ((_a2 = this.parentContexts.getContext(outletName)) == null ? void 0 : _a2.outlet) === this;
1930
+ }
1931
+ /** @docs-private */
1932
+ ngOnInit() {
1933
+ this.initializeOutletWithName();
1934
+ }
1935
+ initializeOutletWithName() {
1936
+ this.parentContexts.onChildOutletCreated(this.name, this);
1937
+ if (this.activated) {
1938
+ return;
1939
+ }
1940
+ const context = this.parentContexts.getContext(this.name);
1941
+ if (context == null ? void 0 : context.route) {
1942
+ if (context.attachRef) {
1943
+ this.attach(context.attachRef, context.route);
1944
+ } else {
1945
+ this.activateWith(context.route, context.injector);
1946
+ }
1947
+ }
1948
+ }
1949
+ get isActivated() {
1950
+ return !!this.activated;
1951
+ }
1952
+ /**
1953
+ * @returns The currently activated component instance.
1954
+ * @throws An error if the outlet is not activated.
1955
+ */
1956
+ get component() {
1957
+ if (!this.activated)
1958
+ throw new import_core.\u0275RuntimeError(4012, (typeof ngDevMode === "undefined" || ngDevMode) && "Outlet is not activated");
1959
+ return this.activated.instance;
1960
+ }
1961
+ get activatedRoute() {
1962
+ if (!this.activated)
1963
+ throw new import_core.\u0275RuntimeError(4012, (typeof ngDevMode === "undefined" || ngDevMode) && "Outlet is not activated");
1964
+ return this._activatedRoute;
1965
+ }
1966
+ get activatedRouteData() {
1967
+ if (this._activatedRoute) {
1968
+ return this._activatedRoute.snapshot.data;
1969
+ }
1970
+ return {};
1971
+ }
1972
+ /**
1973
+ * Called when the `RouteReuseStrategy` instructs to detach the subtree
1974
+ */
1975
+ detach() {
1976
+ if (!this.activated)
1977
+ throw new import_core.\u0275RuntimeError(4012, (typeof ngDevMode === "undefined" || ngDevMode) && "Outlet is not activated");
1978
+ this.location.detach();
1979
+ const cmp = this.activated;
1980
+ this.activated = null;
1981
+ this._activatedRoute = null;
1982
+ this.detachEvents.emit(cmp.instance);
1983
+ return cmp;
1984
+ }
1985
+ /**
1986
+ * Called when the `RouteReuseStrategy` instructs to re-attach a previously detached subtree
1987
+ */
1988
+ attach(ref, activatedRoute) {
1989
+ var _a2;
1990
+ this.activated = ref;
1991
+ this._activatedRoute = activatedRoute;
1992
+ this.location.insert(ref.hostView);
1993
+ (_a2 = this.inputBinder) == null ? void 0 : _a2.bindActivatedRouteToOutletComponent(this);
1994
+ this.attachEvents.emit(ref.instance);
1995
+ }
1996
+ deactivate() {
1997
+ if (this.activated) {
1998
+ const c = this.component;
1999
+ this.activated.destroy();
2000
+ this.activated = null;
2001
+ this._activatedRoute = null;
2002
+ this.deactivateEvents.emit(c);
2003
+ }
2004
+ }
2005
+ activateWith(activatedRoute, environmentInjector) {
2006
+ var _a2;
2007
+ if (this.isActivated) {
2008
+ throw new import_core.\u0275RuntimeError(4013, (typeof ngDevMode === "undefined" || ngDevMode) && "Cannot activate an already activated outlet");
2009
+ }
2010
+ this._activatedRoute = activatedRoute;
2011
+ const location = this.location;
2012
+ const snapshot = activatedRoute.snapshot;
2013
+ const component = snapshot.component;
2014
+ const childContexts = this.parentContexts.getOrCreateContext(this.name).children;
2015
+ const injector = new OutletInjector(activatedRoute, childContexts, location.injector, this.routerOutletData);
2016
+ this.activated = location.createComponent(component, {
2017
+ index: location.length,
2018
+ injector,
2019
+ environmentInjector
2020
+ });
2021
+ this.changeDetector.markForCheck();
2022
+ (_a2 = this.inputBinder) == null ? void 0 : _a2.bindActivatedRouteToOutletComponent(this);
2023
+ this.activateEvents.emit(this.activated.instance);
2024
+ }
2025
+ };
2026
+ __publicField(_RouterOutlet, "\u0275fac", i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _RouterOutlet, deps: [], target: i0.\u0275\u0275FactoryTarget.Directive }));
2027
+ __publicField(_RouterOutlet, "\u0275dir", i0.\u0275\u0275ngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: _RouterOutlet, isStandalone: true, selector: "router-outlet", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, routerOutletData: { classPropertyName: "routerOutletData", publicName: "routerOutletData", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activateEvents: "activate", deactivateEvents: "deactivate", attachEvents: "attach", detachEvents: "detach" }, exportAs: ["outlet"], usesOnChanges: true, ngImport: i0 }));
2028
+ let RouterOutlet = _RouterOutlet;
2029
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RouterOutlet, decorators: [{
2030
+ type: import_core.Directive,
2031
+ args: [{
2032
+ selector: "router-outlet",
2033
+ exportAs: "outlet"
2034
+ }]
2035
+ }], propDecorators: { name: [{
2036
+ type: import_core.Input
2037
+ }], activateEvents: [{
2038
+ type: import_core.Output,
2039
+ args: ["activate"]
2040
+ }], deactivateEvents: [{
2041
+ type: import_core.Output,
2042
+ args: ["deactivate"]
2043
+ }], attachEvents: [{
2044
+ type: import_core.Output,
2045
+ args: ["attach"]
2046
+ }], detachEvents: [{
2047
+ type: import_core.Output,
2048
+ args: ["detach"]
2049
+ }], routerOutletData: [{ type: i0.Input, args: [{ isSignal: true, alias: "routerOutletData", required: false }] }] } });
2050
+ class OutletInjector {
2051
+ constructor(route, childContexts, parent, outletData) {
2052
+ __publicField(this, "route");
2053
+ __publicField(this, "childContexts");
2054
+ __publicField(this, "parent");
2055
+ __publicField(this, "outletData");
2056
+ this.route = route;
2057
+ this.childContexts = childContexts;
2058
+ this.parent = parent;
2059
+ this.outletData = outletData;
2060
+ }
2061
+ get(token, notFoundValue) {
2062
+ if (token === ActivatedRoute) {
2063
+ return this.route;
2064
+ }
2065
+ if (token === ChildrenOutletContexts) {
2066
+ return this.childContexts;
2067
+ }
2068
+ if (token === ROUTER_OUTLET_DATA) {
2069
+ return this.outletData;
2070
+ }
2071
+ return this.parent.get(token, notFoundValue);
2072
+ }
2073
+ }
2074
+ const INPUT_BINDER = new import_core.InjectionToken("");
2075
+ const _RoutedComponentInputBinder = class _RoutedComponentInputBinder {
2076
+ constructor() {
2077
+ __publicField(this, "outletDataSubscriptions", /* @__PURE__ */ new Map());
2078
+ }
2079
+ bindActivatedRouteToOutletComponent(outlet) {
2080
+ this.unsubscribeFromRouteData(outlet);
2081
+ this.subscribeToRouteData(outlet);
2082
+ }
2083
+ unsubscribeFromRouteData(outlet) {
2084
+ var _a2;
2085
+ (_a2 = this.outletDataSubscriptions.get(outlet)) == null ? void 0 : _a2.unsubscribe();
2086
+ this.outletDataSubscriptions.delete(outlet);
2087
+ }
2088
+ subscribeToRouteData(outlet) {
2089
+ const { activatedRoute } = outlet;
2090
+ const dataSubscription = (0, import_rxjs.combineLatest)([
2091
+ activatedRoute.queryParams,
2092
+ activatedRoute.params,
2093
+ activatedRoute.data
2094
+ ]).pipe((0, import_operators.switchMap)(([queryParams, params, data], index) => {
2095
+ data = __spreadValues(__spreadValues(__spreadValues({}, queryParams), params), data);
2096
+ if (index === 0) {
2097
+ return (0, import_rxjs.of)(data);
2098
+ }
2099
+ return Promise.resolve(data);
2100
+ })).subscribe((data) => {
2101
+ if (!outlet.isActivated || !outlet.activatedComponentRef || outlet.activatedRoute !== activatedRoute || activatedRoute.component === null) {
2102
+ this.unsubscribeFromRouteData(outlet);
2103
+ return;
2104
+ }
2105
+ const mirror = (0, import_core.reflectComponentType)(activatedRoute.component);
2106
+ if (!mirror) {
2107
+ this.unsubscribeFromRouteData(outlet);
2108
+ return;
2109
+ }
2110
+ for (const { templateName } of mirror.inputs) {
2111
+ outlet.activatedComponentRef.setInput(templateName, data[templateName]);
2112
+ }
2113
+ });
2114
+ this.outletDataSubscriptions.set(outlet, dataSubscription);
2115
+ }
2116
+ };
2117
+ __publicField(_RoutedComponentInputBinder, "\u0275fac", i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _RoutedComponentInputBinder, deps: [], target: i0.\u0275\u0275FactoryTarget.Injectable }));
2118
+ __publicField(_RoutedComponentInputBinder, "\u0275prov", i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _RoutedComponentInputBinder }));
2119
+ let RoutedComponentInputBinder = _RoutedComponentInputBinder;
2120
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RoutedComponentInputBinder, decorators: [{
2121
+ type: import_core.Injectable
2122
+ }] });
2123
+ const _\u0275EmptyOutletComponent = class _\u0275EmptyOutletComponent {
2124
+ };
2125
+ __publicField(_\u0275EmptyOutletComponent, "\u0275fac", i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _\u0275EmptyOutletComponent, deps: [], target: i0.\u0275\u0275FactoryTarget.Component }));
2126
+ __publicField(_\u0275EmptyOutletComponent, "\u0275cmp", i0.\u0275\u0275ngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: _\u0275EmptyOutletComponent, isStandalone: true, selector: "ng-component", exportAs: ["emptyRouterOutlet"], ngImport: i0, template: `<router-outlet/>`, isInline: true, dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }));
2127
+ let \u0275EmptyOutletComponent = _\u0275EmptyOutletComponent;
2128
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: \u0275EmptyOutletComponent, decorators: [{
2129
+ type: import_core.Component,
2130
+ args: [{
2131
+ template: `<router-outlet/>`,
2132
+ imports: [RouterOutlet],
2133
+ // Used to avoid component ID collisions with user code.
2134
+ exportAs: "emptyRouterOutlet"
2135
+ }]
2136
+ }] });
2137
+ function standardizeConfig(r) {
2138
+ const children = r.children && r.children.map(standardizeConfig);
2139
+ const c = children ? __spreadProps(__spreadValues({}, r), { children }) : __spreadValues({}, r);
2140
+ if (!c.component && !c.loadComponent && (children || c.loadChildren) && c.outlet && c.outlet !== PRIMARY_OUTLET) {
2141
+ c.component = \u0275EmptyOutletComponent;
2142
+ }
2143
+ return c;
2144
+ }
2145
+ function createRouterState(routeReuseStrategy, curr, prevState) {
2146
+ const root = createNode(routeReuseStrategy, curr._root, prevState ? prevState._root : void 0);
2147
+ return new RouterState(root, curr);
2148
+ }
2149
+ function createNode(routeReuseStrategy, curr, prevState) {
2150
+ if (prevState && routeReuseStrategy.shouldReuseRoute(curr.value, prevState.value.snapshot)) {
2151
+ const value = prevState.value;
2152
+ value._futureSnapshot = curr.value;
2153
+ const children = createOrReuseChildren(routeReuseStrategy, curr, prevState);
2154
+ return new TreeNode(value, children);
2155
+ } else {
2156
+ if (routeReuseStrategy.shouldAttach(curr.value)) {
2157
+ const detachedRouteHandle = routeReuseStrategy.retrieve(curr.value);
2158
+ if (detachedRouteHandle !== null) {
2159
+ const tree2 = detachedRouteHandle.route;
2160
+ tree2.value._futureSnapshot = curr.value;
2161
+ tree2.children = curr.children.map((c) => createNode(routeReuseStrategy, c));
2162
+ return tree2;
2163
+ }
2164
+ }
2165
+ const value = createActivatedRoute(curr.value);
2166
+ const children = curr.children.map((c) => createNode(routeReuseStrategy, c));
2167
+ return new TreeNode(value, children);
2168
+ }
2169
+ }
2170
+ function createOrReuseChildren(routeReuseStrategy, curr, prevState) {
2171
+ return curr.children.map((child) => {
2172
+ for (const p of prevState.children) {
2173
+ if (routeReuseStrategy.shouldReuseRoute(child.value, p.value.snapshot)) {
2174
+ return createNode(routeReuseStrategy, child, p);
2175
+ }
2176
+ }
2177
+ return createNode(routeReuseStrategy, child);
2178
+ });
2179
+ }
2180
+ function createActivatedRoute(c) {
2181
+ return new ActivatedRoute(new import_rxjs.BehaviorSubject(c.url), new import_rxjs.BehaviorSubject(c.params), new import_rxjs.BehaviorSubject(c.queryParams), new import_rxjs.BehaviorSubject(c.fragment), new import_rxjs.BehaviorSubject(c.data), c.outlet, c.component, c);
2182
+ }
2183
+ class RedirectCommand {
2184
+ constructor(redirectTo, navigationBehaviorOptions) {
2185
+ __publicField(this, "redirectTo");
2186
+ __publicField(this, "navigationBehaviorOptions");
2187
+ this.redirectTo = redirectTo;
2188
+ this.navigationBehaviorOptions = navigationBehaviorOptions;
2189
+ }
2190
+ }
2191
+ const NAVIGATION_CANCELING_ERROR = "ngNavigationCancelingError";
2192
+ function redirectingNavigationError(urlSerializer, redirect) {
2193
+ const { redirectTo, navigationBehaviorOptions } = isUrlTree(redirect) ? { redirectTo: redirect, navigationBehaviorOptions: void 0 } : redirect;
2194
+ const error = navigationCancelingError(ngDevMode && `Redirecting to "${urlSerializer.serialize(redirectTo)}"`, NavigationCancellationCode.Redirect);
2195
+ error.url = redirectTo;
2196
+ error.navigationBehaviorOptions = navigationBehaviorOptions;
2197
+ return error;
2198
+ }
2199
+ function navigationCancelingError(message, code) {
2200
+ const error = new Error(`NavigationCancelingError: ${message || ""}`);
2201
+ error[NAVIGATION_CANCELING_ERROR] = true;
2202
+ error.cancellationCode = code;
2203
+ return error;
2204
+ }
2205
+ function isRedirectingNavigationCancelingError(error) {
2206
+ return isNavigationCancelingError(error) && isUrlTree(error.url);
2207
+ }
2208
+ function isNavigationCancelingError(error) {
2209
+ return !!error && error[NAVIGATION_CANCELING_ERROR];
2210
+ }
2211
+ let warnedAboutUnsupportedInputBinding = false;
2212
+ const activateRoutes = (rootContexts, routeReuseStrategy, forwardEvent, inputBindingEnabled) => (0, import_operators.map)((t) => {
2213
+ new ActivateRoutes(routeReuseStrategy, t.targetRouterState, t.currentRouterState, forwardEvent, inputBindingEnabled).activate(rootContexts);
2214
+ return t;
2215
+ });
2216
+ class ActivateRoutes {
2217
+ constructor(routeReuseStrategy, futureState, currState, forwardEvent, inputBindingEnabled) {
2218
+ __publicField(this, "routeReuseStrategy");
2219
+ __publicField(this, "futureState");
2220
+ __publicField(this, "currState");
2221
+ __publicField(this, "forwardEvent");
2222
+ __publicField(this, "inputBindingEnabled");
2223
+ this.routeReuseStrategy = routeReuseStrategy;
2224
+ this.futureState = futureState;
2225
+ this.currState = currState;
2226
+ this.forwardEvent = forwardEvent;
2227
+ this.inputBindingEnabled = inputBindingEnabled;
2228
+ }
2229
+ activate(parentContexts) {
2230
+ const futureRoot = this.futureState._root;
2231
+ const currRoot = this.currState ? this.currState._root : null;
2232
+ this.deactivateChildRoutes(futureRoot, currRoot, parentContexts);
2233
+ advanceActivatedRoute(this.futureState.root);
2234
+ this.activateChildRoutes(futureRoot, currRoot, parentContexts);
2235
+ }
2236
+ // De-activate the child route that are not re-used for the future state
2237
+ deactivateChildRoutes(futureNode, currNode, contexts) {
2238
+ const children = nodeChildrenAsMap(currNode);
2239
+ futureNode.children.forEach((futureChild) => {
2240
+ const childOutletName = futureChild.value.outlet;
2241
+ this.deactivateRoutes(futureChild, children[childOutletName], contexts);
2242
+ delete children[childOutletName];
2243
+ });
2244
+ Object.values(children).forEach((v) => {
2245
+ this.deactivateRouteAndItsChildren(v, contexts);
2246
+ });
2247
+ }
2248
+ deactivateRoutes(futureNode, currNode, parentContext) {
2249
+ const future = futureNode.value;
2250
+ const curr = currNode ? currNode.value : null;
2251
+ if (future === curr) {
2252
+ if (future.component) {
2253
+ const context = parentContext.getContext(future.outlet);
2254
+ if (context) {
2255
+ this.deactivateChildRoutes(futureNode, currNode, context.children);
2256
+ }
2257
+ } else {
2258
+ this.deactivateChildRoutes(futureNode, currNode, parentContext);
2259
+ }
2260
+ } else {
2261
+ if (curr) {
2262
+ this.deactivateRouteAndItsChildren(currNode, parentContext);
2263
+ }
2264
+ }
2265
+ }
2266
+ deactivateRouteAndItsChildren(route, parentContexts) {
2267
+ if (route.value.component && this.routeReuseStrategy.shouldDetach(route.value.snapshot)) {
2268
+ this.detachAndStoreRouteSubtree(route, parentContexts);
2269
+ } else {
2270
+ this.deactivateRouteAndOutlet(route, parentContexts);
2271
+ }
2272
+ }
2273
+ detachAndStoreRouteSubtree(route, parentContexts) {
2274
+ const context = parentContexts.getContext(route.value.outlet);
2275
+ const contexts = context && route.value.component ? context.children : parentContexts;
2276
+ const children = nodeChildrenAsMap(route);
2277
+ for (const treeNode of Object.values(children)) {
2278
+ this.deactivateRouteAndItsChildren(treeNode, contexts);
2279
+ }
2280
+ if (context && context.outlet) {
2281
+ const componentRef = context.outlet.detach();
2282
+ const contexts2 = context.children.onOutletDeactivated();
2283
+ this.routeReuseStrategy.store(route.value.snapshot, { componentRef, route, contexts: contexts2 });
2284
+ }
2285
+ }
2286
+ deactivateRouteAndOutlet(route, parentContexts) {
2287
+ const context = parentContexts.getContext(route.value.outlet);
2288
+ const contexts = context && route.value.component ? context.children : parentContexts;
2289
+ const children = nodeChildrenAsMap(route);
2290
+ for (const treeNode of Object.values(children)) {
2291
+ this.deactivateRouteAndItsChildren(treeNode, contexts);
2292
+ }
2293
+ if (context) {
2294
+ if (context.outlet) {
2295
+ context.outlet.deactivate();
2296
+ context.children.onOutletDeactivated();
2297
+ }
2298
+ context.attachRef = null;
2299
+ context.route = null;
2300
+ }
2301
+ }
2302
+ activateChildRoutes(futureNode, currNode, contexts) {
2303
+ const children = nodeChildrenAsMap(currNode);
2304
+ futureNode.children.forEach((c) => {
2305
+ this.activateRoutes(c, children[c.value.outlet], contexts);
2306
+ this.forwardEvent(new ActivationEnd(c.value.snapshot));
2307
+ });
2308
+ if (futureNode.children.length) {
2309
+ this.forwardEvent(new ChildActivationEnd(futureNode.value.snapshot));
2310
+ }
2311
+ }
2312
+ activateRoutes(futureNode, currNode, parentContexts) {
2313
+ const future = futureNode.value;
2314
+ const curr = currNode ? currNode.value : null;
2315
+ advanceActivatedRoute(future);
2316
+ if (future === curr) {
2317
+ if (future.component) {
2318
+ const context = parentContexts.getOrCreateContext(future.outlet);
2319
+ this.activateChildRoutes(futureNode, currNode, context.children);
2320
+ } else {
2321
+ this.activateChildRoutes(futureNode, currNode, parentContexts);
2322
+ }
2323
+ } else {
2324
+ if (future.component) {
2325
+ const context = parentContexts.getOrCreateContext(future.outlet);
2326
+ if (this.routeReuseStrategy.shouldAttach(future.snapshot)) {
2327
+ const stored = this.routeReuseStrategy.retrieve(future.snapshot);
2328
+ this.routeReuseStrategy.store(future.snapshot, null);
2329
+ context.children.onOutletReAttached(stored.contexts);
2330
+ context.attachRef = stored.componentRef;
2331
+ context.route = stored.route.value;
2332
+ if (context.outlet) {
2333
+ context.outlet.attach(stored.componentRef, stored.route.value);
2334
+ }
2335
+ advanceActivatedRoute(stored.route.value);
2336
+ this.activateChildRoutes(futureNode, null, context.children);
2337
+ } else {
2338
+ context.attachRef = null;
2339
+ context.route = future;
2340
+ if (context.outlet) {
2341
+ context.outlet.activateWith(future, context.injector);
2342
+ }
2343
+ this.activateChildRoutes(futureNode, null, context.children);
2344
+ }
2345
+ } else {
2346
+ this.activateChildRoutes(futureNode, null, parentContexts);
2347
+ }
2348
+ }
2349
+ if (typeof ngDevMode === "undefined" || ngDevMode) {
2350
+ const context = parentContexts.getOrCreateContext(future.outlet);
2351
+ const outlet = context.outlet;
2352
+ if (outlet && this.inputBindingEnabled && !outlet.supportsBindingToComponentInputs && !warnedAboutUnsupportedInputBinding) {
2353
+ console.warn(`'withComponentInputBinding' feature is enabled but this application is using an outlet that may not support binding to component inputs.`);
2354
+ warnedAboutUnsupportedInputBinding = true;
2355
+ }
2356
+ }
2357
+ }
2358
+ }
2359
+ class CanActivate {
2360
+ constructor(path) {
2361
+ __publicField(this, "path");
2362
+ __publicField(this, "route");
2363
+ this.path = path;
2364
+ this.route = this.path[this.path.length - 1];
2365
+ }
2366
+ }
2367
+ class CanDeactivate {
2368
+ constructor(component, route) {
2369
+ __publicField(this, "component");
2370
+ __publicField(this, "route");
2371
+ this.component = component;
2372
+ this.route = route;
2373
+ }
2374
+ }
2375
+ function getAllRouteGuards(future, curr, parentContexts) {
2376
+ const futureRoot = future._root;
2377
+ const currRoot = curr ? curr._root : null;
2378
+ return getChildRouteGuards(futureRoot, currRoot, parentContexts, [futureRoot.value]);
2379
+ }
2380
+ function getCanActivateChild(p) {
2381
+ const canActivateChild = p.routeConfig ? p.routeConfig.canActivateChild : null;
2382
+ if (!canActivateChild || canActivateChild.length === 0)
2383
+ return null;
2384
+ return { node: p, guards: canActivateChild };
2385
+ }
2386
+ function getTokenOrFunctionIdentity(tokenOrFunction, injector) {
2387
+ const NOT_FOUND = /* @__PURE__ */ Symbol();
2388
+ const result = injector.get(tokenOrFunction, NOT_FOUND);
2389
+ if (result === NOT_FOUND) {
2390
+ if (typeof tokenOrFunction === "function" && !(0, import_core.\u0275isInjectable)(tokenOrFunction)) {
2391
+ return tokenOrFunction;
2392
+ } else {
2393
+ return injector.get(tokenOrFunction);
2394
+ }
2395
+ }
2396
+ return result;
2397
+ }
2398
+ function getChildRouteGuards(futureNode, currNode, contexts, futurePath, checks = {
2399
+ canDeactivateChecks: [],
2400
+ canActivateChecks: []
2401
+ }) {
2402
+ const prevChildren = nodeChildrenAsMap(currNode);
2403
+ futureNode.children.forEach((c) => {
2404
+ getRouteGuards(c, prevChildren[c.value.outlet], contexts, futurePath.concat([c.value]), checks);
2405
+ delete prevChildren[c.value.outlet];
2406
+ });
2407
+ Object.entries(prevChildren).forEach(([k, v]) => deactivateRouteAndItsChildren(v, contexts.getContext(k), checks));
2408
+ return checks;
2409
+ }
2410
+ function getRouteGuards(futureNode, currNode, parentContexts, futurePath, checks = {
2411
+ canDeactivateChecks: [],
2412
+ canActivateChecks: []
2413
+ }) {
2414
+ const future = futureNode.value;
2415
+ const curr = currNode ? currNode.value : null;
2416
+ const context = parentContexts ? parentContexts.getContext(futureNode.value.outlet) : null;
2417
+ if (curr && future.routeConfig === curr.routeConfig) {
2418
+ const shouldRun = shouldRunGuardsAndResolvers(curr, future, future.routeConfig.runGuardsAndResolvers);
2419
+ if (shouldRun) {
2420
+ checks.canActivateChecks.push(new CanActivate(futurePath));
2421
+ } else {
2422
+ future.data = curr.data;
2423
+ future._resolvedData = curr._resolvedData;
2424
+ }
2425
+ if (future.component) {
2426
+ getChildRouteGuards(futureNode, currNode, context ? context.children : null, futurePath, checks);
2427
+ } else {
2428
+ getChildRouteGuards(futureNode, currNode, parentContexts, futurePath, checks);
2429
+ }
2430
+ if (shouldRun && context && context.outlet && context.outlet.isActivated) {
2431
+ checks.canDeactivateChecks.push(new CanDeactivate(context.outlet.component, curr));
2432
+ }
2433
+ } else {
2434
+ if (curr) {
2435
+ deactivateRouteAndItsChildren(currNode, context, checks);
2436
+ }
2437
+ checks.canActivateChecks.push(new CanActivate(futurePath));
2438
+ if (future.component) {
2439
+ getChildRouteGuards(futureNode, null, context ? context.children : null, futurePath, checks);
2440
+ } else {
2441
+ getChildRouteGuards(futureNode, null, parentContexts, futurePath, checks);
2442
+ }
2443
+ }
2444
+ return checks;
2445
+ }
2446
+ function shouldRunGuardsAndResolvers(curr, future, mode) {
2447
+ if (typeof mode === "function") {
2448
+ return mode(curr, future);
2449
+ }
2450
+ switch (mode) {
2451
+ case "pathParamsChange":
2452
+ return !equalPath(curr.url, future.url);
2453
+ case "pathParamsOrQueryParamsChange":
2454
+ return !equalPath(curr.url, future.url) || !shallowEqual(curr.queryParams, future.queryParams);
2455
+ case "always":
2456
+ return true;
2457
+ case "paramsOrQueryParamsChange":
2458
+ return !equalParamsAndUrlSegments(curr, future) || !shallowEqual(curr.queryParams, future.queryParams);
2459
+ case "paramsChange":
2460
+ default:
2461
+ return !equalParamsAndUrlSegments(curr, future);
2462
+ }
2463
+ }
2464
+ function deactivateRouteAndItsChildren(route, context, checks) {
2465
+ const children = nodeChildrenAsMap(route);
2466
+ const r = route.value;
2467
+ Object.entries(children).forEach(([childName, node]) => {
2468
+ if (!r.component) {
2469
+ deactivateRouteAndItsChildren(node, context, checks);
2470
+ } else if (context) {
2471
+ deactivateRouteAndItsChildren(node, context.children.getContext(childName), checks);
2472
+ } else {
2473
+ deactivateRouteAndItsChildren(node, null, checks);
2474
+ }
2475
+ });
2476
+ if (!r.component) {
2477
+ checks.canDeactivateChecks.push(new CanDeactivate(null, r));
2478
+ } else if (context && context.outlet && context.outlet.isActivated) {
2479
+ checks.canDeactivateChecks.push(new CanDeactivate(context.outlet.component, r));
2480
+ } else {
2481
+ checks.canDeactivateChecks.push(new CanDeactivate(null, r));
2482
+ }
2483
+ }
2484
+ function isFunction(v) {
2485
+ return typeof v === "function";
2486
+ }
2487
+ function isBoolean(v) {
2488
+ return typeof v === "boolean";
2489
+ }
2490
+ function isCanLoad(guard) {
2491
+ return guard && isFunction(guard.canLoad);
2492
+ }
2493
+ function isCanActivate(guard) {
2494
+ return guard && isFunction(guard.canActivate);
2495
+ }
2496
+ function isCanActivateChild(guard) {
2497
+ return guard && isFunction(guard.canActivateChild);
2498
+ }
2499
+ function isCanDeactivate(guard) {
2500
+ return guard && isFunction(guard.canDeactivate);
2501
+ }
2502
+ function isCanMatch(guard) {
2503
+ return guard && isFunction(guard.canMatch);
2504
+ }
2505
+ function isEmptyError(e) {
2506
+ return e instanceof import_rxjs.EmptyError || (e == null ? void 0 : e.name) === "EmptyError";
2507
+ }
2508
+ const INITIAL_VALUE = /* @__PURE__ */ Symbol("INITIAL_VALUE");
2509
+ function prioritizedGuardValue() {
2510
+ return (0, import_operators.switchMap)((obs) => {
2511
+ return (0, import_rxjs.combineLatest)(obs.map((o) => o.pipe((0, import_operators.take)(1), (0, import_operators.startWith)(INITIAL_VALUE)))).pipe((0, import_operators.map)((results) => {
2512
+ for (const result of results) {
2513
+ if (result === true) {
2514
+ continue;
2515
+ } else if (result === INITIAL_VALUE) {
2516
+ return INITIAL_VALUE;
2517
+ } else if (result === false || isRedirect(result)) {
2518
+ return result;
2519
+ }
2520
+ }
2521
+ return true;
2522
+ }), (0, import_operators.filter)((item) => item !== INITIAL_VALUE), (0, import_operators.take)(1));
2523
+ });
2524
+ }
2525
+ function isRedirect(val) {
2526
+ return isUrlTree(val) || val instanceof RedirectCommand;
2527
+ }
2528
+ function checkGuards(injector, forwardEvent) {
2529
+ return (0, import_operators.mergeMap)((t) => {
2530
+ const { targetSnapshot, currentSnapshot, guards: { canActivateChecks, canDeactivateChecks } } = t;
2531
+ if (canDeactivateChecks.length === 0 && canActivateChecks.length === 0) {
2532
+ return (0, import_rxjs.of)(__spreadProps(__spreadValues({}, t), { guardsResult: true }));
2533
+ }
2534
+ return runCanDeactivateChecks(canDeactivateChecks, targetSnapshot, currentSnapshot, injector).pipe((0, import_operators.mergeMap)((canDeactivate) => {
2535
+ return canDeactivate && isBoolean(canDeactivate) ? runCanActivateChecks(targetSnapshot, canActivateChecks, injector, forwardEvent) : (0, import_rxjs.of)(canDeactivate);
2536
+ }), (0, import_operators.map)((guardsResult) => __spreadProps(__spreadValues({}, t), { guardsResult })));
2537
+ });
2538
+ }
2539
+ function runCanDeactivateChecks(checks, futureRSS, currRSS, injector) {
2540
+ return (0, import_rxjs.from)(checks).pipe((0, import_operators.mergeMap)((check) => runCanDeactivate(check.component, check.route, currRSS, futureRSS, injector)), (0, import_operators.first)((result) => {
2541
+ return result !== true;
2542
+ }, true));
2543
+ }
2544
+ function runCanActivateChecks(futureSnapshot, checks, injector, forwardEvent) {
2545
+ return (0, import_rxjs.from)(checks).pipe((0, import_operators.concatMap)((check) => {
2546
+ return (0, import_rxjs.concat)(fireChildActivationStart(check.route.parent, forwardEvent), fireActivationStart(check.route, forwardEvent), runCanActivateChild(futureSnapshot, check.path, injector), runCanActivate(futureSnapshot, check.route, injector));
2547
+ }), (0, import_operators.first)((result) => {
2548
+ return result !== true;
2549
+ }, true));
2550
+ }
2551
+ function fireActivationStart(snapshot, forwardEvent) {
2552
+ if (snapshot !== null && forwardEvent) {
2553
+ forwardEvent(new ActivationStart(snapshot));
2554
+ }
2555
+ return (0, import_rxjs.of)(true);
2556
+ }
2557
+ function fireChildActivationStart(snapshot, forwardEvent) {
2558
+ if (snapshot !== null && forwardEvent) {
2559
+ forwardEvent(new ChildActivationStart(snapshot));
2560
+ }
2561
+ return (0, import_rxjs.of)(true);
2562
+ }
2563
+ function runCanActivate(futureRSS, futureARS, injector) {
2564
+ const canActivate = futureARS.routeConfig ? futureARS.routeConfig.canActivate : null;
2565
+ if (!canActivate || canActivate.length === 0)
2566
+ return (0, import_rxjs.of)(true);
2567
+ const canActivateObservables = canActivate.map((canActivate2) => {
2568
+ return (0, import_rxjs.defer)(() => {
2569
+ var _a2;
2570
+ const closestInjector = (_a2 = getClosestRouteInjector(futureARS)) != null ? _a2 : injector;
2571
+ const guard = getTokenOrFunctionIdentity(canActivate2, closestInjector);
2572
+ const guardVal = isCanActivate(guard) ? guard.canActivate(futureARS, futureRSS) : (0, import_core.runInInjectionContext)(closestInjector, () => guard(futureARS, futureRSS));
2573
+ return wrapIntoObservable(guardVal).pipe((0, import_operators.first)());
2574
+ });
2575
+ });
2576
+ return (0, import_rxjs.of)(canActivateObservables).pipe(prioritizedGuardValue());
2577
+ }
2578
+ function runCanActivateChild(futureRSS, path, injector) {
2579
+ const futureARS = path[path.length - 1];
2580
+ const canActivateChildGuards = path.slice(0, path.length - 1).reverse().map((p) => getCanActivateChild(p)).filter((_) => _ !== null);
2581
+ const canActivateChildGuardsMapped = canActivateChildGuards.map((d) => {
2582
+ return (0, import_rxjs.defer)(() => {
2583
+ const guardsMapped = d.guards.map((canActivateChild) => {
2584
+ var _a2;
2585
+ const closestInjector = (_a2 = getClosestRouteInjector(d.node)) != null ? _a2 : injector;
2586
+ const guard = getTokenOrFunctionIdentity(canActivateChild, closestInjector);
2587
+ const guardVal = isCanActivateChild(guard) ? guard.canActivateChild(futureARS, futureRSS) : (0, import_core.runInInjectionContext)(closestInjector, () => guard(futureARS, futureRSS));
2588
+ return wrapIntoObservable(guardVal).pipe((0, import_operators.first)());
2589
+ });
2590
+ return (0, import_rxjs.of)(guardsMapped).pipe(prioritizedGuardValue());
2591
+ });
2592
+ });
2593
+ return (0, import_rxjs.of)(canActivateChildGuardsMapped).pipe(prioritizedGuardValue());
2594
+ }
2595
+ function runCanDeactivate(component, currARS, currRSS, futureRSS, injector) {
2596
+ const canDeactivate = currARS && currARS.routeConfig ? currARS.routeConfig.canDeactivate : null;
2597
+ if (!canDeactivate || canDeactivate.length === 0)
2598
+ return (0, import_rxjs.of)(true);
2599
+ const canDeactivateObservables = canDeactivate.map((c) => {
2600
+ var _a2;
2601
+ const closestInjector = (_a2 = getClosestRouteInjector(currARS)) != null ? _a2 : injector;
2602
+ const guard = getTokenOrFunctionIdentity(c, closestInjector);
2603
+ const guardVal = isCanDeactivate(guard) ? guard.canDeactivate(component, currARS, currRSS, futureRSS) : (0, import_core.runInInjectionContext)(closestInjector, () => guard(component, currARS, currRSS, futureRSS));
2604
+ return wrapIntoObservable(guardVal).pipe((0, import_operators.first)());
2605
+ });
2606
+ return (0, import_rxjs.of)(canDeactivateObservables).pipe(prioritizedGuardValue());
2607
+ }
2608
+ function runCanLoadGuards(injector, route, segments, urlSerializer) {
2609
+ const canLoad = route.canLoad;
2610
+ if (canLoad === void 0 || canLoad.length === 0) {
2611
+ return (0, import_rxjs.of)(true);
2612
+ }
2613
+ const canLoadObservables = canLoad.map((injectionToken) => {
2614
+ const guard = getTokenOrFunctionIdentity(injectionToken, injector);
2615
+ const guardVal = isCanLoad(guard) ? guard.canLoad(route, segments) : (0, import_core.runInInjectionContext)(injector, () => guard(route, segments));
2616
+ return wrapIntoObservable(guardVal);
2617
+ });
2618
+ return (0, import_rxjs.of)(canLoadObservables).pipe(prioritizedGuardValue(), redirectIfUrlTree(urlSerializer));
2619
+ }
2620
+ function redirectIfUrlTree(urlSerializer) {
2621
+ return (0, import_rxjs.pipe)((0, import_operators.tap)((result) => {
2622
+ if (typeof result === "boolean")
2623
+ return;
2624
+ throw redirectingNavigationError(urlSerializer, result);
2625
+ }), (0, import_operators.map)((result) => result === true));
2626
+ }
2627
+ function runCanMatchGuards(injector, route, segments, urlSerializer) {
2628
+ const canMatch = route.canMatch;
2629
+ if (!canMatch || canMatch.length === 0)
2630
+ return (0, import_rxjs.of)(true);
2631
+ const canMatchObservables = canMatch.map((injectionToken) => {
2632
+ const guard = getTokenOrFunctionIdentity(injectionToken, injector);
2633
+ const guardVal = isCanMatch(guard) ? guard.canMatch(route, segments) : (0, import_core.runInInjectionContext)(injector, () => guard(route, segments));
2634
+ return wrapIntoObservable(guardVal);
2635
+ });
2636
+ return (0, import_rxjs.of)(canMatchObservables).pipe(prioritizedGuardValue(), redirectIfUrlTree(urlSerializer));
2637
+ }
2638
+ class NoMatch {
2639
+ constructor(segmentGroup) {
2640
+ __publicField(this, "segmentGroup");
2641
+ this.segmentGroup = segmentGroup || null;
2642
+ }
2643
+ }
2644
+ class AbsoluteRedirect extends Error {
2645
+ constructor(urlTree) {
2646
+ super();
2647
+ __publicField(this, "urlTree");
2648
+ this.urlTree = urlTree;
2649
+ }
2650
+ }
2651
+ function noMatch$1(segmentGroup) {
2652
+ return (0, import_rxjs.throwError)(new NoMatch(segmentGroup));
2653
+ }
2654
+ function namedOutletsRedirect(redirectTo) {
2655
+ return (0, import_rxjs.throwError)(new import_core.\u0275RuntimeError(4e3, (typeof ngDevMode === "undefined" || ngDevMode) && `Only absolute redirects can have named outlets. redirectTo: '${redirectTo}'`));
2656
+ }
2657
+ function canLoadFails(route) {
2658
+ return (0, import_rxjs.throwError)(navigationCancelingError((typeof ngDevMode === "undefined" || ngDevMode) && `Cannot load children because the guard of the route "path: '${route.path}'" returned false`, NavigationCancellationCode.GuardRejected));
2659
+ }
2660
+ class ApplyRedirects {
2661
+ constructor(urlSerializer, urlTree) {
2662
+ __publicField(this, "urlSerializer");
2663
+ __publicField(this, "urlTree");
2664
+ this.urlSerializer = urlSerializer;
2665
+ this.urlTree = urlTree;
2666
+ }
2667
+ lineralizeSegments(route, urlTree) {
2668
+ let res = [];
2669
+ let c = urlTree.root;
2670
+ while (true) {
2671
+ res = res.concat(c.segments);
2672
+ if (c.numberOfChildren === 0) {
2673
+ return (0, import_rxjs.of)(res);
2674
+ }
2675
+ if (c.numberOfChildren > 1 || !c.children[PRIMARY_OUTLET]) {
2676
+ return namedOutletsRedirect(`${route.redirectTo}`);
2677
+ }
2678
+ c = c.children[PRIMARY_OUTLET];
2679
+ }
2680
+ }
2681
+ applyRedirectCommands(segments, redirectTo, posParams, currentSnapshot, injector) {
2682
+ return getRedirectResult(redirectTo, currentSnapshot, injector).pipe((0, import_operators.map)((redirect) => {
2683
+ if (redirect instanceof UrlTree) {
2684
+ throw new AbsoluteRedirect(redirect);
2685
+ }
2686
+ const newTree = this.applyRedirectCreateUrlTree(redirect, this.urlSerializer.parse(redirect), segments, posParams);
2687
+ if (redirect[0] === "/") {
2688
+ throw new AbsoluteRedirect(newTree);
2689
+ }
2690
+ return newTree;
2691
+ }));
2692
+ }
2693
+ applyRedirectCreateUrlTree(redirectTo, urlTree, segments, posParams) {
2694
+ const newRoot = this.createSegmentGroup(redirectTo, urlTree.root, segments, posParams);
2695
+ return new UrlTree(newRoot, this.createQueryParams(urlTree.queryParams, this.urlTree.queryParams), urlTree.fragment);
2696
+ }
2697
+ createQueryParams(redirectToParams, actualParams) {
2698
+ const res = {};
2699
+ Object.entries(redirectToParams).forEach(([k, v]) => {
2700
+ const copySourceValue = typeof v === "string" && v[0] === ":";
2701
+ if (copySourceValue) {
2702
+ const sourceName = v.substring(1);
2703
+ res[k] = actualParams[sourceName];
2704
+ } else {
2705
+ res[k] = v;
2706
+ }
2707
+ });
2708
+ return res;
2709
+ }
2710
+ createSegmentGroup(redirectTo, group, segments, posParams) {
2711
+ const updatedSegments = this.createSegments(redirectTo, group.segments, segments, posParams);
2712
+ let children = {};
2713
+ Object.entries(group.children).forEach(([name, child]) => {
2714
+ children[name] = this.createSegmentGroup(redirectTo, child, segments, posParams);
2715
+ });
2716
+ return new UrlSegmentGroup(updatedSegments, children);
2717
+ }
2718
+ createSegments(redirectTo, redirectToSegments, actualSegments, posParams) {
2719
+ return redirectToSegments.map((s) => s.path[0] === ":" ? this.findPosParam(redirectTo, s, posParams) : this.findOrReturn(s, actualSegments));
2720
+ }
2721
+ findPosParam(redirectTo, redirectToUrlSegment, posParams) {
2722
+ const pos = posParams[redirectToUrlSegment.path.substring(1)];
2723
+ if (!pos)
2724
+ throw new import_core.\u0275RuntimeError(4001, (typeof ngDevMode === "undefined" || ngDevMode) && `Cannot redirect to '${redirectTo}'. Cannot find '${redirectToUrlSegment.path}'.`);
2725
+ return pos;
2726
+ }
2727
+ findOrReturn(redirectToUrlSegment, actualSegments) {
2728
+ let idx = 0;
2729
+ for (const s of actualSegments) {
2730
+ if (s.path === redirectToUrlSegment.path) {
2731
+ actualSegments.splice(idx);
2732
+ return s;
2733
+ }
2734
+ idx++;
2735
+ }
2736
+ return redirectToUrlSegment;
2737
+ }
2738
+ }
2739
+ function getRedirectResult(redirectTo, currentSnapshot, injector) {
2740
+ if (typeof redirectTo === "string") {
2741
+ return (0, import_rxjs.of)(redirectTo);
2742
+ }
2743
+ const redirectToFn = redirectTo;
2744
+ const { queryParams, fragment, routeConfig, url, outlet, params, data, title } = currentSnapshot;
2745
+ return wrapIntoObservable((0, import_core.runInInjectionContext)(injector, () => redirectToFn({ params, data, queryParams, fragment, routeConfig, url, outlet, title })));
2746
+ }
2747
+ const noMatch = {
2748
+ matched: false,
2749
+ consumedSegments: [],
2750
+ remainingSegments: [],
2751
+ parameters: {},
2752
+ positionalParamSegments: {}
2753
+ };
2754
+ function matchWithChecks(segmentGroup, route, segments, injector, urlSerializer) {
2755
+ const result = match(segmentGroup, route, segments);
2756
+ if (!result.matched) {
2757
+ return (0, import_rxjs.of)(result);
2758
+ }
2759
+ injector = getOrCreateRouteInjectorIfNeeded(route, injector);
2760
+ return runCanMatchGuards(injector, route, segments, urlSerializer).pipe((0, import_operators.map)((v) => v === true ? result : __spreadValues({}, noMatch)));
2761
+ }
2762
+ function match(segmentGroup, route, segments) {
2763
+ var _a2, _b2;
2764
+ if (route.path === "**") {
2765
+ return createWildcardMatchResult(segments);
2766
+ }
2767
+ if (route.path === "") {
2768
+ if (route.pathMatch === "full" && (segmentGroup.hasChildren() || segments.length > 0)) {
2769
+ return __spreadValues({}, noMatch);
2770
+ }
2771
+ return {
2772
+ matched: true,
2773
+ consumedSegments: [],
2774
+ remainingSegments: segments,
2775
+ parameters: {},
2776
+ positionalParamSegments: {}
2777
+ };
2778
+ }
2779
+ const matcher = route.matcher || defaultUrlMatcher;
2780
+ const res = matcher(segments, segmentGroup, route);
2781
+ if (!res)
2782
+ return __spreadValues({}, noMatch);
2783
+ const posParams = {};
2784
+ Object.entries((_a2 = res.posParams) != null ? _a2 : {}).forEach(([k, v]) => {
2785
+ posParams[k] = v.path;
2786
+ });
2787
+ const parameters = res.consumed.length > 0 ? __spreadValues(__spreadValues({}, posParams), res.consumed[res.consumed.length - 1].parameters) : posParams;
2788
+ return {
2789
+ matched: true,
2790
+ consumedSegments: res.consumed,
2791
+ remainingSegments: segments.slice(res.consumed.length),
2792
+ // TODO(atscott): investigate combining parameters and positionalParamSegments
2793
+ parameters,
2794
+ positionalParamSegments: (_b2 = res.posParams) != null ? _b2 : {}
2795
+ };
2796
+ }
2797
+ function createWildcardMatchResult(segments) {
2798
+ return {
2799
+ matched: true,
2800
+ parameters: segments.length > 0 ? last(segments).parameters : {},
2801
+ consumedSegments: segments,
2802
+ remainingSegments: [],
2803
+ positionalParamSegments: {}
2804
+ };
2805
+ }
2806
+ function split(segmentGroup, consumedSegments, slicedSegments, config) {
2807
+ if (slicedSegments.length > 0 && containsEmptyPathMatchesWithNamedOutlets(segmentGroup, slicedSegments, config)) {
2808
+ const s2 = new UrlSegmentGroup(consumedSegments, createChildrenForEmptyPaths(config, new UrlSegmentGroup(slicedSegments, segmentGroup.children)));
2809
+ return { segmentGroup: s2, slicedSegments: [] };
2810
+ }
2811
+ if (slicedSegments.length === 0 && containsEmptyPathMatches(segmentGroup, slicedSegments, config)) {
2812
+ const s2 = new UrlSegmentGroup(segmentGroup.segments, addEmptyPathsToChildrenIfNeeded(segmentGroup, slicedSegments, config, segmentGroup.children));
2813
+ return { segmentGroup: s2, slicedSegments };
2814
+ }
2815
+ const s = new UrlSegmentGroup(segmentGroup.segments, segmentGroup.children);
2816
+ return { segmentGroup: s, slicedSegments };
2817
+ }
2818
+ function addEmptyPathsToChildrenIfNeeded(segmentGroup, slicedSegments, routes, children) {
2819
+ const res = {};
2820
+ for (const r of routes) {
2821
+ if (emptyPathMatch(segmentGroup, slicedSegments, r) && !children[getOutlet(r)]) {
2822
+ const s = new UrlSegmentGroup([], {});
2823
+ res[getOutlet(r)] = s;
2824
+ }
2825
+ }
2826
+ return __spreadValues(__spreadValues({}, children), res);
2827
+ }
2828
+ function createChildrenForEmptyPaths(routes, primarySegment) {
2829
+ const res = {};
2830
+ res[PRIMARY_OUTLET] = primarySegment;
2831
+ for (const r of routes) {
2832
+ if (r.path === "" && getOutlet(r) !== PRIMARY_OUTLET) {
2833
+ const s = new UrlSegmentGroup([], {});
2834
+ res[getOutlet(r)] = s;
2835
+ }
2836
+ }
2837
+ return res;
2838
+ }
2839
+ function containsEmptyPathMatchesWithNamedOutlets(segmentGroup, slicedSegments, routes) {
2840
+ return routes.some((r) => emptyPathMatch(segmentGroup, slicedSegments, r) && getOutlet(r) !== PRIMARY_OUTLET);
2841
+ }
2842
+ function containsEmptyPathMatches(segmentGroup, slicedSegments, routes) {
2843
+ return routes.some((r) => emptyPathMatch(segmentGroup, slicedSegments, r));
2844
+ }
2845
+ function emptyPathMatch(segmentGroup, slicedSegments, r) {
2846
+ if ((segmentGroup.hasChildren() || slicedSegments.length > 0) && r.pathMatch === "full") {
2847
+ return false;
2848
+ }
2849
+ return r.path === "";
2850
+ }
2851
+ function noLeftoversInUrl(segmentGroup, segments, outlet) {
2852
+ return segments.length === 0 && !segmentGroup.children[outlet];
2853
+ }
2854
+ class NoLeftoversInUrl {
2855
+ }
2856
+ function recognize$1(injector, configLoader, rootComponentType, config, urlTree, urlSerializer, paramsInheritanceStrategy = "emptyOnly") {
2857
+ return new Recognizer(injector, configLoader, rootComponentType, config, urlTree, paramsInheritanceStrategy, urlSerializer).recognize();
2858
+ }
2859
+ const MAX_ALLOWED_REDIRECTS = 31;
2860
+ class Recognizer {
2861
+ constructor(injector, configLoader, rootComponentType, config, urlTree, paramsInheritanceStrategy, urlSerializer) {
2862
+ __publicField(this, "injector");
2863
+ __publicField(this, "configLoader");
2864
+ __publicField(this, "rootComponentType");
2865
+ __publicField(this, "config");
2866
+ __publicField(this, "urlTree");
2867
+ __publicField(this, "paramsInheritanceStrategy");
2868
+ __publicField(this, "urlSerializer");
2869
+ __publicField(this, "applyRedirects");
2870
+ __publicField(this, "absoluteRedirectCount", 0);
2871
+ __publicField(this, "allowRedirects", true);
2872
+ this.injector = injector;
2873
+ this.configLoader = configLoader;
2874
+ this.rootComponentType = rootComponentType;
2875
+ this.config = config;
2876
+ this.urlTree = urlTree;
2877
+ this.paramsInheritanceStrategy = paramsInheritanceStrategy;
2878
+ this.urlSerializer = urlSerializer;
2879
+ this.applyRedirects = new ApplyRedirects(this.urlSerializer, this.urlTree);
2880
+ }
2881
+ noMatchError(e) {
2882
+ return new import_core.\u0275RuntimeError(4002, typeof ngDevMode === "undefined" || ngDevMode ? `Cannot match any routes. URL Segment: '${e.segmentGroup}'` : `'${e.segmentGroup}'`);
2883
+ }
2884
+ recognize() {
2885
+ const rootSegmentGroup = split(this.urlTree.root, [], [], this.config).segmentGroup;
2886
+ return this.match(rootSegmentGroup).pipe((0, import_operators.map)(({ children, rootSnapshot }) => {
2887
+ const rootNode = new TreeNode(rootSnapshot, children);
2888
+ const routeState = new RouterStateSnapshot("", rootNode);
2889
+ const tree2 = createUrlTreeFromSnapshot(rootSnapshot, [], this.urlTree.queryParams, this.urlTree.fragment);
2890
+ tree2.queryParams = this.urlTree.queryParams;
2891
+ routeState.url = this.urlSerializer.serialize(tree2);
2892
+ return { state: routeState, tree: tree2 };
2893
+ }));
2894
+ }
2895
+ match(rootSegmentGroup) {
2896
+ const rootSnapshot = new ActivatedRouteSnapshot([], Object.freeze({}), Object.freeze(__spreadValues({}, this.urlTree.queryParams)), this.urlTree.fragment, Object.freeze({}), PRIMARY_OUTLET, this.rootComponentType, null, {});
2897
+ return this.processSegmentGroup(this.injector, this.config, rootSegmentGroup, PRIMARY_OUTLET, rootSnapshot).pipe((0, import_operators.map)((children) => {
2898
+ return { children, rootSnapshot };
2899
+ }), (0, import_operators.catchError)((e) => {
2900
+ if (e instanceof AbsoluteRedirect) {
2901
+ this.urlTree = e.urlTree;
2902
+ return this.match(e.urlTree.root);
2903
+ }
2904
+ if (e instanceof NoMatch) {
2905
+ throw this.noMatchError(e);
2906
+ }
2907
+ throw e;
2908
+ }));
2909
+ }
2910
+ processSegmentGroup(injector, config, segmentGroup, outlet, parentRoute) {
2911
+ if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {
2912
+ return this.processChildren(injector, config, segmentGroup, parentRoute);
2913
+ }
2914
+ return this.processSegment(injector, config, segmentGroup, segmentGroup.segments, outlet, true, parentRoute).pipe((0, import_operators.map)((child) => child instanceof TreeNode ? [child] : []));
2915
+ }
2916
+ /**
2917
+ * Matches every child outlet in the `segmentGroup` to a `Route` in the config. Returns `null` if
2918
+ * we cannot find a match for _any_ of the children.
2919
+ *
2920
+ * @param config - The `Routes` to match against
2921
+ * @param segmentGroup - The `UrlSegmentGroup` whose children need to be matched against the
2922
+ * config.
2923
+ */
2924
+ processChildren(injector, config, segmentGroup, parentRoute) {
2925
+ const childOutlets = [];
2926
+ for (const child of Object.keys(segmentGroup.children)) {
2927
+ if (child === "primary") {
2928
+ childOutlets.unshift(child);
2929
+ } else {
2930
+ childOutlets.push(child);
2931
+ }
2932
+ }
2933
+ return (0, import_rxjs.from)(childOutlets).pipe((0, import_operators.concatMap)((childOutlet) => {
2934
+ const child = segmentGroup.children[childOutlet];
2935
+ const sortedConfig = sortByMatchingOutlets(config, childOutlet);
2936
+ return this.processSegmentGroup(injector, sortedConfig, child, childOutlet, parentRoute);
2937
+ }), (0, import_operators.scan)((children, outletChildren) => {
2938
+ children.push(...outletChildren);
2939
+ return children;
2940
+ }), (0, import_operators.defaultIfEmpty)(null), (0, import_operators.last)(), (0, import_operators.mergeMap)((children) => {
2941
+ if (children === null)
2942
+ return noMatch$1(segmentGroup);
2943
+ const mergedChildren = mergeEmptyPathMatches(children);
2944
+ if (typeof ngDevMode === "undefined" || ngDevMode) {
2945
+ checkOutletNameUniqueness(mergedChildren);
2946
+ }
2947
+ sortActivatedRouteSnapshots(mergedChildren);
2948
+ return (0, import_rxjs.of)(mergedChildren);
2949
+ }));
2950
+ }
2951
+ processSegment(injector, routes, segmentGroup, segments, outlet, allowRedirects, parentRoute) {
2952
+ return (0, import_rxjs.from)(routes).pipe((0, import_operators.concatMap)((r) => {
2953
+ var _a2;
2954
+ return this.processSegmentAgainstRoute((_a2 = r._injector) != null ? _a2 : injector, routes, r, segmentGroup, segments, outlet, allowRedirects, parentRoute).pipe((0, import_operators.catchError)((e) => {
2955
+ if (e instanceof NoMatch) {
2956
+ return (0, import_rxjs.of)(null);
2957
+ }
2958
+ throw e;
2959
+ }));
2960
+ }), (0, import_operators.first)((x) => !!x), (0, import_operators.catchError)((e) => {
2961
+ if (isEmptyError(e)) {
2962
+ if (noLeftoversInUrl(segmentGroup, segments, outlet)) {
2963
+ return (0, import_rxjs.of)(new NoLeftoversInUrl());
2964
+ }
2965
+ return noMatch$1(segmentGroup);
2966
+ }
2967
+ throw e;
2968
+ }));
2969
+ }
2970
+ processSegmentAgainstRoute(injector, routes, route, rawSegment, segments, outlet, allowRedirects, parentRoute) {
2971
+ if (getOutlet(route) !== outlet && (outlet === PRIMARY_OUTLET || !emptyPathMatch(rawSegment, segments, route))) {
2972
+ return noMatch$1(rawSegment);
2973
+ }
2974
+ if (route.redirectTo === void 0) {
2975
+ return this.matchSegmentAgainstRoute(injector, rawSegment, route, segments, outlet, parentRoute);
2976
+ }
2977
+ if (this.allowRedirects && allowRedirects) {
2978
+ return this.expandSegmentAgainstRouteUsingRedirect(injector, rawSegment, routes, route, segments, outlet, parentRoute);
2979
+ }
2980
+ return noMatch$1(rawSegment);
2981
+ }
2982
+ expandSegmentAgainstRouteUsingRedirect(injector, segmentGroup, routes, route, segments, outlet, parentRoute) {
2983
+ var _a2, _b2;
2984
+ const { matched, parameters, consumedSegments, positionalParamSegments, remainingSegments } = match(segmentGroup, route, segments);
2985
+ if (!matched)
2986
+ return noMatch$1(segmentGroup);
2987
+ if (typeof route.redirectTo === "string" && route.redirectTo[0] === "/") {
2988
+ this.absoluteRedirectCount++;
2989
+ if (this.absoluteRedirectCount > MAX_ALLOWED_REDIRECTS) {
2990
+ if (ngDevMode) {
2991
+ throw new import_core.\u0275RuntimeError(4016, `Detected possible infinite redirect when redirecting from '${this.urlTree}' to '${route.redirectTo}'.
2992
+ This is currently a dev mode only error but will become a call stack size exceeded error in production in a future major version.`);
2993
+ }
2994
+ this.allowRedirects = false;
2995
+ }
2996
+ }
2997
+ const currentSnapshot = new ActivatedRouteSnapshot(segments, parameters, Object.freeze(__spreadValues({}, this.urlTree.queryParams)), this.urlTree.fragment, getData(route), getOutlet(route), (_b2 = (_a2 = route.component) != null ? _a2 : route._loadedComponent) != null ? _b2 : null, route, getResolve(route));
2998
+ const inherited = getInherited(currentSnapshot, parentRoute, this.paramsInheritanceStrategy);
2999
+ currentSnapshot.params = Object.freeze(inherited.params);
3000
+ currentSnapshot.data = Object.freeze(inherited.data);
3001
+ const newTree$ = this.applyRedirects.applyRedirectCommands(consumedSegments, route.redirectTo, positionalParamSegments, currentSnapshot, injector);
3002
+ return newTree$.pipe((0, import_operators.switchMap)((newTree) => this.applyRedirects.lineralizeSegments(route, newTree)), (0, import_operators.mergeMap)((newSegments) => {
3003
+ return this.processSegment(injector, routes, segmentGroup, newSegments.concat(remainingSegments), outlet, false, parentRoute);
3004
+ }));
3005
+ }
3006
+ matchSegmentAgainstRoute(injector, rawSegment, route, segments, outlet, parentRoute) {
3007
+ const matchResult = matchWithChecks(rawSegment, route, segments, injector, this.urlSerializer);
3008
+ if (route.path === "**") {
3009
+ rawSegment.children = {};
3010
+ }
3011
+ return matchResult.pipe((0, import_operators.switchMap)((result) => {
3012
+ var _a2;
3013
+ if (!result.matched) {
3014
+ return noMatch$1(rawSegment);
3015
+ }
3016
+ injector = (_a2 = route._injector) != null ? _a2 : injector;
3017
+ return this.getChildConfig(injector, route, segments).pipe((0, import_operators.switchMap)(({ routes: childConfig }) => {
3018
+ var _a3, _b2, _c;
3019
+ const childInjector = (_a3 = route._loadedInjector) != null ? _a3 : injector;
3020
+ const { parameters, consumedSegments, remainingSegments } = result;
3021
+ const snapshot = new ActivatedRouteSnapshot(consumedSegments, parameters, Object.freeze(__spreadValues({}, this.urlTree.queryParams)), this.urlTree.fragment, getData(route), getOutlet(route), (_c = (_b2 = route.component) != null ? _b2 : route._loadedComponent) != null ? _c : null, route, getResolve(route));
3022
+ const inherited = getInherited(snapshot, parentRoute, this.paramsInheritanceStrategy);
3023
+ snapshot.params = Object.freeze(inherited.params);
3024
+ snapshot.data = Object.freeze(inherited.data);
3025
+ const { segmentGroup, slicedSegments } = split(rawSegment, consumedSegments, remainingSegments, childConfig);
3026
+ if (slicedSegments.length === 0 && segmentGroup.hasChildren()) {
3027
+ return this.processChildren(childInjector, childConfig, segmentGroup, snapshot).pipe((0, import_operators.map)((children) => {
3028
+ return new TreeNode(snapshot, children);
3029
+ }));
3030
+ }
3031
+ if (childConfig.length === 0 && slicedSegments.length === 0) {
3032
+ return (0, import_rxjs.of)(new TreeNode(snapshot, []));
3033
+ }
3034
+ const matchedOnOutlet = getOutlet(route) === outlet;
3035
+ return this.processSegment(childInjector, childConfig, segmentGroup, slicedSegments, matchedOnOutlet ? PRIMARY_OUTLET : outlet, true, snapshot).pipe((0, import_operators.map)((child) => {
3036
+ return new TreeNode(snapshot, child instanceof TreeNode ? [child] : []);
3037
+ }));
3038
+ }));
3039
+ }));
3040
+ }
3041
+ getChildConfig(injector, route, segments) {
3042
+ if (route.children) {
3043
+ return (0, import_rxjs.of)({ routes: route.children, injector });
3044
+ }
3045
+ if (route.loadChildren) {
3046
+ if (route._loadedRoutes !== void 0) {
3047
+ return (0, import_rxjs.of)({ routes: route._loadedRoutes, injector: route._loadedInjector });
3048
+ }
3049
+ return runCanLoadGuards(injector, route, segments, this.urlSerializer).pipe((0, import_operators.mergeMap)((shouldLoadResult) => {
3050
+ if (shouldLoadResult) {
3051
+ return this.configLoader.loadChildren(injector, route).pipe((0, import_operators.tap)((cfg) => {
3052
+ route._loadedRoutes = cfg.routes;
3053
+ route._loadedInjector = cfg.injector;
3054
+ }));
3055
+ }
3056
+ return canLoadFails(route);
3057
+ }));
3058
+ }
3059
+ return (0, import_rxjs.of)({ routes: [], injector });
3060
+ }
3061
+ }
3062
+ function sortActivatedRouteSnapshots(nodes) {
3063
+ nodes.sort((a, b) => {
3064
+ if (a.value.outlet === PRIMARY_OUTLET)
3065
+ return -1;
3066
+ if (b.value.outlet === PRIMARY_OUTLET)
3067
+ return 1;
3068
+ return a.value.outlet.localeCompare(b.value.outlet);
3069
+ });
3070
+ }
3071
+ function hasEmptyPathConfig(node) {
3072
+ const config = node.value.routeConfig;
3073
+ return config && config.path === "";
3074
+ }
3075
+ function mergeEmptyPathMatches(nodes) {
3076
+ const result = [];
3077
+ const mergedNodes = /* @__PURE__ */ new Set();
3078
+ for (const node of nodes) {
3079
+ if (!hasEmptyPathConfig(node)) {
3080
+ result.push(node);
3081
+ continue;
3082
+ }
3083
+ const duplicateEmptyPathNode = result.find((resultNode) => node.value.routeConfig === resultNode.value.routeConfig);
3084
+ if (duplicateEmptyPathNode !== void 0) {
3085
+ duplicateEmptyPathNode.children.push(...node.children);
3086
+ mergedNodes.add(duplicateEmptyPathNode);
3087
+ } else {
3088
+ result.push(node);
3089
+ }
3090
+ }
3091
+ for (const mergedNode of mergedNodes) {
3092
+ const mergedChildren = mergeEmptyPathMatches(mergedNode.children);
3093
+ result.push(new TreeNode(mergedNode.value, mergedChildren));
3094
+ }
3095
+ return result.filter((n) => !mergedNodes.has(n));
3096
+ }
3097
+ function checkOutletNameUniqueness(nodes) {
3098
+ const names = {};
3099
+ nodes.forEach((n) => {
3100
+ const routeWithSameOutletName = names[n.value.outlet];
3101
+ if (routeWithSameOutletName) {
3102
+ const p = routeWithSameOutletName.url.map((s) => s.toString()).join("/");
3103
+ const c = n.value.url.map((s) => s.toString()).join("/");
3104
+ throw new import_core.\u0275RuntimeError(4006, (typeof ngDevMode === "undefined" || ngDevMode) && `Two segments cannot have the same outlet name: '${p}' and '${c}'.`);
3105
+ }
3106
+ names[n.value.outlet] = n.value;
3107
+ });
3108
+ }
3109
+ function getData(route) {
3110
+ return route.data || {};
3111
+ }
3112
+ function getResolve(route) {
3113
+ return route.resolve || {};
3114
+ }
3115
+ function recognize(injector, configLoader, rootComponentType, config, serializer, paramsInheritanceStrategy) {
3116
+ return (0, import_operators.mergeMap)((t) => recognize$1(injector, configLoader, rootComponentType, config, t.extractedUrl, serializer, paramsInheritanceStrategy).pipe((0, import_operators.map)(({ state: targetSnapshot, tree: urlAfterRedirects }) => {
3117
+ return __spreadProps(__spreadValues({}, t), { targetSnapshot, urlAfterRedirects });
3118
+ })));
3119
+ }
3120
+ function resolveData(paramsInheritanceStrategy, injector) {
3121
+ return (0, import_operators.mergeMap)((t) => {
3122
+ const { targetSnapshot, guards: { canActivateChecks } } = t;
3123
+ if (!canActivateChecks.length) {
3124
+ return (0, import_rxjs.of)(t);
3125
+ }
3126
+ const routesWithResolversToRun = new Set(canActivateChecks.map((check) => check.route));
3127
+ const routesNeedingDataUpdates = /* @__PURE__ */ new Set();
3128
+ for (const route of routesWithResolversToRun) {
3129
+ if (routesNeedingDataUpdates.has(route)) {
3130
+ continue;
3131
+ }
3132
+ for (const newRoute of flattenRouteTree(route)) {
3133
+ routesNeedingDataUpdates.add(newRoute);
3134
+ }
3135
+ }
3136
+ let routesProcessed = 0;
3137
+ return (0, import_rxjs.from)(routesNeedingDataUpdates).pipe((0, import_operators.concatMap)((route) => {
3138
+ if (routesWithResolversToRun.has(route)) {
3139
+ return runResolve(route, targetSnapshot, paramsInheritanceStrategy, injector);
3140
+ } else {
3141
+ route.data = getInherited(route, route.parent, paramsInheritanceStrategy).resolve;
3142
+ return (0, import_rxjs.of)(void 0);
3143
+ }
3144
+ }), (0, import_operators.tap)(() => routesProcessed++), (0, import_operators.takeLast)(1), (0, import_operators.mergeMap)((_) => routesProcessed === routesNeedingDataUpdates.size ? (0, import_rxjs.of)(t) : import_rxjs.EMPTY));
3145
+ });
3146
+ }
3147
+ function flattenRouteTree(route) {
3148
+ const descendants = route.children.map((child) => flattenRouteTree(child)).flat();
3149
+ return [route, ...descendants];
3150
+ }
3151
+ function runResolve(futureARS, futureRSS, paramsInheritanceStrategy, injector) {
3152
+ const config = futureARS.routeConfig;
3153
+ const resolve = futureARS._resolve;
3154
+ if ((config == null ? void 0 : config.title) !== void 0 && !hasStaticTitle(config)) {
3155
+ resolve[RouteTitleKey] = config.title;
3156
+ }
3157
+ return (0, import_rxjs.defer)(() => {
3158
+ futureARS.data = getInherited(futureARS, futureARS.parent, paramsInheritanceStrategy).resolve;
3159
+ return resolveNode(resolve, futureARS, futureRSS, injector).pipe((0, import_operators.map)((resolvedData) => {
3160
+ futureARS._resolvedData = resolvedData;
3161
+ futureARS.data = __spreadValues(__spreadValues({}, futureARS.data), resolvedData);
3162
+ return null;
3163
+ }));
3164
+ });
3165
+ }
3166
+ function resolveNode(resolve, futureARS, futureRSS, injector) {
3167
+ const keys = getDataKeys(resolve);
3168
+ if (keys.length === 0) {
3169
+ return (0, import_rxjs.of)({});
3170
+ }
3171
+ const data = {};
3172
+ return (0, import_rxjs.from)(keys).pipe((0, import_operators.mergeMap)((key) => getResolver(resolve[key], futureARS, futureRSS, injector).pipe((0, import_operators.first)(), (0, import_operators.tap)((value) => {
3173
+ if (value instanceof RedirectCommand) {
3174
+ throw redirectingNavigationError(new DefaultUrlSerializer(), value);
3175
+ }
3176
+ data[key] = value;
3177
+ }))), (0, import_operators.takeLast)(1), (0, import_operators.map)(() => data), (0, import_operators.catchError)((e) => isEmptyError(e) ? import_rxjs.EMPTY : (0, import_rxjs.throwError)(e)));
3178
+ }
3179
+ function getResolver(injectionToken, futureARS, futureRSS, injector) {
3180
+ var _a2;
3181
+ const closestInjector = (_a2 = getClosestRouteInjector(futureARS)) != null ? _a2 : injector;
3182
+ const resolver = getTokenOrFunctionIdentity(injectionToken, closestInjector);
3183
+ const resolverValue = resolver.resolve ? resolver.resolve(futureARS, futureRSS) : (0, import_core.runInInjectionContext)(closestInjector, () => resolver(futureARS, futureRSS));
3184
+ return wrapIntoObservable(resolverValue);
3185
+ }
3186
+ function switchTap(next) {
3187
+ return (0, import_operators.switchMap)((v) => {
3188
+ const nextResult = next(v);
3189
+ if (nextResult) {
3190
+ return (0, import_rxjs.from)(nextResult).pipe((0, import_operators.map)(() => v));
3191
+ }
3192
+ return (0, import_rxjs.of)(v);
3193
+ });
3194
+ }
3195
+ const _TitleStrategy = class _TitleStrategy {
3196
+ /**
3197
+ * @returns The `title` of the deepest primary route.
3198
+ */
3199
+ buildTitle(snapshot) {
3200
+ var _a2;
3201
+ let pageTitle;
3202
+ let route = snapshot.root;
3203
+ while (route !== void 0) {
3204
+ pageTitle = (_a2 = this.getResolvedTitleForRoute(route)) != null ? _a2 : pageTitle;
3205
+ route = route.children.find((child) => child.outlet === PRIMARY_OUTLET);
3206
+ }
3207
+ return pageTitle;
3208
+ }
3209
+ /**
3210
+ * Given an `ActivatedRouteSnapshot`, returns the final value of the
3211
+ * `Route.title` property, which can either be a static string or a resolved value.
3212
+ */
3213
+ getResolvedTitleForRoute(snapshot) {
3214
+ return snapshot.data[RouteTitleKey];
3215
+ }
3216
+ };
3217
+ __publicField(_TitleStrategy, "\u0275fac", i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _TitleStrategy, deps: [], target: i0.\u0275\u0275FactoryTarget.Injectable }));
3218
+ __publicField(_TitleStrategy, "\u0275prov", i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _TitleStrategy, providedIn: "root", useFactory: () => (0, import_core.inject)(DefaultTitleStrategy) }));
3219
+ let TitleStrategy = _TitleStrategy;
3220
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TitleStrategy, decorators: [{
3221
+ type: import_core.Injectable,
3222
+ args: [{ providedIn: "root", useFactory: () => (0, import_core.inject)(DefaultTitleStrategy) }]
3223
+ }] });
3224
+ const _DefaultTitleStrategy = class _DefaultTitleStrategy extends TitleStrategy {
3225
+ constructor(title) {
3226
+ super();
3227
+ __publicField(this, "title");
3228
+ this.title = title;
3229
+ }
3230
+ /**
3231
+ * Sets the title of the browser to the given value.
3232
+ *
3233
+ * @param title The `pageTitle` from the deepest primary route.
3234
+ */
3235
+ updateTitle(snapshot) {
3236
+ const title = this.buildTitle(snapshot);
3237
+ if (title !== void 0) {
3238
+ this.title.setTitle(title);
3239
+ }
3240
+ }
3241
+ };
3242
+ __publicField(_DefaultTitleStrategy, "\u0275fac", i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.\u0275\u0275FactoryTarget.Injectable }));
3243
+ __publicField(_DefaultTitleStrategy, "\u0275prov", i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _DefaultTitleStrategy, providedIn: "root" }));
3244
+ let DefaultTitleStrategy = _DefaultTitleStrategy;
3245
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
3246
+ type: import_core.Injectable,
3247
+ args: [{ providedIn: "root" }]
3248
+ }], ctorParameters: () => [{ type: i1.Title }] });
3249
+ const ROUTER_CONFIGURATION = new import_core.InjectionToken(typeof ngDevMode === "undefined" || ngDevMode ? "router config" : "", {
3250
+ providedIn: "root",
3251
+ factory: () => ({})
3252
+ });
3253
+ const ROUTES = new import_core.InjectionToken(ngDevMode ? "ROUTES" : "");
3254
+ const _RouterConfigLoader = class _RouterConfigLoader {
3255
+ constructor() {
3256
+ __publicField(this, "componentLoaders", /* @__PURE__ */ new WeakMap());
3257
+ __publicField(this, "childrenLoaders", /* @__PURE__ */ new WeakMap());
3258
+ __publicField(this, "onLoadStartListener");
3259
+ __publicField(this, "onLoadEndListener");
3260
+ __publicField(this, "compiler", (0, import_core.inject)(import_core.Compiler));
3261
+ }
3262
+ loadComponent(injector, route) {
3263
+ if (this.componentLoaders.get(route)) {
3264
+ return this.componentLoaders.get(route);
3265
+ } else if (route._loadedComponent) {
3266
+ return (0, import_rxjs.of)(route._loadedComponent);
3267
+ }
3268
+ if (this.onLoadStartListener) {
3269
+ this.onLoadStartListener(route);
3270
+ }
3271
+ const loadRunner = wrapIntoObservable((0, import_core.runInInjectionContext)(injector, () => route.loadComponent())).pipe((0, import_operators.map)(maybeUnwrapDefaultExport), (0, import_operators.switchMap)(maybeResolveResources), (0, import_operators.tap)((component) => {
3272
+ var _a2;
3273
+ if (this.onLoadEndListener) {
3274
+ this.onLoadEndListener(route);
3275
+ }
3276
+ (typeof ngDevMode === "undefined" || ngDevMode) && assertStandalone((_a2 = route.path) != null ? _a2 : "", component);
3277
+ route._loadedComponent = component;
3278
+ }), (0, import_operators.finalize)(() => {
3279
+ this.componentLoaders.delete(route);
3280
+ }));
3281
+ const loader = new import_rxjs.ConnectableObservable(loadRunner, () => new import_rxjs.Subject()).pipe((0, import_operators.refCount)());
3282
+ this.componentLoaders.set(route, loader);
3283
+ return loader;
3284
+ }
3285
+ loadChildren(parentInjector, route) {
3286
+ if (this.childrenLoaders.get(route)) {
3287
+ return this.childrenLoaders.get(route);
3288
+ } else if (route._loadedRoutes) {
3289
+ return (0, import_rxjs.of)({ routes: route._loadedRoutes, injector: route._loadedInjector });
3290
+ }
3291
+ if (this.onLoadStartListener) {
3292
+ this.onLoadStartListener(route);
3293
+ }
3294
+ const moduleFactoryOrRoutes$ = loadChildren(route, this.compiler, parentInjector, this.onLoadEndListener);
3295
+ const loadRunner = moduleFactoryOrRoutes$.pipe((0, import_operators.finalize)(() => {
3296
+ this.childrenLoaders.delete(route);
3297
+ }));
3298
+ const loader = new import_rxjs.ConnectableObservable(loadRunner, () => new import_rxjs.Subject()).pipe((0, import_operators.refCount)());
3299
+ this.childrenLoaders.set(route, loader);
3300
+ return loader;
3301
+ }
3302
+ };
3303
+ __publicField(_RouterConfigLoader, "\u0275fac", i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _RouterConfigLoader, deps: [], target: i0.\u0275\u0275FactoryTarget.Injectable }));
3304
+ __publicField(_RouterConfigLoader, "\u0275prov", i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _RouterConfigLoader, providedIn: "root" }));
3305
+ let RouterConfigLoader = _RouterConfigLoader;
3306
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RouterConfigLoader, decorators: [{
3307
+ type: import_core.Injectable,
3308
+ args: [{ providedIn: "root" }]
3309
+ }] });
3310
+ function loadChildren(route, compiler, parentInjector, onLoadEndListener) {
3311
+ return wrapIntoObservable((0, import_core.runInInjectionContext)(parentInjector, () => route.loadChildren())).pipe((0, import_operators.map)(maybeUnwrapDefaultExport), (0, import_operators.switchMap)(maybeResolveResources), (0, import_operators.mergeMap)((t) => {
3312
+ if (t instanceof import_core.NgModuleFactory || Array.isArray(t)) {
3313
+ return (0, import_rxjs.of)(t);
3314
+ } else {
3315
+ return (0, import_rxjs.from)(compiler.compileModuleAsync(t));
3316
+ }
3317
+ }), (0, import_operators.map)((factoryOrRoutes) => {
3318
+ if (onLoadEndListener) {
3319
+ onLoadEndListener(route);
3320
+ }
3321
+ let injector;
3322
+ let rawRoutes;
3323
+ let requireStandaloneComponents = false;
3324
+ if (Array.isArray(factoryOrRoutes)) {
3325
+ rawRoutes = factoryOrRoutes;
3326
+ requireStandaloneComponents = true;
3327
+ } else {
3328
+ injector = factoryOrRoutes.create(parentInjector).injector;
3329
+ rawRoutes = injector.get(ROUTES, [], { optional: true, self: true }).flat();
3330
+ }
3331
+ const routes = rawRoutes.map(standardizeConfig);
3332
+ (typeof ngDevMode === "undefined" || ngDevMode) && validateConfig(routes, route.path, requireStandaloneComponents);
3333
+ return { routes, injector };
3334
+ }));
3335
+ }
3336
+ function isWrappedDefaultExport(value) {
3337
+ return value && typeof value === "object" && "default" in value;
3338
+ }
3339
+ function maybeUnwrapDefaultExport(input2) {
3340
+ return isWrappedDefaultExport(input2) ? input2["default"] : input2;
3341
+ }
3342
+ function maybeResolveResources(value) {
3343
+ if ((typeof ngJitMode === "undefined" || ngJitMode) && typeof fetch === "function") {
3344
+ return (0, import_core.\u0275resolveComponentResources)(fetch).catch((error) => {
3345
+ console.error(error);
3346
+ return Promise.resolve();
3347
+ }).then(() => value);
3348
+ }
3349
+ return (0, import_rxjs.of)(value);
3350
+ }
3351
+ const _UrlHandlingStrategy = class _UrlHandlingStrategy {
3352
+ };
3353
+ __publicField(_UrlHandlingStrategy, "\u0275fac", i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _UrlHandlingStrategy, deps: [], target: i0.\u0275\u0275FactoryTarget.Injectable }));
3354
+ __publicField(_UrlHandlingStrategy, "\u0275prov", i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _UrlHandlingStrategy, providedIn: "root", useFactory: () => (0, import_core.inject)(DefaultUrlHandlingStrategy) }));
3355
+ let UrlHandlingStrategy = _UrlHandlingStrategy;
3356
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
3357
+ type: import_core.Injectable,
3358
+ args: [{ providedIn: "root", useFactory: () => (0, import_core.inject)(DefaultUrlHandlingStrategy) }]
3359
+ }] });
3360
+ const _DefaultUrlHandlingStrategy = class _DefaultUrlHandlingStrategy {
3361
+ shouldProcessUrl(url) {
3362
+ return true;
3363
+ }
3364
+ extract(url) {
3365
+ return url;
3366
+ }
3367
+ merge(newUrlPart, wholeUrl) {
3368
+ return newUrlPart;
3369
+ }
3370
+ };
3371
+ __publicField(_DefaultUrlHandlingStrategy, "\u0275fac", i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _DefaultUrlHandlingStrategy, deps: [], target: i0.\u0275\u0275FactoryTarget.Injectable }));
3372
+ __publicField(_DefaultUrlHandlingStrategy, "\u0275prov", i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _DefaultUrlHandlingStrategy, providedIn: "root" }));
3373
+ let DefaultUrlHandlingStrategy = _DefaultUrlHandlingStrategy;
3374
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
3375
+ type: import_core.Injectable,
3376
+ args: [{ providedIn: "root" }]
3377
+ }] });
3378
+ const CREATE_VIEW_TRANSITION = new import_core.InjectionToken(ngDevMode ? "view transition helper" : "");
3379
+ const VIEW_TRANSITION_OPTIONS = new import_core.InjectionToken(ngDevMode ? "view transition options" : "");
3380
+ function createViewTransition(injector, from2, to) {
3381
+ const transitionOptions = injector.get(VIEW_TRANSITION_OPTIONS);
3382
+ const document = injector.get(import_common.DOCUMENT);
3383
+ if (!document.startViewTransition || transitionOptions.skipNextTransition) {
3384
+ transitionOptions.skipNextTransition = false;
3385
+ return new Promise((resolve) => setTimeout(resolve));
3386
+ }
3387
+ let resolveViewTransitionStarted;
3388
+ const viewTransitionStarted = new Promise((resolve) => {
3389
+ resolveViewTransitionStarted = resolve;
3390
+ });
3391
+ const transition = document.startViewTransition(() => {
3392
+ resolveViewTransitionStarted();
3393
+ return createRenderPromise(injector);
3394
+ });
3395
+ transition.ready.catch((error) => {
3396
+ if (typeof ngDevMode === "undefined" || ngDevMode) {
3397
+ console.error(error);
3398
+ }
3399
+ });
3400
+ const { onViewTransitionCreated } = transitionOptions;
3401
+ if (onViewTransitionCreated) {
3402
+ (0, import_core.runInInjectionContext)(injector, () => onViewTransitionCreated({ transition, from: from2, to }));
3403
+ }
3404
+ return viewTransitionStarted;
3405
+ }
3406
+ function createRenderPromise(injector) {
3407
+ return new Promise((resolve) => {
3408
+ (0, import_core.afterNextRender)({ read: () => setTimeout(resolve) }, { injector });
3409
+ });
3410
+ }
3411
+ const NAVIGATION_ERROR_HANDLER = new import_core.InjectionToken(typeof ngDevMode === "undefined" || ngDevMode ? "navigation error handler" : "");
3412
+ const _NavigationTransitions = class _NavigationTransitions {
3413
+ constructor() {
3414
+ // Some G3 targets expect the navigation object to be mutated (and not getting a new reference on changes).
3415
+ __publicField(this, "currentNavigation", (0, import_core.signal)(null, ...ngDevMode ? [{ debugName: "currentNavigation", equal: () => false }] : [{ equal: () => false }]));
3416
+ __publicField(this, "currentTransition", null);
3417
+ __publicField(this, "lastSuccessfulNavigation", null);
3418
+ /**
3419
+ * These events are used to communicate back to the Router about the state of the transition. The
3420
+ * Router wants to respond to these events in various ways. Because the `NavigationTransition`
3421
+ * class is not public, this event subject is not publicly exposed.
3422
+ */
3423
+ __publicField(this, "events", new import_rxjs.Subject());
3424
+ /**
3425
+ * Used to abort the current transition with an error.
3426
+ */
3427
+ __publicField(this, "transitionAbortWithErrorSubject", new import_rxjs.Subject());
3428
+ __publicField(this, "configLoader", (0, import_core.inject)(RouterConfigLoader));
3429
+ __publicField(this, "environmentInjector", (0, import_core.inject)(import_core.EnvironmentInjector));
3430
+ __publicField(this, "destroyRef", (0, import_core.inject)(import_core.DestroyRef));
3431
+ __publicField(this, "urlSerializer", (0, import_core.inject)(UrlSerializer));
3432
+ __publicField(this, "rootContexts", (0, import_core.inject)(ChildrenOutletContexts));
3433
+ __publicField(this, "location", (0, import_core.inject)(import_common.Location));
3434
+ __publicField(this, "inputBindingEnabled", (0, import_core.inject)(INPUT_BINDER, { optional: true }) !== null);
3435
+ __publicField(this, "titleStrategy", (0, import_core.inject)(TitleStrategy));
3436
+ __publicField(this, "options", (0, import_core.inject)(ROUTER_CONFIGURATION, { optional: true }) || {});
3437
+ __publicField(this, "paramsInheritanceStrategy", this.options.paramsInheritanceStrategy || "emptyOnly");
3438
+ __publicField(this, "urlHandlingStrategy", (0, import_core.inject)(UrlHandlingStrategy));
3439
+ __publicField(this, "createViewTransition", (0, import_core.inject)(CREATE_VIEW_TRANSITION, { optional: true }));
3440
+ __publicField(this, "navigationErrorHandler", (0, import_core.inject)(NAVIGATION_ERROR_HANDLER, { optional: true }));
3441
+ __publicField(this, "navigationId", 0);
3442
+ __publicField(this, "transitions");
3443
+ /**
3444
+ * Hook that enables you to pause navigation after the preactivation phase.
3445
+ * Used by `RouterModule`.
3446
+ *
3447
+ * @internal
3448
+ */
3449
+ __publicField(this, "afterPreactivation", () => (0, import_rxjs.of)(void 0));
3450
+ /** @internal */
3451
+ __publicField(this, "rootComponentType", null);
3452
+ __publicField(this, "destroyed", false);
3453
+ const onLoadStart = (r) => this.events.next(new RouteConfigLoadStart(r));
3454
+ const onLoadEnd = (r) => this.events.next(new RouteConfigLoadEnd(r));
3455
+ this.configLoader.onLoadEndListener = onLoadEnd;
3456
+ this.configLoader.onLoadStartListener = onLoadStart;
3457
+ this.destroyRef.onDestroy(() => {
3458
+ this.destroyed = true;
3459
+ });
3460
+ }
3461
+ get hasRequestedNavigation() {
3462
+ return this.navigationId !== 0;
3463
+ }
3464
+ complete() {
3465
+ var _a2;
3466
+ (_a2 = this.transitions) == null ? void 0 : _a2.complete();
3467
+ }
3468
+ handleNavigationRequest(request) {
3469
+ const id = ++this.navigationId;
3470
+ (0, import_core.untracked)(() => {
3471
+ var _a2;
3472
+ (_a2 = this.transitions) == null ? void 0 : _a2.next(__spreadProps(__spreadValues({}, request), {
3473
+ extractedUrl: this.urlHandlingStrategy.extract(request.rawUrl),
3474
+ targetSnapshot: null,
3475
+ targetRouterState: null,
3476
+ guards: { canActivateChecks: [], canDeactivateChecks: [] },
3477
+ guardsResult: null,
3478
+ abortController: new AbortController(),
3479
+ id
3480
+ }));
3481
+ });
3482
+ }
3483
+ setupNavigations(router) {
3484
+ this.transitions = new import_rxjs.BehaviorSubject(null);
3485
+ return this.transitions.pipe(
3486
+ (0, import_operators.filter)((t) => t !== null),
3487
+ // Using switchMap so we cancel executing navigations when a new one comes in
3488
+ (0, import_operators.switchMap)((overallTransitionState) => {
3489
+ let completedOrAborted = false;
3490
+ return (0, import_rxjs.of)(overallTransitionState).pipe(
3491
+ (0, import_operators.switchMap)((t) => {
3492
+ var _a2;
3493
+ if (this.navigationId > overallTransitionState.id) {
3494
+ const cancellationReason = typeof ngDevMode === "undefined" || ngDevMode ? `Navigation ID ${overallTransitionState.id} is not equal to the current navigation id ${this.navigationId}` : "";
3495
+ this.cancelNavigationTransition(overallTransitionState, cancellationReason, NavigationCancellationCode.SupersededByNewNavigation);
3496
+ return import_rxjs.EMPTY;
3497
+ }
3498
+ this.currentTransition = overallTransitionState;
3499
+ this.currentNavigation.set({
3500
+ id: t.id,
3501
+ initialUrl: t.rawUrl,
3502
+ extractedUrl: t.extractedUrl,
3503
+ targetBrowserUrl: typeof t.extras.browserUrl === "string" ? this.urlSerializer.parse(t.extras.browserUrl) : t.extras.browserUrl,
3504
+ trigger: t.source,
3505
+ extras: t.extras,
3506
+ previousNavigation: !this.lastSuccessfulNavigation ? null : __spreadProps(__spreadValues({}, this.lastSuccessfulNavigation), {
3507
+ previousNavigation: null
3508
+ }),
3509
+ abort: () => t.abortController.abort()
3510
+ });
3511
+ const urlTransition = !router.navigated || this.isUpdatingInternalState() || this.isUpdatedBrowserUrl();
3512
+ const onSameUrlNavigation = (_a2 = t.extras.onSameUrlNavigation) != null ? _a2 : router.onSameUrlNavigation;
3513
+ if (!urlTransition && onSameUrlNavigation !== "reload") {
3514
+ const reason = typeof ngDevMode === "undefined" || ngDevMode ? `Navigation to ${t.rawUrl} was ignored because it is the same as the current Router URL.` : "";
3515
+ this.events.next(new NavigationSkipped(t.id, this.urlSerializer.serialize(t.rawUrl), reason, NavigationSkippedCode.IgnoredSameUrlNavigation));
3516
+ t.resolve(false);
3517
+ return import_rxjs.EMPTY;
3518
+ }
3519
+ if (this.urlHandlingStrategy.shouldProcessUrl(t.rawUrl)) {
3520
+ return (0, import_rxjs.of)(t).pipe(
3521
+ // Fire NavigationStart event
3522
+ (0, import_operators.switchMap)((t2) => {
3523
+ this.events.next(new NavigationStart(t2.id, this.urlSerializer.serialize(t2.extractedUrl), t2.source, t2.restoredState));
3524
+ if (t2.id !== this.navigationId) {
3525
+ return import_rxjs.EMPTY;
3526
+ }
3527
+ return Promise.resolve(t2);
3528
+ }),
3529
+ // Recognize
3530
+ recognize(this.environmentInjector, this.configLoader, this.rootComponentType, router.config, this.urlSerializer, this.paramsInheritanceStrategy),
3531
+ // Update URL if in `eager` update mode
3532
+ (0, import_operators.tap)((t2) => {
3533
+ overallTransitionState.targetSnapshot = t2.targetSnapshot;
3534
+ overallTransitionState.urlAfterRedirects = t2.urlAfterRedirects;
3535
+ this.currentNavigation.update((nav) => {
3536
+ nav.finalUrl = t2.urlAfterRedirects;
3537
+ return nav;
3538
+ });
3539
+ const routesRecognized = new RoutesRecognized(t2.id, this.urlSerializer.serialize(t2.extractedUrl), this.urlSerializer.serialize(t2.urlAfterRedirects), t2.targetSnapshot);
3540
+ this.events.next(routesRecognized);
3541
+ })
3542
+ );
3543
+ } else if (urlTransition && this.urlHandlingStrategy.shouldProcessUrl(t.currentRawUrl)) {
3544
+ const { id, extractedUrl, source, restoredState, extras } = t;
3545
+ const navStart = new NavigationStart(id, this.urlSerializer.serialize(extractedUrl), source, restoredState);
3546
+ this.events.next(navStart);
3547
+ const targetSnapshot = createEmptyState(this.rootComponentType).snapshot;
3548
+ this.currentTransition = overallTransitionState = __spreadProps(__spreadValues({}, t), {
3549
+ targetSnapshot,
3550
+ urlAfterRedirects: extractedUrl,
3551
+ extras: __spreadProps(__spreadValues({}, extras), { skipLocationChange: false, replaceUrl: false })
3552
+ });
3553
+ this.currentNavigation.update((nav) => {
3554
+ nav.finalUrl = extractedUrl;
3555
+ return nav;
3556
+ });
3557
+ return (0, import_rxjs.of)(overallTransitionState);
3558
+ } else {
3559
+ const reason = typeof ngDevMode === "undefined" || ngDevMode ? `Navigation was ignored because the UrlHandlingStrategy indicated neither the current URL ${t.currentRawUrl} nor target URL ${t.rawUrl} should be processed.` : "";
3560
+ this.events.next(new NavigationSkipped(t.id, this.urlSerializer.serialize(t.extractedUrl), reason, NavigationSkippedCode.IgnoredByUrlHandlingStrategy));
3561
+ t.resolve(false);
3562
+ return import_rxjs.EMPTY;
3563
+ }
3564
+ }),
3565
+ // --- GUARDS ---
3566
+ (0, import_operators.tap)((t) => {
3567
+ const guardsStart = new GuardsCheckStart(t.id, this.urlSerializer.serialize(t.extractedUrl), this.urlSerializer.serialize(t.urlAfterRedirects), t.targetSnapshot);
3568
+ this.events.next(guardsStart);
3569
+ }),
3570
+ (0, import_operators.map)((t) => {
3571
+ this.currentTransition = overallTransitionState = __spreadProps(__spreadValues({}, t), {
3572
+ guards: getAllRouteGuards(t.targetSnapshot, t.currentSnapshot, this.rootContexts)
3573
+ });
3574
+ return overallTransitionState;
3575
+ }),
3576
+ checkGuards(this.environmentInjector, (evt) => this.events.next(evt)),
3577
+ (0, import_operators.tap)((t) => {
3578
+ overallTransitionState.guardsResult = t.guardsResult;
3579
+ if (t.guardsResult && typeof t.guardsResult !== "boolean") {
3580
+ throw redirectingNavigationError(this.urlSerializer, t.guardsResult);
3581
+ }
3582
+ const guardsEnd = new GuardsCheckEnd(t.id, this.urlSerializer.serialize(t.extractedUrl), this.urlSerializer.serialize(t.urlAfterRedirects), t.targetSnapshot, !!t.guardsResult);
3583
+ this.events.next(guardsEnd);
3584
+ }),
3585
+ (0, import_operators.filter)((t) => {
3586
+ if (!t.guardsResult) {
3587
+ this.cancelNavigationTransition(t, "", NavigationCancellationCode.GuardRejected);
3588
+ return false;
3589
+ }
3590
+ return true;
3591
+ }),
3592
+ // --- RESOLVE ---
3593
+ switchTap((t) => {
3594
+ if (t.guards.canActivateChecks.length === 0) {
3595
+ return void 0;
3596
+ }
3597
+ return (0, import_rxjs.of)(t).pipe((0, import_operators.tap)((t2) => {
3598
+ const resolveStart = new ResolveStart(t2.id, this.urlSerializer.serialize(t2.extractedUrl), this.urlSerializer.serialize(t2.urlAfterRedirects), t2.targetSnapshot);
3599
+ this.events.next(resolveStart);
3600
+ }), (0, import_operators.switchMap)((t2) => {
3601
+ let dataResolved = false;
3602
+ return (0, import_rxjs.of)(t2).pipe(resolveData(this.paramsInheritanceStrategy, this.environmentInjector), (0, import_operators.tap)({
3603
+ next: () => dataResolved = true,
3604
+ complete: () => {
3605
+ if (!dataResolved) {
3606
+ this.cancelNavigationTransition(t2, typeof ngDevMode === "undefined" || ngDevMode ? `At least one route resolver didn't emit any value.` : "", NavigationCancellationCode.NoDataFromResolver);
3607
+ }
3608
+ }
3609
+ }));
3610
+ }), (0, import_operators.tap)((t2) => {
3611
+ const resolveEnd = new ResolveEnd(t2.id, this.urlSerializer.serialize(t2.extractedUrl), this.urlSerializer.serialize(t2.urlAfterRedirects), t2.targetSnapshot);
3612
+ this.events.next(resolveEnd);
3613
+ }));
3614
+ }),
3615
+ // --- LOAD COMPONENTS ---
3616
+ switchTap((t) => {
3617
+ const loadComponents = (route) => {
3618
+ var _a2, _b2;
3619
+ const loaders = [];
3620
+ if ((_a2 = route.routeConfig) == null ? void 0 : _a2.loadComponent) {
3621
+ const injector = (_b2 = getClosestRouteInjector(route)) != null ? _b2 : this.environmentInjector;
3622
+ loaders.push(this.configLoader.loadComponent(injector, route.routeConfig).pipe((0, import_operators.tap)((loadedComponent) => {
3623
+ route.component = loadedComponent;
3624
+ }), (0, import_operators.map)(() => void 0)));
3625
+ }
3626
+ for (const child of route.children) {
3627
+ loaders.push(...loadComponents(child));
3628
+ }
3629
+ return loaders;
3630
+ };
3631
+ return (0, import_rxjs.combineLatest)(loadComponents(t.targetSnapshot.root)).pipe((0, import_operators.defaultIfEmpty)(null), (0, import_operators.take)(1));
3632
+ }),
3633
+ switchTap(() => this.afterPreactivation()),
3634
+ (0, import_operators.switchMap)(() => {
3635
+ var _a2;
3636
+ const { currentSnapshot, targetSnapshot } = overallTransitionState;
3637
+ const viewTransitionStarted = (_a2 = this.createViewTransition) == null ? void 0 : _a2.call(this, this.environmentInjector, currentSnapshot.root, targetSnapshot.root);
3638
+ return viewTransitionStarted ? (0, import_rxjs.from)(viewTransitionStarted).pipe((0, import_operators.map)(() => overallTransitionState)) : (0, import_rxjs.of)(overallTransitionState);
3639
+ }),
3640
+ (0, import_operators.map)((t) => {
3641
+ const targetRouterState = createRouterState(router.routeReuseStrategy, t.targetSnapshot, t.currentRouterState);
3642
+ this.currentTransition = overallTransitionState = __spreadProps(__spreadValues({}, t), { targetRouterState });
3643
+ this.currentNavigation.update((nav) => {
3644
+ nav.targetRouterState = targetRouterState;
3645
+ return nav;
3646
+ });
3647
+ return overallTransitionState;
3648
+ }),
3649
+ (0, import_operators.tap)(() => {
3650
+ this.events.next(new BeforeActivateRoutes());
3651
+ }),
3652
+ activateRoutes(this.rootContexts, router.routeReuseStrategy, (evt) => this.events.next(evt), this.inputBindingEnabled),
3653
+ // Ensure that if some observable used to drive the transition doesn't
3654
+ // complete, the navigation still finalizes This should never happen, but
3655
+ // this is done as a safety measure to avoid surfacing this error (#49567).
3656
+ (0, import_operators.take)(1),
3657
+ (0, import_operators.takeUntil)(new import_rxjs.Observable((subscriber) => {
3658
+ const abortSignal = overallTransitionState.abortController.signal;
3659
+ const handler = () => subscriber.next();
3660
+ abortSignal.addEventListener("abort", handler);
3661
+ return () => abortSignal.removeEventListener("abort", handler);
3662
+ }).pipe(
3663
+ // Ignore aborts if we are already completed, canceled, or are in the activation stage (we have targetRouterState)
3664
+ (0, import_operators.filter)(() => !completedOrAborted && !overallTransitionState.targetRouterState),
3665
+ (0, import_operators.tap)(() => {
3666
+ this.cancelNavigationTransition(overallTransitionState, overallTransitionState.abortController.signal.reason + "", NavigationCancellationCode.Aborted);
3667
+ })
3668
+ )),
3669
+ (0, import_operators.tap)({
3670
+ next: (t) => {
3671
+ var _a2;
3672
+ completedOrAborted = true;
3673
+ this.lastSuccessfulNavigation = (0, import_core.untracked)(this.currentNavigation);
3674
+ this.events.next(new NavigationEnd(t.id, this.urlSerializer.serialize(t.extractedUrl), this.urlSerializer.serialize(t.urlAfterRedirects)));
3675
+ (_a2 = this.titleStrategy) == null ? void 0 : _a2.updateTitle(t.targetRouterState.snapshot);
3676
+ t.resolve(true);
3677
+ },
3678
+ complete: () => {
3679
+ completedOrAborted = true;
3680
+ }
3681
+ }),
3682
+ // There used to be a lot more logic happening directly within the
3683
+ // transition Observable. Some of this logic has been refactored out to
3684
+ // other places but there may still be errors that happen there. This gives
3685
+ // us a way to cancel the transition from the outside. This may also be
3686
+ // required in the future to support something like the abort signal of the
3687
+ // Navigation API where the navigation gets aborted from outside the
3688
+ // transition.
3689
+ (0, import_operators.takeUntil)(this.transitionAbortWithErrorSubject.pipe((0, import_operators.tap)((err) => {
3690
+ throw err;
3691
+ }))),
3692
+ (0, import_operators.finalize)(() => {
3693
+ var _a2;
3694
+ if (!completedOrAborted) {
3695
+ const cancelationReason = typeof ngDevMode === "undefined" || ngDevMode ? `Navigation ID ${overallTransitionState.id} is not equal to the current navigation id ${this.navigationId}` : "";
3696
+ this.cancelNavigationTransition(overallTransitionState, cancelationReason, NavigationCancellationCode.SupersededByNewNavigation);
3697
+ }
3698
+ if (((_a2 = this.currentTransition) == null ? void 0 : _a2.id) === overallTransitionState.id) {
3699
+ this.currentNavigation.set(null);
3700
+ this.currentTransition = null;
3701
+ }
3702
+ }),
3703
+ (0, import_operators.catchError)((e) => {
3704
+ var _a2;
3705
+ if (this.destroyed) {
3706
+ overallTransitionState.resolve(false);
3707
+ return import_rxjs.EMPTY;
3708
+ }
3709
+ completedOrAborted = true;
3710
+ if (isNavigationCancelingError(e)) {
3711
+ this.events.next(new NavigationCancel(overallTransitionState.id, this.urlSerializer.serialize(overallTransitionState.extractedUrl), e.message, e.cancellationCode));
3712
+ if (!isRedirectingNavigationCancelingError(e)) {
3713
+ overallTransitionState.resolve(false);
3714
+ } else {
3715
+ this.events.next(new RedirectRequest(e.url, e.navigationBehaviorOptions));
3716
+ }
3717
+ } else {
3718
+ const navigationError = new NavigationError(overallTransitionState.id, this.urlSerializer.serialize(overallTransitionState.extractedUrl), e, (_a2 = overallTransitionState.targetSnapshot) != null ? _a2 : void 0);
3719
+ try {
3720
+ const navigationErrorHandlerResult = (0, import_core.runInInjectionContext)(this.environmentInjector, () => {
3721
+ var _a3;
3722
+ return (_a3 = this.navigationErrorHandler) == null ? void 0 : _a3.call(this, navigationError);
3723
+ });
3724
+ if (navigationErrorHandlerResult instanceof RedirectCommand) {
3725
+ const { message, cancellationCode } = redirectingNavigationError(this.urlSerializer, navigationErrorHandlerResult);
3726
+ this.events.next(new NavigationCancel(overallTransitionState.id, this.urlSerializer.serialize(overallTransitionState.extractedUrl), message, cancellationCode));
3727
+ this.events.next(new RedirectRequest(navigationErrorHandlerResult.redirectTo, navigationErrorHandlerResult.navigationBehaviorOptions));
3728
+ } else {
3729
+ this.events.next(navigationError);
3730
+ throw e;
3731
+ }
3732
+ } catch (ee) {
3733
+ if (this.options.resolveNavigationPromiseOnError) {
3734
+ overallTransitionState.resolve(false);
3735
+ } else {
3736
+ overallTransitionState.reject(ee);
3737
+ }
3738
+ }
3739
+ }
3740
+ return import_rxjs.EMPTY;
3741
+ })
3742
+ );
3743
+ })
3744
+ );
3745
+ }
3746
+ cancelNavigationTransition(t, reason, code) {
3747
+ const navCancel = new NavigationCancel(t.id, this.urlSerializer.serialize(t.extractedUrl), reason, code);
3748
+ this.events.next(navCancel);
3749
+ t.resolve(false);
3750
+ }
3751
+ /**
3752
+ * @returns Whether we're navigating to somewhere that is not what the Router is
3753
+ * currently set to.
3754
+ */
3755
+ isUpdatingInternalState() {
3756
+ var _a2, _b2;
3757
+ return ((_a2 = this.currentTransition) == null ? void 0 : _a2.extractedUrl.toString()) !== ((_b2 = this.currentTransition) == null ? void 0 : _b2.currentUrlTree.toString());
3758
+ }
3759
+ /**
3760
+ * @returns Whether we're updating the browser URL to something new (navigation is going
3761
+ * to somewhere not displayed in the URL bar and we will update the URL
3762
+ * bar if navigation succeeds).
3763
+ */
3764
+ isUpdatedBrowserUrl() {
3765
+ var _a2;
3766
+ const currentBrowserUrl = this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(true)));
3767
+ const currentNavigation = (0, import_core.untracked)(this.currentNavigation);
3768
+ const targetBrowserUrl = (_a2 = currentNavigation == null ? void 0 : currentNavigation.targetBrowserUrl) != null ? _a2 : currentNavigation == null ? void 0 : currentNavigation.extractedUrl;
3769
+ return currentBrowserUrl.toString() !== (targetBrowserUrl == null ? void 0 : targetBrowserUrl.toString()) && !(currentNavigation == null ? void 0 : currentNavigation.extras.skipLocationChange);
3770
+ }
3771
+ };
3772
+ __publicField(_NavigationTransitions, "\u0275fac", i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _NavigationTransitions, deps: [], target: i0.\u0275\u0275FactoryTarget.Injectable }));
3773
+ __publicField(_NavigationTransitions, "\u0275prov", i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _NavigationTransitions, providedIn: "root" }));
3774
+ let NavigationTransitions = _NavigationTransitions;
3775
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NavigationTransitions, decorators: [{
3776
+ type: import_core.Injectable,
3777
+ args: [{ providedIn: "root" }]
3778
+ }], ctorParameters: () => [] });
3779
+ function isBrowserTriggeredNavigation(source) {
3780
+ return source !== IMPERATIVE_NAVIGATION;
3781
+ }
3782
+ const _RouteReuseStrategy = class _RouteReuseStrategy {
3783
+ };
3784
+ __publicField(_RouteReuseStrategy, "\u0275fac", i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _RouteReuseStrategy, deps: [], target: i0.\u0275\u0275FactoryTarget.Injectable }));
3785
+ __publicField(_RouteReuseStrategy, "\u0275prov", i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _RouteReuseStrategy, providedIn: "root", useFactory: () => (0, import_core.inject)(DefaultRouteReuseStrategy) }));
3786
+ let RouteReuseStrategy = _RouteReuseStrategy;
3787
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RouteReuseStrategy, decorators: [{
3788
+ type: import_core.Injectable,
3789
+ args: [{ providedIn: "root", useFactory: () => (0, import_core.inject)(DefaultRouteReuseStrategy) }]
3790
+ }] });
3791
+ class BaseRouteReuseStrategy {
3792
+ /**
3793
+ * Whether the given route should detach for later reuse.
3794
+ * Always returns false for `BaseRouteReuseStrategy`.
3795
+ * */
3796
+ shouldDetach(route) {
3797
+ return false;
3798
+ }
3799
+ /**
3800
+ * A no-op; the route is never stored since this strategy never detaches routes for later re-use.
3801
+ */
3802
+ store(route, detachedTree) {
3803
+ }
3804
+ /** Returns `false`, meaning the route (and its subtree) is never reattached */
3805
+ shouldAttach(route) {
3806
+ return false;
3807
+ }
3808
+ /** Returns `null` because this strategy does not store routes for later re-use. */
3809
+ retrieve(route) {
3810
+ return null;
3811
+ }
3812
+ /**
3813
+ * Determines if a route should be reused.
3814
+ * This strategy returns `true` when the future route config and current route config are
3815
+ * identical.
3816
+ */
3817
+ shouldReuseRoute(future, curr) {
3818
+ return future.routeConfig === curr.routeConfig;
3819
+ }
3820
+ }
3821
+ const _DefaultRouteReuseStrategy = class _DefaultRouteReuseStrategy extends BaseRouteReuseStrategy {
3822
+ };
3823
+ __publicField(_DefaultRouteReuseStrategy, "\u0275fac", i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _DefaultRouteReuseStrategy, deps: null, target: i0.\u0275\u0275FactoryTarget.Injectable }));
3824
+ __publicField(_DefaultRouteReuseStrategy, "\u0275prov", i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _DefaultRouteReuseStrategy, providedIn: "root" }));
3825
+ let DefaultRouteReuseStrategy = _DefaultRouteReuseStrategy;
3826
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
3827
+ type: import_core.Injectable,
3828
+ args: [{ providedIn: "root" }]
3829
+ }] });
3830
+ const _StateManager = class _StateManager {
3831
+ constructor() {
3832
+ __publicField(this, "urlSerializer", (0, import_core.inject)(UrlSerializer));
3833
+ __publicField(this, "options", (0, import_core.inject)(ROUTER_CONFIGURATION, { optional: true }) || {});
3834
+ __publicField(this, "canceledNavigationResolution", this.options.canceledNavigationResolution || "replace");
3835
+ __publicField(this, "location", (0, import_core.inject)(import_common.Location));
3836
+ __publicField(this, "urlHandlingStrategy", (0, import_core.inject)(UrlHandlingStrategy));
3837
+ __publicField(this, "urlUpdateStrategy", this.options.urlUpdateStrategy || "deferred");
3838
+ __publicField(this, "currentUrlTree", new UrlTree());
3839
+ __publicField(this, "rawUrlTree", this.currentUrlTree);
3840
+ __publicField(this, "routerState", createEmptyState(null));
3841
+ __publicField(this, "stateMemento", this.createStateMemento());
3842
+ }
3843
+ /**
3844
+ * Returns the currently activated `UrlTree`.
3845
+ *
3846
+ * This `UrlTree` shows only URLs that the `Router` is configured to handle (through
3847
+ * `UrlHandlingStrategy`).
3848
+ *
3849
+ * The value is set after finding the route config tree to activate but before activating the
3850
+ * route.
3851
+ */
3852
+ getCurrentUrlTree() {
3853
+ return this.currentUrlTree;
3854
+ }
3855
+ /**
3856
+ * Returns a `UrlTree` that is represents what the browser is actually showing.
3857
+ *
3858
+ * In the life of a navigation transition:
3859
+ * 1. When a navigation begins, the raw `UrlTree` is updated to the full URL that's being
3860
+ * navigated to.
3861
+ * 2. During a navigation, redirects are applied, which might only apply to _part_ of the URL (due
3862
+ * to `UrlHandlingStrategy`).
3863
+ * 3. Just before activation, the raw `UrlTree` is updated to include the redirects on top of the
3864
+ * original raw URL.
3865
+ *
3866
+ * Note that this is _only_ here to support `UrlHandlingStrategy.extract` and
3867
+ * `UrlHandlingStrategy.shouldProcessUrl`. Without those APIs, the current `UrlTree` would not
3868
+ * deviated from the raw `UrlTree`.
3869
+ *
3870
+ * For `extract`, a raw `UrlTree` is needed because `extract` may only return part
3871
+ * of the navigation URL. Thus, the current `UrlTree` may only represent _part_ of the browser
3872
+ * URL. When a navigation gets cancelled and the router needs to reset the URL or a new navigation
3873
+ * occurs, it needs to know the _whole_ browser URL, not just the part handled by
3874
+ * `UrlHandlingStrategy`.
3875
+ * For `shouldProcessUrl`, when the return is `false`, the router ignores the navigation but
3876
+ * still updates the raw `UrlTree` with the assumption that the navigation was caused by the
3877
+ * location change listener due to a URL update by the AngularJS router. In this case, the router
3878
+ * still need to know what the browser's URL is for future navigations.
3879
+ */
3880
+ getRawUrlTree() {
3881
+ return this.rawUrlTree;
3882
+ }
3883
+ createBrowserPath({ finalUrl, initialUrl, targetBrowserUrl }) {
3884
+ const rawUrl = finalUrl !== void 0 ? this.urlHandlingStrategy.merge(finalUrl, initialUrl) : initialUrl;
3885
+ const url = targetBrowserUrl != null ? targetBrowserUrl : rawUrl;
3886
+ const path = url instanceof UrlTree ? this.urlSerializer.serialize(url) : url;
3887
+ return path;
3888
+ }
3889
+ commitTransition({ targetRouterState, finalUrl, initialUrl }) {
3890
+ if (finalUrl && targetRouterState) {
3891
+ this.currentUrlTree = finalUrl;
3892
+ this.rawUrlTree = this.urlHandlingStrategy.merge(finalUrl, initialUrl);
3893
+ this.routerState = targetRouterState;
3894
+ } else {
3895
+ this.rawUrlTree = initialUrl;
3896
+ }
3897
+ }
3898
+ /** Returns the current RouterState. */
3899
+ getRouterState() {
3900
+ return this.routerState;
3901
+ }
3902
+ updateStateMemento() {
3903
+ this.stateMemento = this.createStateMemento();
3904
+ }
3905
+ createStateMemento() {
3906
+ return {
3907
+ rawUrlTree: this.rawUrlTree,
3908
+ currentUrlTree: this.currentUrlTree,
3909
+ routerState: this.routerState
3910
+ };
3911
+ }
3912
+ resetInternalState({ finalUrl }) {
3913
+ this.routerState = this.stateMemento.routerState;
3914
+ this.currentUrlTree = this.stateMemento.currentUrlTree;
3915
+ this.rawUrlTree = this.urlHandlingStrategy.merge(this.currentUrlTree, finalUrl != null ? finalUrl : this.rawUrlTree);
3916
+ }
3917
+ };
3918
+ __publicField(_StateManager, "\u0275fac", i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _StateManager, deps: [], target: i0.\u0275\u0275FactoryTarget.Injectable }));
3919
+ __publicField(_StateManager, "\u0275prov", i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _StateManager, providedIn: "root", useFactory: () => (0, import_core.inject)(HistoryStateManager) }));
3920
+ let StateManager = _StateManager;
3921
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: StateManager, decorators: [{
3922
+ type: import_core.Injectable,
3923
+ args: [{ providedIn: "root", useFactory: () => (0, import_core.inject)(HistoryStateManager) }]
3924
+ }] });
3925
+ const _HistoryStateManager = class _HistoryStateManager extends StateManager {
3926
+ constructor() {
3927
+ super(...arguments);
3928
+ /**
3929
+ * The id of the currently active page in the router.
3930
+ * Updated to the transition's target id on a successful navigation.
3931
+ *
3932
+ * This is used to track what page the router last activated. When an attempted navigation fails,
3933
+ * the router can then use this to compute how to restore the state back to the previously active
3934
+ * page.
3935
+ */
3936
+ __publicField(this, "currentPageId", 0);
3937
+ __publicField(this, "lastSuccessfulId", -1);
3938
+ }
3939
+ restoredState() {
3940
+ return this.location.getState();
3941
+ }
3942
+ /**
3943
+ * The ɵrouterPageId of whatever page is currently active in the browser history. This is
3944
+ * important for computing the target page id for new navigations because we need to ensure each
3945
+ * page id in the browser history is 1 more than the previous entry.
3946
+ */
3947
+ get browserPageId() {
3948
+ var _a2, _b2;
3949
+ if (this.canceledNavigationResolution !== "computed") {
3950
+ return this.currentPageId;
3951
+ }
3952
+ return (_b2 = (_a2 = this.restoredState()) == null ? void 0 : _a2.\u0275routerPageId) != null ? _b2 : this.currentPageId;
3953
+ }
3954
+ registerNonRouterCurrentEntryChangeListener(listener) {
3955
+ return this.location.subscribe((event) => {
3956
+ if (event["type"] === "popstate") {
3957
+ setTimeout(() => {
3958
+ listener(event["url"], event.state, "popstate");
3959
+ });
3960
+ }
3961
+ });
3962
+ }
3963
+ handleRouterEvent(e, currentTransition) {
3964
+ if (e instanceof NavigationStart) {
3965
+ this.updateStateMemento();
3966
+ } else if (e instanceof NavigationSkipped) {
3967
+ this.commitTransition(currentTransition);
3968
+ } else if (e instanceof RoutesRecognized) {
3969
+ if (this.urlUpdateStrategy === "eager") {
3970
+ if (!currentTransition.extras.skipLocationChange) {
3971
+ this.setBrowserUrl(this.createBrowserPath(currentTransition), currentTransition);
3972
+ }
3973
+ }
3974
+ } else if (e instanceof BeforeActivateRoutes) {
3975
+ this.commitTransition(currentTransition);
3976
+ if (this.urlUpdateStrategy === "deferred" && !currentTransition.extras.skipLocationChange) {
3977
+ this.setBrowserUrl(this.createBrowserPath(currentTransition), currentTransition);
3978
+ }
3979
+ } else if (e instanceof NavigationCancel && e.code !== NavigationCancellationCode.SupersededByNewNavigation && e.code !== NavigationCancellationCode.Redirect) {
3980
+ this.restoreHistory(currentTransition);
3981
+ } else if (e instanceof NavigationError) {
3982
+ this.restoreHistory(currentTransition, true);
3983
+ } else if (e instanceof NavigationEnd) {
3984
+ this.lastSuccessfulId = e.id;
3985
+ this.currentPageId = this.browserPageId;
3986
+ }
3987
+ }
3988
+ setBrowserUrl(path, { extras, id }) {
3989
+ const { replaceUrl, state } = extras;
3990
+ if (this.location.isCurrentPathEqualTo(path) || !!replaceUrl) {
3991
+ const currentBrowserPageId = this.browserPageId;
3992
+ const newState = __spreadValues(__spreadValues({}, state), this.generateNgRouterState(id, currentBrowserPageId));
3993
+ this.location.replaceState(path, "", newState);
3994
+ } else {
3995
+ const newState = __spreadValues(__spreadValues({}, state), this.generateNgRouterState(id, this.browserPageId + 1));
3996
+ this.location.go(path, "", newState);
3997
+ }
3998
+ }
3999
+ /**
4000
+ * Performs the necessary rollback action to restore the browser URL to the
4001
+ * state before the transition.
4002
+ */
4003
+ restoreHistory(navigation, restoringFromCaughtError = false) {
4004
+ if (this.canceledNavigationResolution === "computed") {
4005
+ const currentBrowserPageId = this.browserPageId;
4006
+ const targetPagePosition = this.currentPageId - currentBrowserPageId;
4007
+ if (targetPagePosition !== 0) {
4008
+ this.location.historyGo(targetPagePosition);
4009
+ } else if (this.getCurrentUrlTree() === navigation.finalUrl && targetPagePosition === 0) {
4010
+ this.resetInternalState(navigation);
4011
+ this.resetUrlToCurrentUrlTree();
4012
+ } else ;
4013
+ } else if (this.canceledNavigationResolution === "replace") {
4014
+ if (restoringFromCaughtError) {
4015
+ this.resetInternalState(navigation);
4016
+ }
4017
+ this.resetUrlToCurrentUrlTree();
4018
+ }
4019
+ }
4020
+ resetUrlToCurrentUrlTree() {
4021
+ this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()), "", this.generateNgRouterState(this.lastSuccessfulId, this.currentPageId));
4022
+ }
4023
+ generateNgRouterState(navigationId, routerPageId) {
4024
+ if (this.canceledNavigationResolution === "computed") {
4025
+ return { navigationId, \u0275routerPageId: routerPageId };
4026
+ }
4027
+ return { navigationId };
4028
+ }
4029
+ };
4030
+ __publicField(_HistoryStateManager, "\u0275fac", i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _HistoryStateManager, deps: null, target: i0.\u0275\u0275FactoryTarget.Injectable }));
4031
+ __publicField(_HistoryStateManager, "\u0275prov", i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _HistoryStateManager, providedIn: "root" }));
4032
+ let HistoryStateManager = _HistoryStateManager;
4033
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: HistoryStateManager, decorators: [{
4034
+ type: import_core.Injectable,
4035
+ args: [{ providedIn: "root" }]
4036
+ }] });
4037
+ function afterNextNavigation(router, action) {
4038
+ router.events.pipe((0, import_operators.filter)((e) => e instanceof NavigationEnd || e instanceof NavigationCancel || e instanceof NavigationError || e instanceof NavigationSkipped), (0, import_operators.map)((e) => {
4039
+ if (e instanceof NavigationEnd || e instanceof NavigationSkipped) {
4040
+ return 0;
4041
+ }
4042
+ const redirecting = e instanceof NavigationCancel ? e.code === NavigationCancellationCode.Redirect || e.code === NavigationCancellationCode.SupersededByNewNavigation : false;
4043
+ return redirecting ? 2 : 1;
4044
+ }), (0, import_operators.filter)(
4045
+ (result) => result !== 2
4046
+ /* NavigationResult.REDIRECTING */
4047
+ ), (0, import_operators.take)(1)).subscribe(() => {
4048
+ action();
4049
+ });
4050
+ }
4051
+ const exactMatchOptions = {
4052
+ paths: "exact",
4053
+ fragment: "ignored",
4054
+ matrixParams: "ignored",
4055
+ queryParams: "exact"
4056
+ };
4057
+ const subsetMatchOptions = {
4058
+ paths: "subset",
4059
+ fragment: "ignored",
4060
+ matrixParams: "ignored",
4061
+ queryParams: "subset"
4062
+ };
4063
+ const _Router = class _Router {
4064
+ constructor() {
4065
+ __publicField(this, "disposed", false);
4066
+ __publicField(this, "nonRouterCurrentEntryChangeSubscription");
4067
+ __publicField(this, "console", (0, import_core.inject)(import_core.\u0275Console));
4068
+ __publicField(this, "stateManager", (0, import_core.inject)(StateManager));
4069
+ __publicField(this, "options", (0, import_core.inject)(ROUTER_CONFIGURATION, { optional: true }) || {});
4070
+ __publicField(this, "pendingTasks", (0, import_core.inject)(import_core.\u0275PendingTasksInternal));
4071
+ __publicField(this, "urlUpdateStrategy", this.options.urlUpdateStrategy || "deferred");
4072
+ __publicField(this, "navigationTransitions", (0, import_core.inject)(NavigationTransitions));
4073
+ __publicField(this, "urlSerializer", (0, import_core.inject)(UrlSerializer));
4074
+ __publicField(this, "location", (0, import_core.inject)(import_common.Location));
4075
+ __publicField(this, "urlHandlingStrategy", (0, import_core.inject)(UrlHandlingStrategy));
4076
+ __publicField(this, "injector", (0, import_core.inject)(import_core.EnvironmentInjector));
4077
+ /**
4078
+ * The private `Subject` type for the public events exposed in the getter. This is used internally
4079
+ * to push events to. The separate field allows us to expose separate types in the public API
4080
+ * (i.e., an Observable rather than the Subject).
4081
+ */
4082
+ __publicField(this, "_events", new import_rxjs.Subject());
4083
+ /**
4084
+ * True if at least one navigation event has occurred,
4085
+ * false otherwise.
4086
+ */
4087
+ __publicField(this, "navigated", false);
4088
+ /**
4089
+ * A strategy for re-using routes.
4090
+ *
4091
+ * @deprecated Configure using `providers` instead:
4092
+ * `{provide: RouteReuseStrategy, useClass: MyStrategy}`.
4093
+ */
4094
+ __publicField(this, "routeReuseStrategy", (0, import_core.inject)(RouteReuseStrategy));
4095
+ /**
4096
+ * How to handle a navigation request to the current URL.
4097
+ *
4098
+ *
4099
+ * @deprecated Configure this through `provideRouter` or `RouterModule.forRoot` instead.
4100
+ * @see {@link withRouterConfig}
4101
+ * @see {@link provideRouter}
4102
+ * @see {@link RouterModule}
4103
+ */
4104
+ __publicField(this, "onSameUrlNavigation", this.options.onSameUrlNavigation || "ignore");
4105
+ __publicField(this, "config", (_b = (_a = (0, import_core.inject)(ROUTES, { optional: true })) == null ? void 0 : _a.flat()) != null ? _b : []);
4106
+ /**
4107
+ * Indicates whether the application has opted in to binding Router data to component inputs.
4108
+ *
4109
+ * This option is enabled by the `withComponentInputBinding` feature of `provideRouter` or
4110
+ * `bindToComponentInputs` in the `ExtraOptions` of `RouterModule.forRoot`.
4111
+ */
4112
+ __publicField(this, "componentInputBindingEnabled", !!(0, import_core.inject)(INPUT_BINDER, { optional: true }));
4113
+ /**
4114
+ * Signal of the current `Navigation` object when the router is navigating, and `null` when idle.
4115
+ *
4116
+ * Note: The current navigation becomes to null after the NavigationEnd event is emitted.
4117
+ */
4118
+ __publicField(this, "currentNavigation", this.navigationTransitions.currentNavigation.asReadonly());
4119
+ __publicField(this, "eventsSubscription", new import_rxjs.Subscription());
4120
+ this.resetConfig(this.config);
4121
+ this.navigationTransitions.setupNavigations(this).subscribe({
4122
+ error: (e) => {
4123
+ this.console.warn(ngDevMode ? `Unhandled Navigation Error: ${e}` : e);
4124
+ }
4125
+ });
4126
+ this.subscribeToNavigationEvents();
4127
+ }
4128
+ get currentUrlTree() {
4129
+ return this.stateManager.getCurrentUrlTree();
4130
+ }
4131
+ get rawUrlTree() {
4132
+ return this.stateManager.getRawUrlTree();
4133
+ }
4134
+ /**
4135
+ * An event stream for routing events.
4136
+ */
4137
+ get events() {
4138
+ return this._events;
4139
+ }
4140
+ /**
4141
+ * The current state of routing in this NgModule.
4142
+ */
4143
+ get routerState() {
4144
+ return this.stateManager.getRouterState();
4145
+ }
4146
+ subscribeToNavigationEvents() {
4147
+ const subscription = this.navigationTransitions.events.subscribe((e) => {
4148
+ try {
4149
+ const currentTransition = this.navigationTransitions.currentTransition;
4150
+ const currentNavigation = (0, import_core.untracked)(this.navigationTransitions.currentNavigation);
4151
+ if (currentTransition !== null && currentNavigation !== null) {
4152
+ this.stateManager.handleRouterEvent(e, currentNavigation);
4153
+ if (e instanceof NavigationCancel && e.code !== NavigationCancellationCode.Redirect && e.code !== NavigationCancellationCode.SupersededByNewNavigation) {
4154
+ this.navigated = true;
4155
+ } else if (e instanceof NavigationEnd) {
4156
+ this.navigated = true;
4157
+ } else if (e instanceof RedirectRequest) {
4158
+ const opts = e.navigationBehaviorOptions;
4159
+ const mergedTree = this.urlHandlingStrategy.merge(e.url, currentTransition.currentRawUrl);
4160
+ const extras = __spreadValues({
4161
+ browserUrl: currentTransition.extras.browserUrl,
4162
+ info: currentTransition.extras.info,
4163
+ skipLocationChange: currentTransition.extras.skipLocationChange,
4164
+ // The URL is already updated at this point if we have 'eager' URL
4165
+ // updates or if the navigation was triggered by the browser (back
4166
+ // button, URL bar, etc). We want to replace that item in history
4167
+ // if the navigation is rejected.
4168
+ replaceUrl: currentTransition.extras.replaceUrl || this.urlUpdateStrategy === "eager" || isBrowserTriggeredNavigation(currentTransition.source)
4169
+ }, opts);
4170
+ this.scheduleNavigation(mergedTree, IMPERATIVE_NAVIGATION, null, extras, {
4171
+ resolve: currentTransition.resolve,
4172
+ reject: currentTransition.reject,
4173
+ promise: currentTransition.promise
4174
+ });
4175
+ }
4176
+ }
4177
+ if (isPublicRouterEvent(e)) {
4178
+ this._events.next(e);
4179
+ }
4180
+ } catch (e2) {
4181
+ this.navigationTransitions.transitionAbortWithErrorSubject.next(e2);
4182
+ }
4183
+ });
4184
+ this.eventsSubscription.add(subscription);
4185
+ }
4186
+ /** @internal */
4187
+ resetRootComponentType(rootComponentType) {
4188
+ this.routerState.root.component = rootComponentType;
4189
+ this.navigationTransitions.rootComponentType = rootComponentType;
4190
+ }
4191
+ /**
4192
+ * Sets up the location change listener and performs the initial navigation.
4193
+ */
4194
+ initialNavigation() {
4195
+ this.setUpLocationChangeListener();
4196
+ if (!this.navigationTransitions.hasRequestedNavigation) {
4197
+ this.navigateToSyncWithBrowser(this.location.path(true), IMPERATIVE_NAVIGATION, this.stateManager.restoredState());
4198
+ }
4199
+ }
4200
+ /**
4201
+ * Sets up the location change listener. This listener detects navigations triggered from outside
4202
+ * the Router (the browser back/forward buttons, for example) and schedules a corresponding Router
4203
+ * navigation so that the correct events, guards, etc. are triggered.
4204
+ */
4205
+ setUpLocationChangeListener() {
4206
+ var _a2;
4207
+ (_a2 = this.nonRouterCurrentEntryChangeSubscription) != null ? _a2 : this.nonRouterCurrentEntryChangeSubscription = this.stateManager.registerNonRouterCurrentEntryChangeListener((url, state, source) => {
4208
+ this.navigateToSyncWithBrowser(url, source, state);
4209
+ });
4210
+ }
4211
+ /**
4212
+ * Schedules a router navigation to synchronize Router state with the browser state.
4213
+ *
4214
+ * This is done as a response to a popstate event and the initial navigation. These
4215
+ * two scenarios represent times when the browser URL/state has been updated and
4216
+ * the Router needs to respond to ensure its internal state matches.
4217
+ */
4218
+ navigateToSyncWithBrowser(url, source, state) {
4219
+ const extras = { replaceUrl: true };
4220
+ const restoredState = (state == null ? void 0 : state.navigationId) ? state : null;
4221
+ if (state) {
4222
+ const stateCopy = __spreadValues({}, state);
4223
+ delete stateCopy.navigationId;
4224
+ delete stateCopy.\u0275routerPageId;
4225
+ if (Object.keys(stateCopy).length !== 0) {
4226
+ extras.state = stateCopy;
4227
+ }
4228
+ }
4229
+ const urlTree = this.parseUrl(url);
4230
+ this.scheduleNavigation(urlTree, source, restoredState, extras).catch((e) => {
4231
+ if (this.disposed) {
4232
+ return;
4233
+ }
4234
+ this.injector.get(import_core.\u0275INTERNAL_APPLICATION_ERROR_HANDLER)(e);
4235
+ });
4236
+ }
4237
+ /** The current URL. */
4238
+ get url() {
4239
+ return this.serializeUrl(this.currentUrlTree);
4240
+ }
4241
+ /**
4242
+ * Returns the current `Navigation` object when the router is navigating,
4243
+ * and `null` when idle.
4244
+ *
4245
+ * @deprecated 20.2 Use the `currentNavigation` signal instead.
4246
+ */
4247
+ getCurrentNavigation() {
4248
+ return (0, import_core.untracked)(this.navigationTransitions.currentNavigation);
4249
+ }
4250
+ /**
4251
+ * The `Navigation` object of the most recent navigation to succeed and `null` if there
4252
+ * has not been a successful navigation yet.
4253
+ */
4254
+ get lastSuccessfulNavigation() {
4255
+ return this.navigationTransitions.lastSuccessfulNavigation;
4256
+ }
4257
+ /**
4258
+ * Resets the route configuration used for navigation and generating links.
4259
+ *
4260
+ * @param config The route array for the new configuration.
4261
+ *
4262
+ * @usageNotes
4263
+ *
4264
+ * ```ts
4265
+ * router.resetConfig([
4266
+ * { path: 'team/:id', component: TeamCmp, children: [
4267
+ * { path: 'simple', component: SimpleCmp },
4268
+ * { path: 'user/:name', component: UserCmp }
4269
+ * ]}
4270
+ * ]);
4271
+ * ```
4272
+ */
4273
+ resetConfig(config) {
4274
+ (typeof ngDevMode === "undefined" || ngDevMode) && validateConfig(config);
4275
+ this.config = config.map(standardizeConfig);
4276
+ this.navigated = false;
4277
+ }
4278
+ /** @docs-private */
4279
+ ngOnDestroy() {
4280
+ this.dispose();
4281
+ }
4282
+ /** Disposes of the router. */
4283
+ dispose() {
4284
+ this._events.unsubscribe();
4285
+ this.navigationTransitions.complete();
4286
+ if (this.nonRouterCurrentEntryChangeSubscription) {
4287
+ this.nonRouterCurrentEntryChangeSubscription.unsubscribe();
4288
+ this.nonRouterCurrentEntryChangeSubscription = void 0;
4289
+ }
4290
+ this.disposed = true;
4291
+ this.eventsSubscription.unsubscribe();
4292
+ }
4293
+ /**
4294
+ * Appends URL segments to the current URL tree to create a new URL tree.
4295
+ *
4296
+ * @param commands An array of URL fragments with which to construct the new URL tree.
4297
+ * If the path is static, can be the literal URL string. For a dynamic path, pass an array of path
4298
+ * segments, followed by the parameters for each segment.
4299
+ * The fragments are applied to the current URL tree or the one provided in the `relativeTo`
4300
+ * property of the options object, if supplied.
4301
+ * @param navigationExtras Options that control the navigation strategy.
4302
+ * @returns The new URL tree.
4303
+ *
4304
+ * @usageNotes
4305
+ *
4306
+ * ```
4307
+ * // create /team/33/user/11
4308
+ * router.createUrlTree(['/team', 33, 'user', 11]);
4309
+ *
4310
+ * // create /team/33;expand=true/user/11
4311
+ * router.createUrlTree(['/team', 33, {expand: true}, 'user', 11]);
4312
+ *
4313
+ * // you can collapse static segments like this (this works only with the first passed-in value):
4314
+ * router.createUrlTree(['/team/33/user', userId]);
4315
+ *
4316
+ * // If the first segment can contain slashes, and you do not want the router to split it,
4317
+ * // you can do the following:
4318
+ * router.createUrlTree([{segmentPath: '/one/two'}]);
4319
+ *
4320
+ * // create /team/33/(user/11//right:chat)
4321
+ * router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: 'chat'}}]);
4322
+ *
4323
+ * // remove the right secondary node
4324
+ * router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: null}}]);
4325
+ *
4326
+ * // assuming the current url is `/team/33/user/11` and the route points to `user/11`
4327
+ *
4328
+ * // navigate to /team/33/user/11/details
4329
+ * router.createUrlTree(['details'], {relativeTo: route});
4330
+ *
4331
+ * // navigate to /team/33/user/22
4332
+ * router.createUrlTree(['../22'], {relativeTo: route});
4333
+ *
4334
+ * // navigate to /team/44/user/22
4335
+ * router.createUrlTree(['../../team/44/user/22'], {relativeTo: route});
4336
+ *
4337
+ * Note that a value of `null` or `undefined` for `relativeTo` indicates that the
4338
+ * tree should be created relative to the root.
4339
+ * ```
4340
+ */
4341
+ createUrlTree(commands, navigationExtras = {}) {
4342
+ const { relativeTo, queryParams, fragment, queryParamsHandling, preserveFragment } = navigationExtras;
4343
+ const f = preserveFragment ? this.currentUrlTree.fragment : fragment;
4344
+ let q = null;
4345
+ switch (queryParamsHandling != null ? queryParamsHandling : this.options.defaultQueryParamsHandling) {
4346
+ case "merge":
4347
+ q = __spreadValues(__spreadValues({}, this.currentUrlTree.queryParams), queryParams);
4348
+ break;
4349
+ case "preserve":
4350
+ q = this.currentUrlTree.queryParams;
4351
+ break;
4352
+ default:
4353
+ q = queryParams || null;
4354
+ }
4355
+ if (q !== null) {
4356
+ q = this.removeEmptyProps(q);
4357
+ }
4358
+ let relativeToUrlSegmentGroup;
4359
+ try {
4360
+ const relativeToSnapshot = relativeTo ? relativeTo.snapshot : this.routerState.snapshot.root;
4361
+ relativeToUrlSegmentGroup = createSegmentGroupFromRoute(relativeToSnapshot);
4362
+ } catch (e) {
4363
+ if (typeof commands[0] !== "string" || commands[0][0] !== "/") {
4364
+ commands = [];
4365
+ }
4366
+ relativeToUrlSegmentGroup = this.currentUrlTree.root;
4367
+ }
4368
+ return createUrlTreeFromSegmentGroup(relativeToUrlSegmentGroup, commands, q, f != null ? f : null);
4369
+ }
4370
+ /**
4371
+ * Navigates to a view using an absolute route path.
4372
+ *
4373
+ * @param url An absolute path for a defined route. The function does not apply any delta to the
4374
+ * current URL.
4375
+ * @param extras An object containing properties that modify the navigation strategy.
4376
+ *
4377
+ * @returns A Promise that resolves to 'true' when navigation succeeds,
4378
+ * to 'false' when navigation fails, or is rejected on error.
4379
+ *
4380
+ * @usageNotes
4381
+ *
4382
+ * The following calls request navigation to an absolute path.
4383
+ *
4384
+ * ```ts
4385
+ * router.navigateByUrl("/team/33/user/11");
4386
+ *
4387
+ * // Navigate without updating the URL
4388
+ * router.navigateByUrl("/team/33/user/11", { skipLocationChange: true });
4389
+ * ```
4390
+ *
4391
+ * @see [Routing and Navigation guide](guide/routing/common-router-tasks)
4392
+ *
4393
+ */
4394
+ navigateByUrl(url, extras = {
4395
+ skipLocationChange: false
4396
+ }) {
4397
+ const urlTree = isUrlTree(url) ? url : this.parseUrl(url);
4398
+ const mergedTree = this.urlHandlingStrategy.merge(urlTree, this.rawUrlTree);
4399
+ return this.scheduleNavigation(mergedTree, IMPERATIVE_NAVIGATION, null, extras);
4400
+ }
4401
+ /**
4402
+ * Navigate based on the provided array of commands and a starting point.
4403
+ * If no starting route is provided, the navigation is absolute.
4404
+ *
4405
+ * @param commands An array of URL fragments with which to construct the target URL.
4406
+ * If the path is static, can be the literal URL string. For a dynamic path, pass an array of path
4407
+ * segments, followed by the parameters for each segment.
4408
+ * The fragments are applied to the current URL or the one provided in the `relativeTo` property
4409
+ * of the options object, if supplied.
4410
+ * @param extras An options object that determines how the URL should be constructed or
4411
+ * interpreted.
4412
+ *
4413
+ * @returns A Promise that resolves to `true` when navigation succeeds, or `false` when navigation
4414
+ * fails. The Promise is rejected when an error occurs if `resolveNavigationPromiseOnError` is
4415
+ * not `true`.
4416
+ *
4417
+ * @usageNotes
4418
+ *
4419
+ * The following calls request navigation to a dynamic route path relative to the current URL.
4420
+ *
4421
+ * ```ts
4422
+ * router.navigate(['team', 33, 'user', 11], {relativeTo: route});
4423
+ *
4424
+ * // Navigate without updating the URL, overriding the default behavior
4425
+ * router.navigate(['team', 33, 'user', 11], {relativeTo: route, skipLocationChange: true});
4426
+ * ```
4427
+ *
4428
+ * @see [Routing and Navigation guide](guide/routing/common-router-tasks)
4429
+ *
4430
+ */
4431
+ navigate(commands, extras = { skipLocationChange: false }) {
4432
+ validateCommands(commands);
4433
+ return this.navigateByUrl(this.createUrlTree(commands, extras), extras);
4434
+ }
4435
+ /** Serializes a `UrlTree` into a string */
4436
+ serializeUrl(url) {
4437
+ return this.urlSerializer.serialize(url);
4438
+ }
4439
+ /** Parses a string into a `UrlTree` */
4440
+ parseUrl(url) {
4441
+ try {
4442
+ return this.urlSerializer.parse(url);
4443
+ } catch (e) {
4444
+ this.console.warn((0, import_core.\u0275formatRuntimeError)(4018, ngDevMode && `Error parsing URL ${url}. Falling back to '/' instead.
4445
+ ` + e));
4446
+ return this.urlSerializer.parse("/");
4447
+ }
4448
+ }
4449
+ isActive(url, matchOptions) {
4450
+ let options;
4451
+ if (matchOptions === true) {
4452
+ options = __spreadValues({}, exactMatchOptions);
4453
+ } else if (matchOptions === false) {
4454
+ options = __spreadValues({}, subsetMatchOptions);
4455
+ } else {
4456
+ options = matchOptions;
4457
+ }
4458
+ if (isUrlTree(url)) {
4459
+ return containsTree(this.currentUrlTree, url, options);
4460
+ }
4461
+ const urlTree = this.parseUrl(url);
4462
+ return containsTree(this.currentUrlTree, urlTree, options);
4463
+ }
4464
+ removeEmptyProps(params) {
4465
+ return Object.entries(params).reduce((result, [key, value]) => {
4466
+ if (value !== null && value !== void 0) {
4467
+ result[key] = value;
4468
+ }
4469
+ return result;
4470
+ }, {});
4471
+ }
4472
+ scheduleNavigation(rawUrl, source, restoredState, extras, priorPromise) {
4473
+ if (this.disposed) {
4474
+ return Promise.resolve(false);
4475
+ }
4476
+ let resolve;
4477
+ let reject;
4478
+ let promise;
4479
+ if (priorPromise) {
4480
+ resolve = priorPromise.resolve;
4481
+ reject = priorPromise.reject;
4482
+ promise = priorPromise.promise;
4483
+ } else {
4484
+ promise = new Promise((res, rej) => {
4485
+ resolve = res;
4486
+ reject = rej;
4487
+ });
4488
+ }
4489
+ const taskId = this.pendingTasks.add();
4490
+ afterNextNavigation(this, () => {
4491
+ queueMicrotask(() => this.pendingTasks.remove(taskId));
4492
+ });
4493
+ this.navigationTransitions.handleNavigationRequest({
4494
+ source,
4495
+ restoredState,
4496
+ currentUrlTree: this.currentUrlTree,
4497
+ currentRawUrl: this.currentUrlTree,
4498
+ rawUrl,
4499
+ extras,
4500
+ resolve,
4501
+ reject,
4502
+ promise,
4503
+ currentSnapshot: this.routerState.snapshot,
4504
+ currentRouterState: this.routerState
4505
+ });
4506
+ return promise.catch((e) => {
4507
+ return Promise.reject(e);
4508
+ });
4509
+ }
4510
+ };
4511
+ __publicField(_Router, "\u0275fac", i0.\u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _Router, deps: [], target: i0.\u0275\u0275FactoryTarget.Injectable }));
4512
+ __publicField(_Router, "\u0275prov", i0.\u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: _Router, providedIn: "root" }));
4513
+ let Router = _Router;
4514
+ i0.\u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: Router, decorators: [{
4515
+ type: import_core.Injectable,
4516
+ args: [{ providedIn: "root" }]
4517
+ }], ctorParameters: () => [] });
4518
+ function validateCommands(commands) {
4519
+ for (let i = 0; i < commands.length; i++) {
4520
+ const cmd = commands[i];
4521
+ if (cmd == null) {
4522
+ throw new import_core.\u0275RuntimeError(4008, (typeof ngDevMode === "undefined" || ngDevMode) && `The requested path contains ${cmd} segment at index ${i}`);
4523
+ }
4524
+ }
4525
+ }