@coolon/angular-ui-powerups 0.0.72 → 0.0.75

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 (113) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +1793 -1331
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.d.ts +35 -32
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +35 -32
  8. package/esm2015/index.js +2 -2
  9. package/esm2015/lib/angular-ui-powerups.module.js +8 -22
  10. package/esm2015/lib/components/components.module.js +47 -0
  11. package/esm2015/lib/components/forms/number-input/number-input.component.js +2 -2
  12. package/esm2015/lib/components/forms/password-input/password-input.component.js +2 -2
  13. package/esm2015/lib/components/forms/select-input/select-input.component.js +2 -2
  14. package/esm2015/lib/components/forms/string-input/string-input.component.js +2 -2
  15. package/esm2015/lib/components/index.js +2 -1
  16. package/esm2015/lib/components/noop/noop.component.js +2 -2
  17. package/esm2015/lib/directives/directives.module.js +36 -0
  18. package/esm2015/lib/directives/index.js +2 -1
  19. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +72 -49
  20. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js +2 -2
  21. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +3 -3
  22. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +3 -3
  23. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +3 -3
  24. package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +128 -0
  25. package/esm2015/lib/interaction/components/interaction-outlet/interaction-outlet.component.js +2 -2
  26. package/esm2015/lib/interaction/index.js +2 -1
  27. package/esm2015/lib/interaction/interaction.module.js +6 -3
  28. package/esm2015/lib/interaction/services/dialog-interaction.service.js +10 -7
  29. package/esm2015/lib/place/components/abstract-place-navigation.component.js +38 -3
  30. package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js +2 -2
  31. package/esm2015/lib/place/components/empty-state/empty-state.component.js +3 -3
  32. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +3 -3
  33. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +73 -33
  34. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +3 -3
  35. package/esm2015/lib/place/index.js +2 -2
  36. package/esm2015/lib/place/place-component.js +3 -1
  37. package/esm2015/lib/place/place-definition.js +2 -6
  38. package/esm2015/lib/place/place-router.js +7 -9
  39. package/esm2015/lib/place/place.decorator.js +2 -4
  40. package/esm2015/lib/place/place.module.js +4 -2
  41. package/esm2015/lib/place/route/guards/enter-place-guard.service.js +283 -0
  42. package/esm2015/lib/place/route/guards/leave-place.guard.js +73 -53
  43. package/esm2015/lib/place/visit.js +10 -1
  44. package/esm2015/public_api.js +5 -5
  45. package/esm5/coolon-angular-ui-powerups.js +35 -32
  46. package/esm5/index.js +2 -2
  47. package/esm5/lib/angular-ui-powerups.module.js +8 -22
  48. package/esm5/lib/components/components.module.js +51 -0
  49. package/esm5/lib/components/forms/number-input/number-input.component.js +2 -2
  50. package/esm5/lib/components/forms/password-input/password-input.component.js +2 -2
  51. package/esm5/lib/components/forms/select-input/select-input.component.js +2 -2
  52. package/esm5/lib/components/forms/string-input/string-input.component.js +2 -2
  53. package/esm5/lib/components/index.js +2 -1
  54. package/esm5/lib/components/noop/noop.component.js +2 -2
  55. package/esm5/lib/directives/directives.module.js +40 -0
  56. package/esm5/lib/directives/index.js +2 -1
  57. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +80 -50
  58. package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js +2 -2
  59. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +3 -3
  60. package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +3 -3
  61. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +3 -3
  62. package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +171 -0
  63. package/esm5/lib/interaction/components/interaction-outlet/interaction-outlet.component.js +2 -2
  64. package/esm5/lib/interaction/index.js +2 -1
  65. package/esm5/lib/interaction/interaction.module.js +6 -3
  66. package/esm5/lib/interaction/services/dialog-interaction.service.js +10 -7
  67. package/esm5/lib/place/components/abstract-place-navigation.component.js +38 -3
  68. package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js +2 -2
  69. package/esm5/lib/place/components/empty-state/empty-state.component.js +3 -3
  70. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +3 -3
  71. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +85 -39
  72. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +3 -3
  73. package/esm5/lib/place/index.js +2 -2
  74. package/esm5/lib/place/place-component.js +3 -1
  75. package/esm5/lib/place/place-definition.js +2 -5
  76. package/esm5/lib/place/place-router.js +11 -10
  77. package/esm5/lib/place/place.decorator.js +2 -4
  78. package/esm5/lib/place/place.module.js +4 -2
  79. package/esm5/lib/place/route/guards/enter-place-guard.service.js +319 -0
  80. package/esm5/lib/place/route/guards/leave-place.guard.js +75 -11
  81. package/esm5/lib/place/visit.js +13 -1
  82. package/esm5/public_api.js +5 -5
  83. package/fesm2015/coolon-angular-ui-powerups.js +1308 -970
  84. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  85. package/fesm5/coolon-angular-ui-powerups.js +1747 -1292
  86. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  87. package/lib/components/components.module.d.ts +2 -0
  88. package/lib/components/index.d.ts +1 -0
  89. package/lib/directives/directives.module.d.ts +2 -0
  90. package/lib/directives/index.d.ts +1 -0
  91. package/lib/interaction/components/activity-container/activity-container.component.d.ts +9 -6
  92. package/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.d.ts +21 -0
  93. package/lib/interaction/index.d.ts +1 -0
  94. package/lib/place/components/abstract-place-navigation.component.d.ts +7 -1
  95. package/lib/place/components/place-outlet/place-outlet.component.d.ts +8 -5
  96. package/lib/place/index.d.ts +1 -1
  97. package/lib/place/place-component.d.ts +2 -0
  98. package/lib/place/place-definition.d.ts +1 -2
  99. package/lib/place/place.decorator.d.ts +0 -1
  100. package/lib/place/route/guards/{place-route.guard.d.ts → enter-place-guard.service.d.ts} +6 -4
  101. package/lib/place/visit.d.ts +2 -0
  102. package/package.json +1 -1
  103. package/schematics/place-routes/place-builder.js +0 -1
  104. package/schematics/place-routes/place-builder.js.map +1 -1
  105. package/schematics/place-routes/place-class-scanner.js +0 -1
  106. package/schematics/place-routes/place-class-scanner.js.map +1 -1
  107. package/schematics/place-routes/place-def.d.ts +0 -2
  108. package/schematics/place-routes/place-def.js +12 -11
  109. package/schematics/place-routes/place-def.js.map +1 -1
  110. package/schematics/place-routes/templates/place-routes.ts.template +1 -1
  111. package/styles/styles.scss +7 -2
  112. package/esm2015/lib/place/route/guards/place-route.guard.js +0 -243
  113. package/esm5/lib/place/route/guards/place-route.guard.js +0 -273
@@ -12,6 +12,7 @@ import { ActivityOutletComponent } from './components/activity-outlet/activity-o
12
12
  import { AlertDialogComponent } from './components/alert-dialog/alert-dialog.component';
13
13
  import { ConfirmThenDialogComponent } from './components/confirm-then-dialog/confirm-then-dialog.component';
14
14
  import { ConfirmationDialogComponent } from './components/confirmation-dialog/confirmation-dialog.component';
15
+ import { InplaceInteractionContextComponent } from './components/inplace-interaction-context/inplace-interaction-context.component';
15
16
  import { InteractionOutletComponent } from './components/interaction-outlet/interaction-outlet.component';
16
17
  import { DialogInteractionService } from './services/dialog-interaction.service';
17
18
  export class InteractionModule {
@@ -32,12 +33,14 @@ InteractionModule.decorators = [
32
33
  ConfirmThenDialogComponent,
33
34
  AlertDialogComponent,
34
35
  ActivityOutletComponent,
35
- InteractionOutletComponent
36
+ InteractionOutletComponent,
37
+ InplaceInteractionContextComponent
36
38
  ],
37
39
  exports: [
38
40
  ActivityContainerComponent,
39
41
  ActivityOutletComponent,
40
- InteractionOutletComponent
42
+ InteractionOutletComponent,
43
+ InplaceInteractionContextComponent
41
44
  ],
42
45
  entryComponents: [
43
46
  ActivityContainerComponent,
@@ -50,4 +53,4 @@ InteractionModule.decorators = [
50
53
  ]
51
54
  },] }
52
55
  ];
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQWtDakYsTUFBTSxPQUFPLGlCQUFpQjs7O1lBaEM3QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZUFBZTtvQkFDZixlQUFlO29CQUNmLGFBQWE7b0JBQ2IsWUFBWTtvQkFDWixZQUFZO2lCQUNiO2dCQUNELFlBQVksRUFBRTtvQkFDWiwwQkFBMEI7b0JBQzFCLDJCQUEyQjtvQkFDM0IsMEJBQTBCO29CQUMxQixvQkFBb0I7b0JBQ3BCLHVCQUF1QjtvQkFDdkIsMEJBQTBCO2lCQUMzQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsMEJBQTBCO29CQUMxQix1QkFBdUI7b0JBQ3ZCLDBCQUEwQjtpQkFDM0I7Z0JBQ0QsZUFBZSxFQUFFO29CQUNmLDBCQUEwQjtvQkFDMUIsMkJBQTJCO29CQUMzQiwwQkFBMEI7b0JBQzFCLG9CQUFvQjtpQkFDckI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULHdCQUF3QjtpQkFDekI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hbGVydC1kaWFsb2cvYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25maXJtLXRoZW4tZGlhbG9nL2NvbmZpcm0tdGhlbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEludGVyYWN0aW9uT3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ludGVyYWN0aW9uLW91dGxldC9pbnRlcmFjdGlvbi1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ0ludGVyYWN0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCxcbiAgICBDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCxcbiAgICBBbGVydERpYWxvZ0NvbXBvbmVudCxcbiAgICBBY3Rpdml0eU91dGxldENvbXBvbmVudCxcbiAgICBJbnRlcmFjdGlvbk91dGxldENvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQsXG4gICAgQWN0aXZpdHlPdXRsZXRDb21wb25lbnQsXG4gICAgSW50ZXJhY3Rpb25PdXRsZXRDb21wb25lbnRcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbXG4gICAgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQsXG4gICAgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LFxuICAgIENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LFxuICAgIEFsZXJ0RGlhbG9nQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIERpYWxvZ0ludGVyYWN0aW9uU2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEludGVyYWN0aW9uTW9kdWxlIHtcbn1cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM3RyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQztBQUNwSSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQW9DakYsTUFBTSxPQUFPLGlCQUFpQjs7O1lBbEM3QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZUFBZTtvQkFDZixlQUFlO29CQUNmLGFBQWE7b0JBQ2IsWUFBWTtvQkFDWixZQUFZO2lCQUNiO2dCQUNELFlBQVksRUFBRTtvQkFDWiwwQkFBMEI7b0JBQzFCLDJCQUEyQjtvQkFDM0IsMEJBQTBCO29CQUMxQixvQkFBb0I7b0JBQ3BCLHVCQUF1QjtvQkFDdkIsMEJBQTBCO29CQUMxQixrQ0FBa0M7aUJBQ25DO2dCQUNELE9BQU8sRUFBRTtvQkFDUCwwQkFBMEI7b0JBQzFCLHVCQUF1QjtvQkFDdkIsMEJBQTBCO29CQUMxQixrQ0FBa0M7aUJBQ25DO2dCQUNELGVBQWUsRUFBRTtvQkFDZiwwQkFBMEI7b0JBQzFCLDJCQUEyQjtvQkFDM0IsMEJBQTBCO29CQUMxQixvQkFBb0I7aUJBQ3JCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCx3QkFBd0I7aUJBQ3pCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlLCBNYXREaWFsb2dNb2R1bGUsIE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aXZpdHlPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWN0aXZpdHktb3V0bGV0L2FjdGl2aXR5LW91dGxldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxlcnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29uZmlybS10aGVuLWRpYWxvZy9jb25maXJtLXRoZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IEludGVyYWN0aW9uT3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ludGVyYWN0aW9uLW91dGxldC9pbnRlcmFjdGlvbi1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ0ludGVyYWN0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCxcbiAgICBDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCxcbiAgICBBbGVydERpYWxvZ0NvbXBvbmVudCxcbiAgICBBY3Rpdml0eU91dGxldENvbXBvbmVudCxcbiAgICBJbnRlcmFjdGlvbk91dGxldENvbXBvbmVudCxcbiAgICBJbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0Q29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBBY3Rpdml0eU91dGxldENvbXBvbmVudCxcbiAgICBJbnRlcmFjdGlvbk91dGxldENvbXBvbmVudCxcbiAgICBJbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0Q29tcG9uZW50XG4gIF0sXG4gIGVudHJ5Q29tcG9uZW50czogW1xuICAgIEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCxcbiAgICBDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCxcbiAgICBBbGVydERpYWxvZ0NvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBEaWFsb2dJbnRlcmFjdGlvblNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGlvbk1vZHVsZSB7XG59XG4iXX0=
@@ -9,7 +9,6 @@ import { MAT_DIALOG_DEFAULT_OPTIONS, MatDialogConfig } from '@angular/material/d
9
9
  import { Router } from '@angular/router';
10
10
  import { DelegatingListModel, lang, ValueModel } from '@coolon/pectin';
11
11
  import { assert } from '@coolon/typescript-utilities';
12
- import * as uuid from 'uuid';
13
12
  import { ActivityContainerComponent } from '../components/activity-container/activity-container.component';
14
13
  import { AlertDialogComponent } from '../components/alert-dialog/alert-dialog.component';
15
14
  import { ConfirmThenDialogComponent } from '../components/confirm-then-dialog/confirm-then-dialog.component';
@@ -78,7 +77,7 @@ export class DialogInteractionService extends InteractionContext {
78
77
  * @return {?}
79
78
  */
80
79
  isActive() {
81
- return !!this.currentActivityId;
80
+ return this._activityList.length > 0;
82
81
  }
83
82
  /**
84
83
  * @return {?}
@@ -121,7 +120,8 @@ export class DialogInteractionService extends InteractionContext {
121
120
  * @return {?}
122
121
  */
123
122
  () => {
124
- this.currentActivityId = uuid.v1();
123
+ console.log('###### STARTING');
124
+ // this.currentActivityId = uuid.v1();
125
125
  // this.location.go(this.router.routerState.snapshot.url, "aup");
126
126
  /** @type {?} */
127
127
  const self = this;
@@ -141,7 +141,6 @@ export class DialogInteractionService extends InteractionContext {
141
141
  (resolve, reject) => {
142
142
  /** @type {?} */
143
143
  const activityContainer = matDialogRef.componentInstance;
144
- activityContainer.parentInteractionContext = this;
145
144
  self.safelyUpdateActivityListDelegate(activityContainer.activityList);
146
145
  activityContainer.initialActivityOutletContext = {
147
146
  activityClass: activityType,
@@ -163,13 +162,16 @@ export class DialogInteractionService extends InteractionContext {
163
162
  matDialogRef.close(true); // return true to let the after close listener know we've already handled it.
164
163
  }
165
164
  };
165
+ // we need to check if our onDone/onCancel methods above we called or if we were
166
+ // closed by the user clicking the backdrop. If the later then we need to reject
167
+ // our promise.
166
168
  matDialogRef.afterClosed().subscribe((/**
167
169
  * @param {?} promiseAlreadyFinished
168
170
  * @return {?}
169
171
  */
170
172
  promiseAlreadyFinished => {
171
173
  if (!promiseAlreadyFinished) {
172
- reject("auto-closed");
174
+ reject('auto-closed');
173
175
  }
174
176
  }));
175
177
  matDialogRef.updateSize();
@@ -177,7 +179,8 @@ export class DialogInteractionService extends InteractionContext {
177
179
  * @return {?}
178
180
  */
179
181
  () => {
180
- this.currentActivityId = null;
182
+ console.log('###### FINISHED');
183
+ // this.currentActivityId = null;
181
184
  self.safelyUpdateActivityListDelegate(null);
182
185
  }));
183
186
  }));
@@ -267,4 +270,4 @@ if (false) {
267
270
  /** @type {?} */
268
271
  DialogInteractionService.prototype.matDialogDefaultConfig;
269
272
  }
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQWlCLG1CQUFtQixFQUFFLElBQUksRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEQsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFHN0IsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDM0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDekYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDN0csT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFFOUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQUU1RCxNQUFNLE9BQU8sbUNBQW1DLEdBQUcsSUFBSSxjQUFjLENBQXVCLHFDQUFxQyxDQUFDO0FBRWxJLE1BQU0sS0FBTSxTQUFRLFVBQW1CO0lBRXJDO1FBQ0UsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQzs7OztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7Ozs7SUFFRCxTQUFTLENBQUksR0FBWTtRQUN2QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSTtZQUNGLE9BQU8sR0FBRyxFQUFFLENBQUM7U0FDZDtnQkFBUztZQUNSLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7Ozs7Ozs7SUFFRCxVQUFVLENBQUksR0FBWSxFQUFFLGVBQWtCLElBQUk7UUFDaEQsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDNUMsQ0FBQztDQUNGO0FBTUQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjs7Ozs7Ozs7SUFNOUQsWUFBNkIsYUFBd0IsRUFDaEMsUUFBa0IsRUFDbEIsTUFBYyxFQUMyQyxxQkFBMkMsRUFDcEQsc0JBQTRDO1FBRS9HLEtBQUssRUFBRSxDQUFDO1FBTm1CLGtCQUFhLEdBQWIsYUFBYSxDQUFXO1FBQ2hDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUMyQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQ3BELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBc0I7UUFSaEcsa0JBQWEsR0FBRyxJQUFJLG1CQUFtQixFQUFzQixDQUFDO1FBQ3ZFLGtCQUFhLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQVVsQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2xDLENBQUM7Ozs7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7OztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDckMsQ0FBQzs7Ozs7OztJQUVELGFBQWEsQ0FBVSxZQUE4QyxFQUFFLElBQVE7UUFDN0UsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7Ozs7Ozs7SUFFTyxjQUFjLENBQVUsWUFBOEMsRUFBRSxJQUFPLEVBQUUsZUFBd0IsSUFBSTtRQUNuSCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLGlDQUFpQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHOzs7O1lBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksRUFBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDdkg7UUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUzs7O1FBQUMsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7OztrQkFHN0IsSUFBSSxHQUFHLElBQUk7O2tCQUNYLE1BQU0sbUJBQ1YsU0FBUyxFQUFFLEtBQUssRUFDaEIsV0FBVyxFQUFFLElBQUksRUFDakIsaUJBQWlCLEVBQUUsS0FBSyxJQUNyQixJQUFJLENBQUMsc0JBQXNCLEVBQzNCLElBQUksQ0FBQyxxQkFBcUIsRUFDMUI7Z0JBQ0QsSUFBSTtnQkFDSixZQUFZO2dCQUNaLFVBQVUsRUFBRSw0QkFBNEI7YUFDekMsQ0FDRjs7a0JBQ0ssWUFBWSxHQUFHLG1CQUFBLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQyxFQUFxRDtZQUNySSxPQUFPLElBQUksT0FBTzs7Ozs7WUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTs7c0JBQ2xDLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxpQkFBaUI7Z0JBQ3hELGlCQUFpQixDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQztnQkFDbEQsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUV0RSxpQkFBaUIsQ0FBQyw0QkFBNEIsR0FBRztvQkFDL0MsYUFBYSxFQUFFLFlBQVk7b0JBQzNCLFlBQVksRUFBRSxJQUFJOzs7OztvQkFDbEIsTUFBTSxDQUFDLE1BQU07d0JBQ1gsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUNoQixZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsNkVBQTZFO29CQUN6RyxDQUFDOzs7OztvQkFDRCxRQUFRLENBQUMsS0FBSzt3QkFDWixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ2QsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLDZFQUE2RTtvQkFDekcsQ0FBQztpQkFDRixDQUFDO2dCQUNGLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTOzs7O2dCQUFDLHNCQUFzQixDQUFDLEVBQUU7b0JBQzVELElBQUksQ0FBQyxzQkFBc0IsRUFBRTt3QkFDM0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO3FCQUN2QjtnQkFDSCxDQUFDLEVBQUMsQ0FBQztnQkFDSCxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUIsQ0FBQyxFQUFDLENBQUMsT0FBTzs7O1lBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QyxDQUFDLEVBQUMsQ0FBQztRQUNMLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7O0lBTUQsZ0NBQWdDLENBQUMsUUFBdUM7UUFDdEUsVUFBVTs7O1FBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQztJQUM3RCxDQUFDOzs7OztJQUVELEtBQUssQ0FBQyxLQUFZO1FBQ2hCLG9DQUFvQztRQUNwQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Ozs7O0lBRUQsT0FBTyxDQUFDLE9BQWdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQywyQkFBMkIsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekUsQ0FBQzs7Ozs7Ozs7SUFFRCxXQUFXLENBQVUsT0FBZ0IsRUFBRSxZQUE4QyxFQUFFLElBQVE7UUFDN0YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFpRCwwQkFBMEIsRUFBRTtZQUNyRyxPQUFPO1lBQ1AsWUFBWSxFQUFFLFlBQVk7WUFDMUIsSUFBSSxFQUFFLElBQUk7U0FDWCxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7O1lBOUdGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQTVDUSxTQUFTO1lBRlQsUUFBUTtZQUlSLE1BQU07WUFEc0IsZUFBZSx1QkFxRHJDLFFBQVEsWUFBSSxNQUFNLFNBQUMsbUNBQW1DO1lBckRoQyxlQUFlLHVCQXNEckMsUUFBUSxZQUFJLE1BQU0sU0FBQywwQkFBMEI7Ozs7Ozs7O0lBUjFELGlEQUErRTs7Ozs7SUFDL0UsaURBQW9DOzs7OztJQUNwQyxxREFBa0M7Ozs7O0lBRXRCLGlEQUF5Qzs7SUFDekMsNENBQTJCOztJQUMzQiwwQ0FBdUI7O0lBQ3ZCLHlEQUE2Rzs7SUFDN0csMERBQXFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMsIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgRGVsZWdhdGluZ0xpc3RNb2RlbCwgbGFuZywgTGlzdE1vZGVsLCBWYWx1ZU1vZGVsIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uL2FsZXJ0JztcbmltcG9ydCB7IEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi9jb25maXJtJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5leHBvcnQgY29uc3QgRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48TWF0RGlhbG9nQ29uZmlnPGFueT4+KCdESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUycpO1xuXG5jbGFzcyBHdWFyZCBleHRlbmRzIFZhbHVlTW9kZWw8Ym9vbGVhbj4ge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHsgaW5pdGlhbFZhbHVlOiBmYWxzZSB9KTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5yZWFkKCk7XG4gIH1cblxuICB3aGlsZVRydWU8Uj4oZnVuOiAoKSA9PiBSKTogUiB7XG4gICAgdGhpcy5zdGFydFRyYW5zYWN0aW9uKCkuY29tbWl0KHRydWUpO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZnVuKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhcnRUcmFuc2FjdGlvbigpLmNvbW1pdChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcnVuSWZGYWxzZTxSPihmdW46ICgpID0+IFIsIGRlZmF1bHRWYWx1ZTogUiA9IG51bGwpOiBSIHtcbiAgICByZXR1cm4gIXRoaXMudmFsdWUgPyBmdW4oKSA6IGRlZmF1bHRWYWx1ZTtcbiAgfVxufVxuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0ludGVyYWN0aW9uU2VydmljZSBleHRlbmRzIEludGVyYWN0aW9uQ29udGV4dCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZpdHlMaXN0ID0gbmV3IERlbGVnYXRpbmdMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PigpO1xuICBwcml2YXRlIHN0YXJ0aW5nR3VhcmQgPSBuZXcgR3VhcmQoKTtcbiAgcHJpdmF0ZSBjdXJyZW50QWN0aXZpdHlJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogTWF0RGlhbG9nLFxuICAgICAgICAgICAgICByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgICAgICAgICAgIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTKSByZWFkb25seSBkaWFsb2dTZXJ2aWNlRGVmYXVsdHM6IE1hdERpYWxvZ0NvbmZpZzxhbnk+LFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TKSByZWFkb25seSBtYXREaWFsb2dEZWZhdWx0Q29uZmlnOiBNYXREaWFsb2dDb25maWc8YW55PlxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIGFzc2VydC5ub3ROaWwoZGlhbG9nU2VydmljZSk7XG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmN1cnJlbnRBY3Rpdml0eUlkO1xuICB9XG5cbiAgY2FuY2VsQWN0aXZpdHkoKSB7XG4gICAgdGhpcy5jdXJyZW50QWN0aXZpdHkuY2FuY2VsKG51bGwpO1xuICB9XG5cbiAgZ2V0IGFjdGl2aXR5TGlzdCgpOiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2aXR5TGlzdC5yZWFkb25seTtcbiAgfVxuXG4gIHN0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShhY3Rpdml0eVR5cGUsIGRhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhOiBELCBkaXNhYmxlQ2xvc2U6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgaWYgKHRoaXMuaXNBY3RpdmUoKSkge1xuICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoYEFjdGl2aXR5IGFscmVhZHkgaW4gcHJvZ3Jlc3M6ICR7dGhpcy5hY3Rpdml0eUxpc3QudmFsdWUubWFwKGEgPT4gYS5jb25zdHJ1Y3Rvci5uYW1lKS5qb2luKCcsICcpfWApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zdGFydGluZ0d1YXJkLndoaWxlVHJ1ZSgoKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRBY3Rpdml0eUlkID0gdXVpZC52MSgpO1xuICAgICAgLy8gdGhpcy5sb2NhdGlvbi5nbyh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwsIFwiYXVwXCIpO1xuXG4gICAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICAgIGNvbnN0IGNvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxuICAgICAgICAuLi50aGlzLm1hdERpYWxvZ0RlZmF1bHRDb25maWcsXG4gICAgICAgIC4uLnRoaXMuZGlhbG9nU2VydmljZURlZmF1bHRzLFxuICAgICAgICAuLi57XG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBkaXNhYmxlQ2xvc2UsXG4gICAgICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1pbnRlcmFjdGlvbi1zZXJ2aWNlJ1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgY29uc3QgbWF0RGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQsIGNvbmZpZykgYXMgTWF0RGlhbG9nUmVmPEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PEQsIFIsIEU+PjtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxSPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGFjdGl2aXR5Q29udGFpbmVyID0gbWF0RGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgICBhY3Rpdml0eUNvbnRhaW5lci5wYXJlbnRJbnRlcmFjdGlvbkNvbnRleHQgPSB0aGlzO1xuICAgICAgICBzZWxmLnNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKGFjdGl2aXR5Q29udGFpbmVyLmFjdGl2aXR5TGlzdCk7XG5cbiAgICAgICAgYWN0aXZpdHlDb250YWluZXIuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCA9IHtcbiAgICAgICAgICBhY3Rpdml0eUNsYXNzOiBhY3Rpdml0eVR5cGUsXG4gICAgICAgICAgYWN0aXZpdHlEYXRhOiBkYXRhLFxuICAgICAgICAgIG9uRG9uZShyZXN1bHQpIHtcbiAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICAgIG1hdERpYWxvZ1JlZi5jbG9zZSh0cnVlKTsgLy8gcmV0dXJuIHRydWUgdG8gbGV0IHRoZSBhZnRlciBjbG9zZSBsaXN0ZW5lciBrbm93IHdlJ3ZlIGFscmVhZHkgaGFuZGxlZCBpdC5cbiAgICAgICAgICB9LFxuICAgICAgICAgIG9uQ2FuY2VsKGVycm9yKSB7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgbWF0RGlhbG9nUmVmLmNsb3NlKHRydWUpOyAvLyByZXR1cm4gdHJ1ZSB0byBsZXQgdGhlIGFmdGVyIGNsb3NlIGxpc3RlbmVyIGtub3cgd2UndmUgYWxyZWFkeSBoYW5kbGVkIGl0LlxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgbWF0RGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHByb21pc2VBbHJlYWR5RmluaXNoZWQgPT4ge1xuICAgICAgICAgIGlmICghcHJvbWlzZUFscmVhZHlGaW5pc2hlZCkge1xuICAgICAgICAgICAgcmVqZWN0KFwiYXV0by1jbG9zZWRcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbWF0RGlhbG9nUmVmLnVwZGF0ZVNpemUoKTtcbiAgICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICB0aGlzLmN1cnJlbnRBY3Rpdml0eUlkID0gbnVsbDtcbiAgICAgICAgc2VsZi5zYWZlbHlVcGRhdGVBY3Rpdml0eUxpc3REZWxlZ2F0ZShudWxsKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGVoIGRlbGVnYXRlIG9uIHRoZSBuZXh0IHRpY2sgdG8gYXZvaWQgbW9kaWZ5aW5nIHN0YXRlIGR1cmluZyB0aGUgY3VycmVudCBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLlxuICAgKiBAcGFyYW0gZGVsZWdhdGVcbiAgICovXG4gIHNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKGRlbGVnYXRlOiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+Pikge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fYWN0aXZpdHlMaXN0LnNldERlbGVnYXRlKGRlbGVnYXRlKSk7XG4gIH1cblxuICBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBUT0RPOiBUZXN0IGRpc2FibGVDbG9zZSA9PT0gZmFsc2VcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShBbGVydERpYWxvZ0NvbXBvbmVudCwgYWxlcnQsIGZhbHNlKTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwgY29uZmlybSwgdHJ1ZSk7XG4gIH1cblxuICBjb25maXJtVGhlbjxELCBSLCBFPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5PENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LkRhdGE8RCwgUiwgRT4sIFIsIEU+KENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBjb25maXJtLFxuICAgICAgYWN0aXZpdHlUeXBlOiBhY3Rpdml0eVR5cGUsXG4gICAgICBkYXRhOiBkYXRhXG4gICAgfSwgdHJ1ZSk7XG4gIH1cbn1cbiJdfQ==
273
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQWlCLG1CQUFtQixFQUFFLElBQUksRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHdEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDM0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDekYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDN0csT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFFOUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQUU1RCxNQUFNLE9BQU8sbUNBQW1DLEdBQUcsSUFBSSxjQUFjLENBQXVCLHFDQUFxQyxDQUFDO0FBRWxJLE1BQU0sS0FBTSxTQUFRLFVBQW1CO0lBRXJDO1FBQ0UsS0FBSyxDQUFDLEVBQUUs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YXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbnN0cnVjdGFibGUsIERlbGVnYXRpbmdMaXN0TW9kZWwsIGxhbmcsIExpc3RNb2RlbCwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uL2FsZXJ0JztcbmltcG9ydCB7IEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi9jb25maXJtJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5leHBvcnQgY29uc3QgRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48TWF0RGlhbG9nQ29uZmlnPGFueT4+KCdESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUycpO1xuXG5jbGFzcyBHdWFyZCBleHRlbmRzIFZhbHVlTW9kZWw8Ym9vbGVhbj4ge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHsgaW5pdGlhbFZhbHVlOiBmYWxzZSB9KTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5yZWFkKCk7XG4gIH1cblxuICB3aGlsZVRydWU8Uj4oZnVuOiAoKSA9PiBSKTogUiB7XG4gICAgdGhpcy5zdGFydFRyYW5zYWN0aW9uKCkuY29tbWl0KHRydWUpO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZnVuKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhcnRUcmFuc2FjdGlvbigpLmNvbW1pdChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcnVuSWZGYWxzZTxSPihmdW46ICgpID0+IFIsIGRlZmF1bHRWYWx1ZTogUiA9IG51bGwpOiBSIHtcbiAgICByZXR1cm4gIXRoaXMudmFsdWUgPyBmdW4oKSA6IGRlZmF1bHRWYWx1ZTtcbiAgfVxufVxuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0ludGVyYWN0aW9uU2VydmljZSBleHRlbmRzIEludGVyYWN0aW9uQ29udGV4dCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZpdHlMaXN0ID0gbmV3IERlbGVnYXRpbmdMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PigpO1xuICBwcml2YXRlIHN0YXJ0aW5nR3VhcmQgPSBuZXcgR3VhcmQoKTtcbiAgcHJpdmF0ZSBjdXJyZW50QWN0aXZpdHlJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogTWF0RGlhbG9nLFxuICAgICAgICAgICAgICByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgICAgICAgICAgIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTKSByZWFkb25seSBkaWFsb2dTZXJ2aWNlRGVmYXVsdHM6IE1hdERpYWxvZ0NvbmZpZzxhbnk+LFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TKSByZWFkb25seSBtYXREaWFsb2dEZWZhdWx0Q29uZmlnOiBNYXREaWFsb2dDb25maWc8YW55PlxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIGFzc2VydC5ub3ROaWwoZGlhbG9nU2VydmljZSk7XG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZpdHlMaXN0Lmxlbmd0aCA+IDA7XG4gIH1cblxuICBjYW5jZWxBY3Rpdml0eSgpIHtcbiAgICB0aGlzLmN1cnJlbnRBY3Rpdml0eS5jYW5jZWwobnVsbCk7XG4gIH1cblxuICBnZXQgYWN0aXZpdHlMaXN0KCk6IExpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZpdHlMaXN0LnJlYWRvbmx5O1xuICB9XG5cbiAgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIF9zdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE6IEQsIGRpc2FibGVDbG9zZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSgpKSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZShgQWN0aXZpdHkgYWxyZWFkeSBpbiBwcm9ncmVzczogJHt0aGlzLmFjdGl2aXR5TGlzdC52YWx1ZS5tYXAoYSA9PiBhLmNvbnN0cnVjdG9yLm5hbWUpLmpvaW4oJywgJyl9YCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnN0YXJ0aW5nR3VhcmQud2hpbGVUcnVlKCgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCcjIyMjIyMgIFNUQVJUSU5HJyk7XG4gICAgICAvLyB0aGlzLmN1cnJlbnRBY3Rpdml0eUlkID0gdXVpZC52MSgpO1xuICAgICAgLy8gdGhpcy5sb2NhdGlvbi5nbyh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwsIFwiYXVwXCIpO1xuXG4gICAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICAgIGNvbnN0IGNvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxuICAgICAgICAuLi50aGlzLm1hdERpYWxvZ0RlZmF1bHRDb25maWcsXG4gICAgICAgIC4uLnRoaXMuZGlhbG9nU2VydmljZURlZmF1bHRzLFxuICAgICAgICAuLi57XG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBkaXNhYmxlQ2xvc2UsXG4gICAgICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1pbnRlcmFjdGlvbi1zZXJ2aWNlJ1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgY29uc3QgbWF0RGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQsIGNvbmZpZykgYXMgTWF0RGlhbG9nUmVmPEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PEQsIFIsIEU+PjtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxSPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGFjdGl2aXR5Q29udGFpbmVyID0gbWF0RGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgICBzZWxmLnNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKGFjdGl2aXR5Q29udGFpbmVyLmFjdGl2aXR5TGlzdCk7XG5cbiAgICAgICAgYWN0aXZpdHlDb250YWluZXIuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCA9IHtcbiAgICAgICAgICBhY3Rpdml0eUNsYXNzOiBhY3Rpdml0eVR5cGUsXG4gICAgICAgICAgYWN0aXZpdHlEYXRhOiBkYXRhLFxuICAgICAgICAgIG9uRG9uZShyZXN1bHQpIHtcbiAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICAgIG1hdERpYWxvZ1JlZi5jbG9zZSh0cnVlKTsgLy8gcmV0dXJuIHRydWUgdG8gbGV0IHRoZSBhZnRlciBjbG9zZSBsaXN0ZW5lciBrbm93IHdlJ3ZlIGFscmVhZHkgaGFuZGxlZCBpdC5cbiAgICAgICAgICB9LFxuICAgICAgICAgIG9uQ2FuY2VsKGVycm9yKSB7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgbWF0RGlhbG9nUmVmLmNsb3NlKHRydWUpOyAvLyByZXR1cm4gdHJ1ZSB0byBsZXQgdGhlIGFmdGVyIGNsb3NlIGxpc3RlbmVyIGtub3cgd2UndmUgYWxyZWFkeSBoYW5kbGVkIGl0LlxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgLy8gd2UgbmVlZCB0byBjaGVjayBpZiBvdXIgb25Eb25lL29uQ2FuY2VsIG1ldGhvZHMgYWJvdmUgd2UgY2FsbGVkIG9yIGlmIHdlIHdlcmVcbiAgICAgICAgLy8gY2xvc2VkIGJ5IHRoZSB1c2VyIGNsaWNraW5nIHRoZSBiYWNrZHJvcC4gIElmIHRoZSBsYXRlciB0aGVuIHdlIG5lZWQgdG8gcmVqZWN0XG4gICAgICAgIC8vIG91ciBwcm9taXNlLlxuICAgICAgICBtYXREaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocHJvbWlzZUFscmVhZHlGaW5pc2hlZCA9PiB7XG4gICAgICAgICAgaWYgKCFwcm9taXNlQWxyZWFkeUZpbmlzaGVkKSB7XG4gICAgICAgICAgICByZWplY3QoJ2F1dG8tY2xvc2VkJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbWF0RGlhbG9nUmVmLnVwZGF0ZVNpemUoKTtcbiAgICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnIyMjIyMjICBGSU5JU0hFRCcpO1xuICAgICAgICAvLyB0aGlzLmN1cnJlbnRBY3Rpdml0eUlkID0gbnVsbDtcbiAgICAgICAgc2VsZi5zYWZlbHlVcGRhdGVBY3Rpdml0eUxpc3REZWxlZ2F0ZShudWxsKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGVoIGRlbGVnYXRlIG9uIHRoZSBuZXh0IHRpY2sgdG8gYXZvaWQgbW9kaWZ5aW5nIHN0YXRlIGR1cmluZyB0aGUgY3VycmVudCBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLlxuICAgKiBAcGFyYW0gZGVsZWdhdGVcbiAgICovXG4gIHNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKGRlbGVnYXRlOiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+Pikge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fYWN0aXZpdHlMaXN0LnNldERlbGVnYXRlKGRlbGVnYXRlKSk7XG4gIH1cblxuICBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBUT0RPOiBUZXN0IGRpc2FibGVDbG9zZSA9PT0gZmFsc2VcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShBbGVydERpYWxvZ0NvbXBvbmVudCwgYWxlcnQsIGZhbHNlKTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwgY29uZmlybSwgdHJ1ZSk7XG4gIH1cblxuICBjb25maXJtVGhlbjxELCBSLCBFPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5PENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LkRhdGE8RCwgUiwgRT4sIFIsIEU+KENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBjb25maXJtLFxuICAgICAgYWN0aXZpdHlUeXBlOiBhY3Rpdml0eVR5cGUsXG4gICAgICBkYXRhOiBkYXRhXG4gICAgfSwgdHJ1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -4,11 +4,13 @@
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
6
  import { Input } from '@angular/core';
7
- import { Dsl, ListModel, StoreInListModel, UseDelegate } from '@coolon/pectin';
7
+ import { Command, Dsl, ListModel, StoreInListModel, StoreInValueModel, UseDelegate, ValueModel } from '@coolon/pectin';
8
8
  import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
9
9
  import { DisposableComponent } from '../../components/disposable-component';
10
10
  import { PlaceComponent } from '../place-component';
11
11
  import { PlaceDefinition } from '../place-definition';
12
+ import { Visit } from '../visit';
13
+ import { PlaceOutletComponent } from './place-outlet/place-outlet.component';
12
14
  export class AbstractPlaceNavigationComponent extends DisposableComponent {
13
15
  constructor() {
14
16
  super();
@@ -18,6 +20,18 @@ export class AbstractPlaceNavigationComponent extends DisposableComponent {
18
20
  * @return {?}
19
21
  */
20
22
  c => PlaceComponent.getDefinition(c)));
23
+ this.relativeToModel = chain(this.placeOutletModel).pullValueModel((/**
24
+ * @param {?} o
25
+ * @return {?}
26
+ */
27
+ o => o.activatedRouteModel));
28
+ this.commandFactory = Command.createFactory((/**
29
+ * @param {?} placeDefinition
30
+ * @return {?}
31
+ */
32
+ (placeDefinition) => {
33
+ this.placeOutlet.navigate(new Visit(placeDefinition));
34
+ }));
21
35
  }
22
36
  /**
23
37
  * @param {?} placeDef
@@ -49,7 +63,9 @@ export class AbstractPlaceNavigationComponent extends DisposableComponent {
49
63
  }
50
64
  AbstractPlaceNavigationComponent.propDecorators = {
51
65
  places: [{ type: Input }],
52
- placesModel: [{ type: Input }]
66
+ placesModel: [{ type: Input }],
67
+ placeOutlet: [{ type: Input }],
68
+ placeOutletModel: [{ type: Input }]
53
69
  };
54
70
  tslib_1.__decorate([
55
71
  StoreInListModel('placesModel'),
@@ -59,6 +75,14 @@ tslib_1.__decorate([
59
75
  UseDelegate(),
60
76
  tslib_1.__metadata("design:type", ListModel)
61
77
  ], AbstractPlaceNavigationComponent.prototype, "placesModel", void 0);
78
+ tslib_1.__decorate([
79
+ StoreInValueModel('placeOutletModel'),
80
+ tslib_1.__metadata("design:type", PlaceOutletComponent)
81
+ ], AbstractPlaceNavigationComponent.prototype, "placeOutlet", void 0);
82
+ tslib_1.__decorate([
83
+ UseDelegate(),
84
+ tslib_1.__metadata("design:type", ValueModel)
85
+ ], AbstractPlaceNavigationComponent.prototype, "placeOutletModel", void 0);
62
86
  tslib_1.__decorate([
63
87
  Memoize(),
64
88
  tslib_1.__metadata("design:type", Function),
@@ -71,6 +95,17 @@ if (false) {
71
95
  /** @type {?} */
72
96
  AbstractPlaceNavigationComponent.prototype.placesModel;
73
97
  /** @type {?} */
98
+ AbstractPlaceNavigationComponent.prototype.placeOutlet;
99
+ /** @type {?} */
100
+ AbstractPlaceNavigationComponent.prototype.placeOutletModel;
101
+ /** @type {?} */
74
102
  AbstractPlaceNavigationComponent.prototype.placeDefinitions;
103
+ /**
104
+ * @type {?}
105
+ * @protected
106
+ */
107
+ AbstractPlaceNavigationComponent.prototype.relativeToModel;
108
+ /** @type {?} */
109
+ AbstractPlaceNavigationComponent.prototype.commandFactory;
75
110
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvY29tcG9uZW50cy9hYnN0cmFjdC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFpQixHQUFHLEVBQUUsU0FBUyxFQUFrQixnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsbUJBQW1CO0lBVXZFO1FBQ0UsS0FBSyxFQUFFLENBQUM7Y0FDRixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUc7Ozs7UUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztJQUM1RixDQUFDOzs7OztJQUdELE1BQU0sQ0FBQyxRQUF5Qjs7Y0FDeEIsT0FBTyxHQUFHLG1CQUFBLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQVc7UUFDdkQsT0FBTztZQUNMLEtBQUs7OztZQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7WUFDeEYsT0FBTzs7O1lBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDekcsSUFBSTs7O1lBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUE7U0FDOUYsQ0FBQztJQUNKLENBQUM7Ozs7SUFFRCxRQUFRO0lBQ1IsQ0FBQzs7O3FCQXpCQSxLQUFLOzBCQUdMLEtBQUs7O0FBRk47SUFEVSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7O2dFQUNEO0FBR3hDO0lBRFUsV0FBVyxFQUFFO3NDQUNWLFNBQVM7cUVBQWdDO0FBV3REO0lBREMsT0FBTyxFQUFFOzs2Q0FDTyxlQUFlOzs4REFPL0I7OztJQXRCRCxrREFDd0M7O0lBRXhDLHVEQUNzRDs7SUFFdEQsNERBQTJEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgRHNsLCBMaXN0TW9kZWwsIExpc3RNb2RlbENoYWluLCBTdG9yZUluTGlzdE1vZGVsLCBVc2VEZWxlZ2F0ZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IE1lbW9pemUgfSBmcm9tICdAdHlwZXNjcmlwdC1wbHVzL2Zhc3QtbWVtb2l6ZS1kZWNvcmF0b3IvZGlzdC9zcmMnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2SXRlbSB9IGZyb20gJy4uL25hdi1pdGVtJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlRGVmaW5pdGlvbiB9IGZyb20gJy4uL3BsYWNlLWRlZmluaXRpb24nO1xuXG5leHBvcnQgY2xhc3MgQWJzdHJhY3RQbGFjZU5hdmlnYXRpb25Db21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBAU3RvcmVJbkxpc3RNb2RlbCgncGxhY2VzTW9kZWwnKVxuICBwbGFjZXM6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+W107XG5cbiAgQElucHV0KCkgQFVzZURlbGVnYXRlKClcbiAgcGxhY2VzTW9kZWw6IExpc3RNb2RlbDxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pj47XG5cbiAgcmVhZG9ubHkgcGxhY2VEZWZpbml0aW9uczogTGlzdE1vZGVsQ2hhaW48UGxhY2VEZWZpbml0aW9uPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5wbGFjZURlZmluaXRpb25zID0gY2hhaW4odGhpcy5wbGFjZXNNb2RlbCkubWFwKGMgPT4gUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbihjKSk7XG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIGdldE5hdihwbGFjZURlZjogUGxhY2VEZWZpbml0aW9uKTogTmF2SXRlbSB7XG4gICAgY29uc3QgbmF2SXRlbSA9IHBsYWNlRGVmLmdldFBsYWNlRGF0YSgnbmF2JykgYXMgTmF2SXRlbTtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICgpID0+IG5hdkl0ZW0gPyBuYXZJdGVtLnRpdGxlKCkgOiBwbGFjZURlZi5zZWFyY2hQbGFjZURhdGEoWyduYXZUaXRsZScsICd0aXRsZSddKSxcbiAgICAgIHRvb2x0aXA6ICgpID0+IG5hdkl0ZW0gJiYgbmF2SXRlbS50b29sdGlwID8gbmF2SXRlbS50b29sdGlwKCkgOiBwbGFjZURlZi5nZXRQbGFjZURhdGEoJ25hdlRvb2x0aXAnLCBudWxsKSxcbiAgICAgIGljb246ICgpID0+IG5hdkl0ZW0gJiYgbmF2SXRlbS5pY29uID8gbmF2SXRlbS5pY29uKCkgOiBwbGFjZURlZi5nZXRQbGFjZURhdGEoJ25hdkljb24nLCBudWxsKVxuICAgIH07XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG59XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvY29tcG9uZW50cy9hYnN0cmFjdC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFOUMsT0FBTyxFQUNMLE9BQU8sRUFFUCxHQUFHLEVBQ0gsU0FBUyxFQUVULGdCQUFnQixFQUFFLGlCQUFpQixFQUNuQyxXQUFXLEVBQ1gsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU3RSxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsbUJBQW1CO0lBb0J2RTtRQUNFLEtBQUssRUFBRSxDQUFDO2NBQ0YsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUN4RixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsY0FBYzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixFQUFDLENBQUM7UUFDL0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsYUFBYTs7OztRQUFDLENBQUMsZUFBK0IsRUFBRSxFQUFFO1lBQzlFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUE7UUFDdkQsQ0FBQyxFQUFDLENBQUE7SUFDSixDQUFDOzs7OztJQUdELE1BQU0sQ0FBQyxRQUF5Qjs7Y0FDeEIsT0FBTyxHQUFHLG1CQUFBLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQVc7UUFDdkQsT0FBTztZQUNMLEtBQUs7OztZQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7WUFDeEYsT0FBTzs7O1lBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDekcsSUFBSTs7O1lBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUE7U0FDOUYsQ0FBQztJQUNKLENBQUM7Ozs7SUFFRCxRQUFRO0lBQ1IsQ0FBQzs7O3FCQXZDQSxLQUFLOzBCQUdMLEtBQUs7MEJBSUwsS0FBSzsrQkFHTCxLQUFLOztBQVROO0lBRFUsZ0JBQWdCLENBQUMsYUFBYSxDQUFDOztnRUFDRDtBQUd4QztJQURVLFdBQVcsRUFBRTtzQ0FDVixTQUFTO3FFQUFnQztBQUl0RDtJQURVLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDO3NDQUNsQyxvQkFBb0I7cUVBQUM7QUFHbEM7SUFEVSxXQUFXLEVBQUU7c0NBQ0wsVUFBVTswRUFBdUI7QUFrQm5EO0lBREMsT0FBTyxFQUFFOzs2Q0FDTyxlQUFlOzs4REFPL0I7OztJQXBDRCxrREFDd0M7O0lBRXhDLHVEQUNzRDs7SUFHdEQsdURBQ2tDOztJQUVsQyw0REFDbUQ7O0lBRW5ELDREQUEyRDs7Ozs7SUFFM0QsMkRBQTJEOztJQUMzRCwwREFBOEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBDb21tYW5kLFxuICBDb25zdHJ1Y3RhYmxlLFxuICBEc2wsXG4gIExpc3RNb2RlbCxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIFN0b3JlSW5MaXN0TW9kZWwsIFN0b3JlSW5WYWx1ZU1vZGVsLFxuICBVc2VEZWxlZ2F0ZSxcbiAgVmFsdWVNb2RlbCwgVmFsdWVNb2RlbENoYWluXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IE1lbW9pemUgfSBmcm9tICdAdHlwZXNjcmlwdC1wbHVzL2Zhc3QtbWVtb2l6ZS1kZWNvcmF0b3IvZGlzdC9zcmMnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2SXRlbSB9IGZyb20gJy4uL25hdi1pdGVtJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlRGVmaW5pdGlvbiB9IGZyb20gJy4uL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgVmlzaXQgfSBmcm9tICcuLi92aXNpdCc7XG5pbXBvcnQgeyBQbGFjZU91dGxldENvbXBvbmVudCB9IGZyb20gJy4vcGxhY2Utb3V0bGV0L3BsYWNlLW91dGxldC5jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgQWJzdHJhY3RQbGFjZU5hdmlnYXRpb25Db21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBAU3RvcmVJbkxpc3RNb2RlbCgncGxhY2VzTW9kZWwnKVxuICBwbGFjZXM6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+W107XG5cbiAgQElucHV0KCkgQFVzZURlbGVnYXRlKClcbiAgcGxhY2VzTW9kZWw6IExpc3RNb2RlbDxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pj47XG5cblxuICBASW5wdXQoKSBAU3RvcmVJblZhbHVlTW9kZWwoJ3BsYWNlT3V0bGV0TW9kZWwnKVxuICBwbGFjZU91dGxldDogUGxhY2VPdXRsZXRDb21wb25lbnQ7XG5cbiAgQElucHV0KCkgQFVzZURlbGVnYXRlKClcbiAgcGxhY2VPdXRsZXRNb2RlbDogVmFsdWVNb2RlbDxQbGFjZU91dGxldENvbXBvbmVudD47XG5cbiAgcmVhZG9ubHkgcGxhY2VEZWZpbml0aW9uczogTGlzdE1vZGVsQ2hhaW48UGxhY2VEZWZpbml0aW9uPjtcblxuICBwcm90ZWN0ZWQgcmVsYXRpdmVUb01vZGVsOiBWYWx1ZU1vZGVsQ2hhaW48QWN0aXZhdGVkUm91dGU+O1xuICBwdWJsaWMgY29tbWFuZEZhY3Rvcnk6IENvbW1hbmQuRmFjdG9yeTxQbGFjZURlZmluaXRpb24sIHZvaWQ+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLnBsYWNlRGVmaW5pdGlvbnMgPSBjaGFpbih0aGlzLnBsYWNlc01vZGVsKS5tYXAoYyA9PiBQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKGMpKTtcbiAgICB0aGlzLnJlbGF0aXZlVG9Nb2RlbCA9IGNoYWluKHRoaXMucGxhY2VPdXRsZXRNb2RlbCkucHVsbFZhbHVlTW9kZWwobyA9PiBvLmFjdGl2YXRlZFJvdXRlTW9kZWwpO1xuICAgIHRoaXMuY29tbWFuZEZhY3RvcnkgPSBDb21tYW5kLmNyZWF0ZUZhY3RvcnkoKHBsYWNlRGVmaW5pdGlvbjpQbGFjZURlZmluaXRpb24pID0+IHtcbiAgICAgIHRoaXMucGxhY2VPdXRsZXQubmF2aWdhdGUobmV3IFZpc2l0KHBsYWNlRGVmaW5pdGlvbikpXG4gICAgfSlcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0TmF2KHBsYWNlRGVmOiBQbGFjZURlZmluaXRpb24pOiBOYXZJdGVtIHtcbiAgICBjb25zdCBuYXZJdGVtID0gcGxhY2VEZWYuZ2V0UGxhY2VEYXRhKCduYXYnKSBhcyBOYXZJdGVtO1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogKCkgPT4gbmF2SXRlbSA/IG5hdkl0ZW0udGl0bGUoKSA6IHBsYWNlRGVmLnNlYXJjaFBsYWNlRGF0YShbJ25hdlRpdGxlJywgJ3RpdGxlJ10pLFxuICAgICAgdG9vbHRpcDogKCkgPT4gbmF2SXRlbSAmJiBuYXZJdGVtLnRvb2x0aXAgPyBuYXZJdGVtLnRvb2x0aXAoKSA6IHBsYWNlRGVmLmdldFBsYWNlRGF0YSgnbmF2VG9vbHRpcCcsIG51bGwpLFxuICAgICAgaWNvbjogKCkgPT4gbmF2SXRlbSAmJiBuYXZJdGVtLmljb24gPyBuYXZJdGVtLmljb24oKSA6IHBsYWNlRGVmLmdldFBsYWNlRGF0YSgnbmF2SWNvbicsIG51bGwpXG4gICAgfTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbn1cbiJdfQ==
@@ -16,7 +16,7 @@ export class BusyOverlayComponent {
16
16
  }
17
17
  BusyOverlayComponent.decorators = [
18
18
  { type: Component, args: [{
19
- selector: 'angular-ui-powerups-busy-overlay',
19
+ selector: 'aup-busy-overlay',
20
20
  template: "<ng-content></ng-content>\n<div class=\"busy-overlay-backdrop\" *ngIf=\"busyModel.value\">\n <mat-progress-spinner mode=\"indeterminate\" [diameter]=\"52\"></mat-progress-spinner>\n</div>\n",
21
21
  styles: [":host{position:relative}div.busy-overlay-backdrop{position:absolute;background-color:rgba(0,0,0,.2);top:0;left:0;bottom:0;right:0;display:-ms-grid;display:grid;-ms-grid-columns:auto;grid-template-columns:auto;-ms-grid-rows:auto;grid-template-rows:auto;place-content:center}"]
22
22
  }] }
@@ -41,4 +41,4 @@ if (false) {
41
41
  /** @type {?} */
42
42
  BusyOverlayComponent.prototype.busy;
43
43
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzeS1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9jb21wb25lbnRzL2J1c3ktb3ZlcmxheS9idXN5LW92ZXJsYXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU81RSxNQUFNLE9BQU8sb0JBQW9CO0lBUS9CO0lBQ0EsQ0FBQzs7OztJQUVELFFBQVE7SUFDUixDQUFDOzs7WUFqQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQ0FBa0M7Z0JBQzVDLDBNQUE0Qzs7YUFFN0M7Ozs7O3dCQUdFLEtBQUs7bUJBR0wsS0FBSzs7QUFGTjtJQURVLFdBQVcsRUFBRTtzQ0FDWixVQUFVO3VEQUFVO0FBRy9CO0lBRFUsaUJBQWlCLENBQUMsV0FBVyxDQUFDOztrREFDMUI7OztJQUpkLHlDQUMrQjs7SUFFL0Isb0NBQ2MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlSW5WYWx1ZU1vZGVsLCBVc2VEZWxlZ2F0ZSwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci11aS1wb3dlcnVwcy1idXN5LW92ZXJsYXknLFxuICB0ZW1wbGF0ZVVybDogYC4vYnVzeS1vdmVybGF5LmNvbXBvbmVudC5odG1sYCxcbiAgc3R5bGVVcmxzOiBbJy4vYnVzeS1vdmVybGF5LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnVzeU92ZXJsYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIEBVc2VEZWxlZ2F0ZSgpXG4gIGJ1c3lNb2RlbDogVmFsdWVNb2RlbDxib29sZWFuPjtcblxuICBASW5wdXQoKSBAU3RvcmVJblZhbHVlTW9kZWwoJ2J1c3lNb2RlbCcpXG4gIGJ1c3k6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzeS1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9jb21wb25lbnRzL2J1c3ktb3ZlcmxheS9idXN5LW92ZXJsYXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU81RSxNQUFNLE9BQU8sb0JBQW9CO0lBUS9CO0lBQ0EsQ0FBQzs7OztJQUVELFFBQVE7SUFDUixDQUFDOzs7WUFqQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLDBNQUE0Qzs7YUFFN0M7Ozs7O3dCQUdFLEtBQUs7bUJBR0wsS0FBSzs7QUFGTjtJQURVLFdBQVcsRUFBRTtzQ0FDWixVQUFVO3VEQUFVO0FBRy9CO0lBRFUsaUJBQWlCLENBQUMsV0FBVyxDQUFDOztrREFDMUI7OztJQUpkLHlDQUMrQjs7SUFFL0Isb0NBQ2MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlSW5WYWx1ZU1vZGVsLCBVc2VEZWxlZ2F0ZSwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLWJ1c3ktb3ZlcmxheScsXG4gIHRlbXBsYXRlVXJsOiBgLi9idXN5LW92ZXJsYXkuY29tcG9uZW50Lmh0bWxgLFxuICBzdHlsZVVybHM6IFsnLi9idXN5LW92ZXJsYXkuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCdXN5T3ZlcmxheUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgQFVzZURlbGVnYXRlKClcbiAgYnVzeU1vZGVsOiBWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgnYnVzeU1vZGVsJylcbiAgYnVzeTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbn1cbiJdfQ==
@@ -14,15 +14,15 @@ export class EmptyStateComponent {
14
14
  }
15
15
  EmptyStateComponent.decorators = [
16
16
  { type: Component, args: [{
17
- selector: 'angular-ui-powerups-empty-state',
17
+ selector: 'aup-empty-state',
18
18
  template: `
19
19
  <div class="container">
20
20
  <ng-content></ng-content>
21
21
  </div>
22
22
  `,
23
- styles: [":host{display:flex;flex-direction:column;justify-content:center;align-items:center}.container{padding:var(--angular-ui-powerups-default-padding);border:2px dashed rgba(0,0,0,.2);border-radius:5px;font-size:14px;font-weight:300}"]
23
+ styles: [":host{display:flex;flex-direction:column;justify-content:center;align-items:center}.container{padding:var(--aup-default-padding);border:2px dashed rgba(0,0,0,.2);border-radius:5px;font-size:14px;font-weight:300}"]
24
24
  }] }
25
25
  ];
26
26
  /** @nocollapse */
27
27
  EmptyStateComponent.ctorParameters = () => [];
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL2NvbXBvbmVudHMvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBV2xELE1BQU0sT0FBTyxtQkFBbUI7SUFFOUI7SUFDQSxDQUFDOzs7O0lBRUQsUUFBUTtJQUNSLENBQUM7OztZQWZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUNBQWlDO2dCQUMzQyxRQUFRLEVBQUU7Ozs7R0FJVDs7YUFFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXItdWktcG93ZXJ1cHMtZW1wdHktc3RhdGUnLFxuICB0ZW1wbGF0ZTogYFxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9lbXB0eS1zdGF0ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEVtcHR5U3RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cbn1cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL2NvbXBvbmVudHMvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBV2xELE1BQU0sT0FBTyxtQkFBbUI7SUFFOUI7SUFDQSxDQUFDOzs7O0lBRUQsUUFBUTtJQUNSLENBQUM7OztZQWZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUU7Ozs7R0FJVDs7YUFFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1lbXB0eS1zdGF0ZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2VtcHR5LXN0YXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRW1wdHlTdGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxufVxuIl19
@@ -30,8 +30,8 @@ export class ListPlaceNavComponent extends AbstractPlaceNavigationComponent {
30
30
  }
31
31
  ListPlaceNavComponent.decorators = [
32
32
  { type: Component, args: [{
33
- selector: 'angular-ui-powerups-list-place-nav',
34
- template: "<mat-nav-list class=\"app-menu\">\n <a mat-list-item *ngFor=\"let place of placeDefinitions.value\"\n [routerLink]='place.path'\n [replaceUrl]=\"true\"\n routerLinkActive #rla=\"routerLinkActive\"\n [matTooltip]=\"getNav(place).tooltip()\">\n <mat-icon *ngIf=\"getNav(place).icon()\">{{getNav(place).icon()}}</mat-icon>\n <span class=\"expanded-only\">{{getNav(place).title()}}</span>\n </a>\n</mat-nav-list>\n",
33
+ selector: 'aup-list-place-nav',
34
+ template: "<mat-nav-list class=\"app-menu\">\n <a mat-list-item *ngFor=\"let place of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(place)\"\n routerLinkActive #rla=\"routerLinkActive\"\n [matTooltip]=\"getNav(place).tooltip()\">\n <mat-icon *ngIf=\"getNav(place).icon()\">{{getNav(place).icon()}}</mat-icon>\n <span class=\"expanded-only\">{{getNav(place).title()}}</span>\n </a>\n</mat-nav-list>\n",
35
35
  styles: [":host{display:flex;flex-direction:column;--expanded-width:235px;--nav-item-width:var(--nav-bar-height);width:var(--nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--expanded-width);max-width:var(--expanded-width)}.expanded-only{max-width:0;overflow:hidden}.collapsed-only{max-width:100%;overflow:hidden}.header{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;height:var(--nav-bar-height);border-bottom:var(--pinstripe-border);cursor:pointer}.header .menu{flex:1}.header button{color:inherit;width:var(--nav-item-width);height:var(--nav-bar-height)}mat-nav-list{flex:1;display:flex;flex-direction:column}.mat-list-item{width:var(--nav-item-width);height:var(--nav-bar-height);color:inherit}mat-icon{color:inherit}mat-icon.flip-horizontal{transform:scaleX(-1)}:host-context(.expanded) .expanded-only{max-width:100%}:host-context(.expanded) .collapsed-only{max-width:0}:host-context(.expanded) .mat-list-item mat-icon{margin-right:12px}:host-context(.expanded) .mat-list-item span{text-wrap:none;white-space:nowrap}a[ng-reflect-router-link=manage-instruments] mat-icon{transform:rotate(90deg)}.app-menu{padding-top:0}"]
36
36
  }] }
37
37
  ];
@@ -44,4 +44,4 @@ if (false) {
44
44
  /** @type {?} */
45
45
  ListPlaceNavComponent.prototype.expanded;
46
46
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wbGFjZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL2NvbXBvbmVudHMvbGlzdC1wbGFjZS1uYXYvbGlzdC1wbGFjZS1uYXYuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQU8xRixNQUFNLE9BQU8scUJBQXNCLFNBQVEsZ0NBQWdDO0lBS3pFO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFISCxhQUFRLEdBQUcsSUFBSSxDQUFDO0lBSXZCLENBQUM7Ozs7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQzs7OztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDOzs7O0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7OztZQXhCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9DQUFvQztnQkFDOUMsOGJBQThDOzthQUUvQzs7Ozs7dUJBR0UsV0FBVyxTQUFDLGdCQUFnQjs7OztJQUE3Qix5Q0FDdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2Fic3RyYWN0LXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci11aS1wb3dlcnVwcy1saXN0LXBsYWNlLW5hdicsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LXBsYWNlLW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3QtcGxhY2UtbmF2LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTGlzdFBsYWNlTmF2Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RQbGFjZU5hdmlnYXRpb25Db21wb25lbnQge1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZXhwYW5kZWQnKVxuICBwdWJsaWMgZXhwYW5kZWQgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBleHBhbmRNZW51KCkge1xuICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xuICB9XG5cbiAgY29sbGFwc2VNZW51KCkge1xuICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHRvZ2dsZU1lbnUoKSB7XG4gICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuICB9XG59XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wbGFjZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL2NvbXBvbmVudHMvbGlzdC1wbGFjZS1uYXYvbGlzdC1wbGFjZS1uYXYuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQU8xRixNQUFNLE9BQU8scUJBQXNCLFNBQVEsZ0NBQWdDO0lBS3pFO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFISCxhQUFRLEdBQUcsSUFBSSxDQUFDO0lBSXZCLENBQUM7Ozs7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQzs7OztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDOzs7O0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7OztZQXhCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIseWJBQThDOzthQUUvQzs7Ozs7dUJBR0UsV0FBVyxTQUFDLGdCQUFnQjs7OztJQUE3Qix5Q0FDdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2Fic3RyYWN0LXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLWxpc3QtcGxhY2UtbmF2JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtcGxhY2UtbmF2LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC1wbGFjZS1uYXYuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMaXN0UGxhY2VOYXZDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCB7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5leHBhbmRlZCcpXG4gIHB1YmxpYyBleHBhbmRlZCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGV4cGFuZE1lbnUoKSB7XG4gICAgdGhpcy5leHBhbmRlZCA9IHRydWU7XG4gIH1cblxuICBjb2xsYXBzZU1lbnUoKSB7XG4gICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xuICB9XG5cbiAgdG9nZ2xlTWVudSgpIHtcbiAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -5,9 +5,8 @@
5
5
  import * as tslib_1 from "tslib";
6
6
  import { Component, EventEmitter, Input, Optional, Output, SkipSelf, ViewChild } from '@angular/core';
7
7
  import { Router, RouterOutlet } from '@angular/router';
8
- import { Dsl, Guard, MutableValueModel, Trace } from '@coolon/pectin';
8
+ import { Dsl, Guard, ListModel, MutableValueModel, StoreInListModel, Trace, UseDelegate } from '@coolon/pectin';
9
9
  import { DisposableComponent } from '../../../components/disposable-component';
10
- import { PlaceComponent } from '../../place-component';
11
10
  import { PlaceRouter } from '../../place-router';
12
11
  import { Visit } from '../../visit';
13
12
  import { LEFT_RIGHT_PLACE_ANIMATION } from './route-animations';
@@ -38,18 +37,45 @@ export class PlaceOutletComponent extends DisposableComponent {
38
37
  super();
39
38
  this.router = router;
40
39
  this.placeRouter = placeRouter;
41
- this.parentOutlet = parentOutlet;
42
40
  this.animate = true;
43
41
  this.placeChanged = new EventEmitter();
44
42
  this._activePlace = new MutableValueModel();
43
+ this._placeVisit = new MutableValueModel();
45
44
  this._inOutletUpdate = new Guard();
46
45
  this._activatedRouteModel = new MutableValueModel();
47
46
  this._placeDefinition = new MutableValueModel();
48
- /**
49
- * TODO: This is now really a visit
50
- */
51
- this._placeVisit = new MutableValueModel();
47
+ this.isOnInitialPlace = true;
52
48
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
49
+ this.parentOutletModel = new MutableValueModel(parentOutlet);
50
+ /** @type {?} */
51
+ const defaultPlaceAnimationOrder = chain(this.parentOutletModel)
52
+ .pullValueModel((/**
53
+ * @param {?} o
54
+ * @return {?}
55
+ */
56
+ o => o.activePlaceModel))
57
+ .pluck("placeDefinition")
58
+ .pluckList("children")
59
+ .pluck("component");
60
+ /** @type {?} */
61
+ const activatePlaceType = chain(this.activePlaceModel).map((/**
62
+ * @param {?} p
63
+ * @return {?}
64
+ */
65
+ p => (/** @type {?} */ (p.constructor))));
66
+ this.placeAnimationOrder = chain(this.customPlaceAnimationOrderModel)
67
+ .otherwise(defaultPlaceAnimationOrder)
68
+ .indexOf(activatePlaceType)
69
+ .map((/**
70
+ * @param {?} order
71
+ * @return {?}
72
+ */
73
+ order => {
74
+ // we get -1 on the first load which triggers an animation to the first page, so alway pin it to 0
75
+ // if we're animating.
76
+ return this.isOnInitialPlace ? 0 :
77
+ this.animate ? Math.max(order, 0) : 0;
78
+ }));
53
79
  // Push incoming changes into the component
54
80
  /** @type {?} */
55
81
  const routeVisit = chain(this._activePlace).pluck('placeDefinition').findIn(placeRouter.activeVisitIndex);
@@ -105,6 +131,12 @@ export class PlaceOutletComponent extends DisposableComponent {
105
131
  relativeTo: this.parentOutlet ? this.parentOutlet.activatedRouteModel.value : null
106
132
  });
107
133
  }
134
+ /**
135
+ * @return {?}
136
+ */
137
+ get parentOutlet() {
138
+ return this.parentOutletModel.value;
139
+ }
108
140
  /**
109
141
  * @param {?} next
110
142
  * @param {?} previous
@@ -127,6 +159,7 @@ export class PlaceOutletComponent extends DisposableComponent {
127
159
  get activatedRouteModel() {
128
160
  return this._activatedRouteModel.readonly;
129
161
  }
162
+ // @Trace()
130
163
  /**
131
164
  * @param {?} routerOutlet
132
165
  * @param {?} place
@@ -152,6 +185,7 @@ export class PlaceOutletComponent extends DisposableComponent {
152
185
  this.animationDone();
153
186
  }
154
187
  }
188
+ // @Trace()
155
189
  /**
156
190
  * @param {?} routerOutlet
157
191
  * @param {?} $event
@@ -162,18 +196,12 @@ export class PlaceOutletComponent extends DisposableComponent {
162
196
  * @return {?}
163
197
  */
164
198
  () => {
199
+ this.isOnInitialPlace = false;
165
200
  this._activePlace.value = null;
166
201
  this._activatedRouteModel.value = null;
167
202
  this._placeDefinition.value = null;
168
203
  }));
169
204
  }
170
- /**
171
- * @param {?} outlet
172
- * @return {?}
173
- */
174
- getPlaceOrder(outlet) {
175
- return this.animate && outlet && outlet.activatedRouteData && outlet.activatedRouteData['placeOrder'];
176
- }
177
205
  /**
178
206
  * @return {?}
179
207
  */
@@ -185,8 +213,8 @@ export class PlaceOutletComponent extends DisposableComponent {
185
213
  }
186
214
  PlaceOutletComponent.decorators = [
187
215
  { type: Component, args: [{
188
- selector: 'angular-ui-powerups-place-outlet',
189
- template: "<div class=\"router-outlet-container\"\n [@routeAnimations]=\"getPlaceOrder(routerOutlet)\"\n (@routeAnimations.done)=\"animationDone()\"\n>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated(routerOutlet, $event)\">\n </router-outlet>\n</div>\n\n",
216
+ selector: 'aup-place-outlet',
217
+ template: "<div class=\"router-outlet-container\"\n [@routeAnimations]=\"placeAnimationOrder.value\"\n (@routeAnimations.done)=\"animationDone()\"\n>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated(routerOutlet, $event)\">\n </router-outlet>\n</div>\n\n",
190
218
  animations: [LEFT_RIGHT_PLACE_ANIMATION],
191
219
  styles: [":host{display:flex;flex-direction:column;min-height:0}.router-outlet-container{flex:1;display:block;position:relative;min-height:0}router-outlet{display:none}"]
192
220
  }] }
@@ -199,31 +227,33 @@ PlaceOutletComponent.ctorParameters = () => [
199
227
  ];
200
228
  PlaceOutletComponent.propDecorators = {
201
229
  animate: [{ type: Input }],
230
+ customPlaceAnimationOrderModel: [{ type: Input, args: ['placeAnimationOrderModel',] }],
231
+ customPlaceAnimationOrder: [{ type: Input, args: ['placeAnimationOrder',] }],
202
232
  placeChanged: [{ type: Output }],
203
233
  routerOut: [{ type: ViewChild, args: ['routeOutlet', { static: true },] }]
204
234
  };
205
235
  tslib_1.__decorate([
206
- Trace(),
207
- tslib_1.__metadata("design:type", Function),
208
- tslib_1.__metadata("design:paramtypes", [Visit]),
209
- tslib_1.__metadata("design:returntype", void 0)
210
- ], PlaceOutletComponent.prototype, "navigate", null);
236
+ UseDelegate(),
237
+ tslib_1.__metadata("design:type", ListModel)
238
+ ], PlaceOutletComponent.prototype, "customPlaceAnimationOrderModel", void 0);
211
239
  tslib_1.__decorate([
212
- Trace(),
213
- tslib_1.__metadata("design:type", Function),
214
- tslib_1.__metadata("design:paramtypes", [RouterOutlet, PlaceComponent]),
215
- tslib_1.__metadata("design:returntype", void 0)
216
- ], PlaceOutletComponent.prototype, "onOutletActivated", null);
240
+ StoreInListModel("customPlaceAnimationOrderModel"),
241
+ tslib_1.__metadata("design:type", Array)
242
+ ], PlaceOutletComponent.prototype, "customPlaceAnimationOrder", void 0);
217
243
  tslib_1.__decorate([
218
244
  Trace(),
219
245
  tslib_1.__metadata("design:type", Function),
220
- tslib_1.__metadata("design:paramtypes", [RouterOutlet, Object]),
246
+ tslib_1.__metadata("design:paramtypes", [Visit]),
221
247
  tslib_1.__metadata("design:returntype", void 0)
222
- ], PlaceOutletComponent.prototype, "onOutletDeactivated", null);
248
+ ], PlaceOutletComponent.prototype, "navigate", null);
223
249
  if (false) {
224
250
  /** @type {?} */
225
251
  PlaceOutletComponent.prototype.animate;
226
252
  /** @type {?} */
253
+ PlaceOutletComponent.prototype.customPlaceAnimationOrderModel;
254
+ /** @type {?} */
255
+ PlaceOutletComponent.prototype.customPlaceAnimationOrder;
256
+ /** @type {?} */
227
257
  PlaceOutletComponent.prototype.placeChanged;
228
258
  /** @type {?} */
229
259
  PlaceOutletComponent.prototype.routerOut;
@@ -232,6 +262,11 @@ if (false) {
232
262
  * @private
233
263
  */
234
264
  PlaceOutletComponent.prototype._activePlace;
265
+ /**
266
+ * @type {?}
267
+ * @private
268
+ */
269
+ PlaceOutletComponent.prototype._placeVisit;
235
270
  /**
236
271
  * @type {?}
237
272
  * @private
@@ -248,10 +283,17 @@ if (false) {
248
283
  */
249
284
  PlaceOutletComponent.prototype._placeDefinition;
250
285
  /**
251
- * TODO: This is now really a visit
252
286
  * @type {?}
287
+ * @private
253
288
  */
254
- PlaceOutletComponent.prototype._placeVisit;
289
+ PlaceOutletComponent.prototype.parentOutletModel;
290
+ /** @type {?} */
291
+ PlaceOutletComponent.prototype.placeAnimationOrder;
292
+ /**
293
+ * @type {?}
294
+ * @private
295
+ */
296
+ PlaceOutletComponent.prototype.isOnInitialPlace;
255
297
  /**
256
298
  * @type {?}
257
299
  * @private
@@ -262,7 +304,5 @@ if (false) {
262
304
  * @private
263
305
  */
264
306
  PlaceOutletComponent.prototype.placeRouter;
265
- /** @type {?} */
266
- PlaceOutletComponent.prototype.parentOutlet;
267
307
  }
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQWtCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFHaEUsdUJBTUM7OztJQUxDLG1DQUF5Qzs7Ozs7SUFFekMsNkRBQW1EOzs7O0lBRW5ELGtEQUFxQjs7QUFTdkIsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjs7Ozs7O0lBb0IzRCxZQUE2QixNQUFjLEVBQW1CLFdBQXdCLEVBQW1DLFlBQWtDO1FBQ3pKLEtBQUssRUFBRSxDQUFDO1FBRG1CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBbUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBbUMsaUJBQVksR0FBWixZQUFZLENBQXNCO1FBakIzSixZ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QUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRTtZQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN4QztJQUNILENBQUM7OztZQXBIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtDQUFrQztnQkFDNUMsa1lBQTRDO2dCQUU1QyxVQUFVLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQzs7YUFDekM7Ozs7WUF4QndCLE1BQU07WUFLdEIsV0FBVztZQXdDcUgsb0JBQW9CLHVCQUFsRSxRQUFRLFlBQUksUUFBUTs7O3NCQWxCNUcsS0FBSzsyQkFHTCxNQUFNO3dCQUdOLFNBQVMsU0FBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOztBQStDMUM7SUFEQyxLQUFLLEVBQUU7OzZDQUNRLEtBQUs7O29EQUtwQjtBQWdCRDtJQURDLEtBQUssRUFBRTs7NkNBQ3dCLFlBQVksRUFBUyxjQUFjOzs2REFlbEU7QUFHRDtJQURDLEtBQUssRUFBRTs7NkNBQzBCLFlBQVk7OytEQU03Qzs7O0lBbEdELHVDQUNlOztJQUVmLDRDQUMyRDs7SUFFM0QseUNBQ3dCOzs7OztJQUV4Qiw0Q0FBd0U7Ozs7O0lBRXhFLCtDQUErQzs7Ozs7SUFDL0Msb0RBQWdGOzs7OztJQUNoRixnREFBNkU7Ozs7O0lBRzdFLDJDQUFzRDs7Ozs7SUFFMUMsc0NBQStCOzs7OztJQUFFLDJDQUF5Qzs7SUFBRSw0Q0FBbUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgU2tpcFNlbGYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciwgUm91dGVyT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERzbCwgR3VhcmQsIE11dGFibGVWYWx1ZU1vZGVsLCBUcmFjZSwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlRGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgUGxhY2VSb3V0ZXIgfSBmcm9tICcuLi8uLi9wbGFjZS1yb3V0ZXInO1xuXG5pbXBvcnQgeyBWaXNpdCB9IGZyb20gJy4uLy4uL3Zpc2l0JztcbmltcG9ydCB7IExFRlRfUklHSFRfUExBQ0VfQU5JTUFUSU9OIH0gZnJvbSAnLi9yb3V0ZS1hbmltYXRpb25zJztcblxuLy8gUXVpY2sgaGFjayB0byBhdm9pZCBjaXJjdWxhciByZWZlcmVuY2VzIGJldHdlZW4gdGhpcyBhbmQgUGxhY2VDb21wb25lbnRzLlxuaW50ZXJmYWNlIFBsYWNlUmVmIHtcbiAgcmVhZG9ubHkgcGxhY2VEZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb25cblxuICBpbml0aWFsaXNlQmluZGluZ3MocGFyYW06IFZhbHVlTW9kZWw8VmlzaXQ+KTogdm9pZDtcblxuICBvblBsYWNlUmVhZHkoKTogdm9pZDtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci11aS1wb3dlcnVwcy1wbGFjZS1vdXRsZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGxhY2Utb3V0bGV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGxhY2Utb3V0bGV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtMRUZUX1JJR0hUX1BMQUNFX0FOSU1BVElPTl1cbn0pXG5leHBvcnQgY2xhc3MgUGxhY2VPdXRsZXRDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBhbmltYXRlID0gdHJ1ZTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgcGxhY2VDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxQbGFjZUNvbXBvbmVudD4oKTtcblxuICBAVmlld0NoaWxkKCdyb3V0ZU91dGxldCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHJvdXRlck91dDogUm91dGVyT3V0bGV0O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFBsYWNlQ29tcG9uZW50PigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2luT3V0bGV0VXBkYXRlID0gbmV3IEd1YXJkKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2YXRlZFJvdXRlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8QWN0aXZhdGVkUm91dGU+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BsYWNlRGVmaW5pdGlvbiA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxQbGFjZURlZmluaXRpb24+KCk7XG5cbiAgLyoqIFRPRE86IFRoaXMgaXMgbm93IHJlYWxseSBhIHZpc2l0ICovXG4gIHJlYWRvbmx5IF9wbGFjZVZpc2l0ID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFZpc2l0PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VSb3V0ZXI6IFBsYWNlUm91dGVyLCBAU2tpcFNlbGYoKSBAT3B0aW9uYWwoKSByZWFkb25seSBwYXJlbnRPdXRsZXQ6IFBsYWNlT3V0bGV0Q29tcG9uZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuXG4gICAgLy8gUHVzaCBpbmNvbWluZyBjaGFuZ2VzIGludG8gdGhlIGNvbXBvbmVudFxuICAgIGNvbnN0IHJvdXRlVmlzaXQgPSBjaGFpbih0aGlzLl9hY3RpdmVQbGFjZSkucGx1Y2soJ3BsYWNlRGVmaW5pdGlvbicpLmZpbmRJbihwbGFjZVJvdXRlci5hY3RpdmVWaXNpdEluZGV4KTtcbiAgICBjb25zdCBpblJvdXRlVmlzaXRVcGRhdGUgPSBuZXcgR3VhcmQoKTtcbiAgICB3aGVuLnZhbHVlT2Yocm91dGVWaXNpdCkuY2hhbmdlcygodmlzaXQpID0+IHtcbiAgICAgIGlmICh2aXNpdCkgeyAvLyBjYW4gYmUgbnVsbCB3aGlsZSB0aGUgcGxhY2UgYW5kIGluZGV4IHN5bmMgdXBcbiAgICAgICAgaW5Sb3V0ZVZpc2l0VXBkYXRlLndoaWxlVHJ1ZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fcGxhY2VWaXNpdC52YWx1ZSA9IHZpc2l0O1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIEhhbmRsZSBjb21wb25lbnQgYmFzZWQgY2hhbmdlc1xuICAgIHdoZW4udmFsdWVPZih0aGlzLl9wbGFjZVZpc2l0KS5jaGFuZ2VzKChuZXh0LCBwcmV2aW91cykgPT4ge1xuICAgICAgdGhpcy5wdXNoVmlzaXRDaGFuZ2VzVG9Sb3V0ZShuZXh0LCBwcmV2aW91cyk7XG4gICAgfSwge1xuICAgICAgdW5sZXNzOiBpblJvdXRlVmlzaXRVcGRhdGVcbiAgICB9KTtcblxuICAgIGNoYWluKHRoaXMuX2FjdGl2ZVBsYWNlKVxuICAgICAgLnBvc3Rwb25lV2hpbGUocGxhY2VSb3V0ZXIubmF2aWdhdGlvblNlc3Npb25BY3RpdmUpXG4gICAgICAuc3Vic2NyaWJlKHBsYWNlID0+IHRoaXMucGxhY2VDaGFuZ2VkLmVtaXQocGxhY2UpKTtcblxuICAgIC8vIGNvbnN0IHR4byA9IG5ldyBUcmFuc2FjdGlvbk9ic2VydmVyKCkub25FdmVudChlID0+IGNvbnNvbGUubG9nKGUudG9TdHJpbmcoKSkpO1xuICAgIC8vIHR4by5vYnNlcnZlKCdpblJvdXRlVmlzaXRVcGRhdGUnLCBpblJvdXRlVmlzaXRVcGRhdGUpO1xuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIEBUcmFjZSgpXG4gIG5hdmlnYXRlKHZpc2l0OiBWaXNpdCkge1xuICAgIGNvbnNvbGUubG9nKHsgYWN0aXZhdGVkUm91dGU6IHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWUgfSk7XG4gICAgdGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0ZSh2aXNpdCwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5wYXJlbnRPdXRsZXQgPyB0aGlzLnBhcmVudE91dGxldC5hY3RpdmF0ZWRSb3V0ZU1vZGVsLnZhbHVlIDogbnVsbFxuICAgIH0pO1xuICB9XG5cbiAgcHVzaFZpc2l0Q2hhbmdlc1RvUm91dGUobmV4dDogVmlzaXQsIHByZXZpb3VzOiBWaXNpdCkge1xuICAgIGNvbnN0IGFjdGl2YXRlZFJvdXRlID0gdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC52YWx1ZTtcbiAgICB0aGlzLnBsYWNlUm91dGVyLnB1c2hWaXNpdENoYW5nZXNUb1JvdXRlKGFjdGl2YXRlZFJvdXRlLCBwcmV2aW91cywgbmV4dCk7XG4gIH1cblxuICBnZXQgYWN0aXZlUGxhY2VNb2RlbCgpOiBWYWx1ZU1vZGVsPFBsYWNlQ29tcG9uZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVBsYWNlLnJlYWRvbmx5O1xuICB9XG5cbiAgZ2V0IGFjdGl2YXRlZFJvdXRlTW9kZWwoKTogVmFsdWVNb2RlbDxBY3RpdmF0ZWRSb3V0ZT4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmF0ZWRSb3V0ZU1vZGVsLnJlYWRvbmx5O1xuICB9XG5cbiAgQFRyYWNlKClcbiAgb25PdXRsZXRBY3RpdmF0ZWQocm91dGVyT3V0bGV0OiBSb3V0ZXJPdXRsZXQsIHBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIHRoaXMuX2luT3V0bGV0VXBkYXRlLndoaWxlVHJ1ZSgoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLl9hY3RpdmVQbGFjZS52YWx1ZSA9IHBsYWNlO1xuICAgICAgICB0aGlzLl9hY3RpdmF0ZWRSb3V0ZU1vZGVsLnZhbHVlID0gcm91dGVyT3V0bGV0LmFjdGl2YXRlZFJvdXRlO1xuICAgICAgICB0aGlzLl9wbGFjZURlZmluaXRpb24udmFsdWUgPSBwbGFjZS5wbGFjZURlZmluaXRpb247XG4gICAgICAgIHBsYWNlLmluaXRpYWxpc2VCaW5kaW5ncyh0aGlzLl9wbGFjZVZpc2l0KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICghdGhpcy5hbmltYXRlKSB7XG4gICAgICAvLyB3ZSdyZSBub3QgYW5pbWF0aW5nIHNvIHRyaWdnZXIgYW55IHBvc3QgYW5pbWF0aW9uIGNhbGxiYWNrcyBub3cuXG4gICAgICB0aGlzLmFuaW1hdGlvbkRvbmUoKTtcbiAgICB9XG4gIH1cblxuICBAVHJhY2UoKVxuICBvbk91dGxldERlYWN0aXZhdGVkKHJvdXRlck91dGxldDogUm91dGVyT3V0bGV0LCAkZXZlbnQ6IFBsYWNlUmVmKSB7XG4gICAgdGhpcy5faW5PdXRsZXRVcGRhdGUud2hpbGVUcnVlKCgpID0+IHtcbiAgICAgIHRoaXMuX2FjdGl2ZVBsYWNlLnZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5fcGxhY2VEZWZpbml0aW9uLnZhbHVlID0gbnVsbDtcbiAgICB9KTtcbiAgfVxuXG4gIGdldFBsYWNlT3JkZXIob3V0bGV0OiBSb3V0ZXJPdXRsZXQpIHtcbiAgICByZXR1cm4gdGhpcy5hbmltYXRlICYmIG91dGxldCAmJiBvdXRsZXQuYWN0aXZhdGVkUm91dGVEYXRhICYmIG91dGxldC5hY3RpdmF0ZWRSb3V0ZURhdGFbJ3BsYWNlT3JkZXInXTtcbiAgfVxuXG4gIGFuaW1hdGlvbkRvbmUoKSB7XG4gICAgaWYgKHRoaXMuX2FjdGl2ZVBsYWNlLnZhbHVlKSB7XG4gICAgICB0aGlzLl9hY3RpdmVQbGFjZS52YWx1ZS5vblBsYWNlUmVhZHkoKTtcbiAgICB9XG4gIH1cblxuXG59XG4iXX0=
308
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQWtCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBRUwsR0FBRyxFQUNILEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQ25DLEtBQUssRUFDTCxXQUFXLEVBRVosTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUcvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUdoRSx1QkFNQzs7O0lBTEMsbUNBQXlDOzs7OztJQUV6Qyw2REFBbUQ7Ozs7SUFFbkQsa0RBQXFCOztBQVN2QixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1COzs7Ozs7SUE4QjNELFlBQTZCLE1BQWMsRUFDZCxXQUF3QixFQUV6QyxZQUFrQztRQUM1QyxLQUFLLEVBQUUsQ0FBQztRQUptQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUE1QnJELFlBQU8sR0FBRyxJQUFJLENBQUM7UUFVTixpQkFBWSxHQUFHLElBQUks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Q3dCLE1BQU07WUFjdEIsV0FBVztZQXFEUSxvQkFBb0IsdUJBRGpDLFFBQVEsWUFBSSxRQUFROzs7c0JBOUJoQyxLQUFLOzZDQUdMLEtBQUssU0FBQywwQkFBMEI7d0NBR2hDLEtBQUssU0FBQyxxQkFBcUI7MkJBSTNCLE1BQU07d0JBR04sU0FBUyxTQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0FBVDFDO0lBRG9DLFdBQVcsRUFBRTtzQ0FDakIsU0FBUzs0RUFBZ0M7QUFHekU7SUFEK0IsZ0JBQWdCLENBQUMsZ0NBQWdDLENBQUM7O3VFQUN2QjtBQWdGMUQ7SUFEQyxLQUFLLEVBQUU7OzZDQUNRLEtBQUs7O29EQUtwQjs7O0lBNUZELHVDQUNlOztJQUVmLDhEQUN5RTs7SUFFekUseURBQzBEOztJQUcxRCw0Q0FDMkQ7O0lBRTNELHlDQUN3Qjs7Ozs7SUFHeEIsNENBQXdFOzs7OztJQUN4RSwyQ0FBOEQ7Ozs7O0lBRTlELCtDQUErQzs7Ozs7SUFDL0Msb0RBQWdGOzs7OztJQUNoRixnREFBNkU7Ozs7O0lBRTdFLGlEQUFtRTs7SUFDbkUsbURBQTZEOzs7OztJQUM3RCxnREFBZ0M7Ozs7O0lBRXBCLHNDQUErQjs7Ozs7SUFDL0IsMkNBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXQsIFNraXBTZWxmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBDb25zdHJ1Y3RhYmxlLFxuICBEc2wsXG4gIEd1YXJkLFxuICBMaXN0TW9kZWwsIExpc3RNb2RlbENoYWluLFxuICBNdXRhYmxlVmFsdWVNb2RlbCwgU3RvcmVJbkxpc3RNb2RlbCxcbiAgVHJhY2UsXG4gIFVzZURlbGVnYXRlLFxuICBWYWx1ZU1vZGVsLCBWYWx1ZU1vZGVsQ2hhaW5cbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VEZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBQbGFjZVJvdXRlciB9IGZyb20gJy4uLy4uL3BsYWNlLXJvdXRlcic7XG5cbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi4vLi4vdmlzaXQnO1xuaW1wb3J0IHsgTEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT04gfSBmcm9tICcuL3JvdXRlLWFuaW1hdGlvbnMnO1xuXG4vLyBRdWljayBoYWNrIHRvIGF2b2lkIGNpcmN1bGFyIHJlZmVyZW5jZXMgYmV0d2VlbiB0aGlzIGFuZCBQbGFjZUNvbXBvbmVudHMuXG5pbnRlcmZhY2UgUGxhY2VSZWYge1xuICByZWFkb25seSBwbGFjZURlZmluaXRpb246IFBsYWNlRGVmaW5pdGlvblxuXG4gIGluaXRpYWxpc2VCaW5kaW5ncyhwYXJhbTogVmFsdWVNb2RlbDxWaXNpdD4pOiB2b2lkO1xuXG4gIG9uUGxhY2VSZWFkeSgpOiB2b2lkO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtcGxhY2Utb3V0bGV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BsYWNlLW91dGxldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BsYWNlLW91dGxldC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbTEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT05dXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlT3V0bGV0Q29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgYW5pbWF0ZSA9IHRydWU7XG5cbiAgQElucHV0KCdwbGFjZUFuaW1hdGlvbk9yZGVyTW9kZWwnKSBAVXNlRGVsZWdhdGUoKVxuICBjdXN0b21QbGFjZUFuaW1hdGlvbk9yZGVyTW9kZWw6IExpc3RNb2RlbDxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pj47XG5cbiAgQElucHV0KCdwbGFjZUFuaW1hdGlvbk9yZGVyJykgQFN0b3JlSW5MaXN0TW9kZWwoXCJjdXN0b21QbGFjZUFuaW1hdGlvbk9yZGVyTW9kZWxcIilcbiAgY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlcjpDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PltdO1xuXG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHBsYWNlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgncm91dGVPdXRsZXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICByb3V0ZXJPdXQ6IFJvdXRlck91dGxldDtcblxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFBsYWNlQ29tcG9uZW50PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wbGFjZVZpc2l0ID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFZpc2l0PigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2luT3V0bGV0VXBkYXRlID0gbmV3IEd1YXJkKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2YXRlZFJvdXRlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8QWN0aXZhdGVkUm91dGU+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BsYWNlRGVmaW5pdGlvbiA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxQbGFjZURlZmluaXRpb24+KCk7XG5cbiAgcHJpdmF0ZSBwYXJlbnRPdXRsZXRNb2RlbDogTXV0YWJsZVZhbHVlTW9kZWw8UGxhY2VPdXRsZXRDb21wb25lbnQ+O1xuICBwdWJsaWMgcmVhZG9ubHkgcGxhY2VBbmltYXRpb25PcmRlcjogVmFsdWVNb2RlbENoYWluPG51bWJlcj47XG4gIHByaXZhdGUgaXNPbkluaXRpYWxQbGFjZSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIsXG4gICAgICAgICAgICAgIEBTa2lwU2VsZigpIEBPcHRpb25hbCgpXG4gICAgICAgICAgICAgIHBhcmVudE91dGxldDogUGxhY2VPdXRsZXRDb21wb25lbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG5cbiAgICB0aGlzLnBhcmVudE91dGxldE1vZGVsID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsKHBhcmVudE91dGxldCk7XG5cbiAgICBjb25zdCBkZWZhdWx0UGxhY2VBbmltYXRpb25PcmRlciA9IGNoYWluKHRoaXMucGFyZW50T3V0bGV0TW9kZWwpXG4gICAgICAucHVsbFZhbHVlTW9kZWwobyA9PiBvLmFjdGl2ZVBsYWNlTW9kZWwpXG4gICAgICAucGx1Y2soXCJwbGFjZURlZmluaXRpb25cIilcbiAgICAgIC5wbHVja0xpc3QoXCJjaGlsZHJlblwiKVxuICAgICAgLnBsdWNrKFwiY29tcG9uZW50XCIpO1xuXG4gICAgY29uc3QgYWN0aXZhdGVQbGFjZVR5cGUgPSBjaGFpbih0aGlzLmFjdGl2ZVBsYWNlTW9kZWwpLm1hcChwID0+IHAuY29uc3RydWN0b3IgYXMgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pO1xuICAgIHRoaXMucGxhY2VBbmltYXRpb25PcmRlciA9IGNoYWluKHRoaXMuY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlck1vZGVsKVxuICAgICAgLm90aGVyd2lzZShkZWZhdWx0UGxhY2VBbmltYXRpb25PcmRlcilcbiAgICAgIC5pbmRleE9mKGFjdGl2YXRlUGxhY2VUeXBlKVxuICAgICAgLm1hcChvcmRlciA9PiB7XG4gICAgICAgIC8vIHdlIGdldCAtMSBvbiB0aGUgZmlyc3QgbG9hZCB3aGljaCB0cmlnZ2VycyBhbiBhbmltYXRpb24gdG8gdGhlIGZpcnN0IHBhZ2UsIHNvIGFsd2F5IHBpbiBpdCB0byAwXG4gICAgICAgIC8vIGlmIHdlJ3JlIGFuaW1hdGluZy5cbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPbkluaXRpYWxQbGFjZSA/IDAgOlxuICAgICAgICAgIHRoaXMuYW5pbWF0ZSA/IE1hdGgubWF4KG9yZGVyLCAwKSA6IDA7XG4gICAgICB9KTtcblxuXG4gICAgLy8gUHVzaCBpbmNvbWluZyBjaGFuZ2VzIGludG8gdGhlIGNvbXBvbmVudFxuICAgIGNvbnN0IHJvdXRlVmlzaXQgPSBjaGFpbih0aGlzLl9hY3RpdmVQbGFjZSkucGx1Y2soJ3BsYWNlRGVmaW5pdGlvbicpLmZpbmRJbihwbGFjZVJvdXRlci5hY3RpdmVWaXNpdEluZGV4KTtcbiAgICBjb25zdCBpblJvdXRlVmlzaXRVcGRhdGUgPSBuZXcgR3VhcmQoKTtcbiAgICB3aGVuLnZhbHVlT2Yocm91dGVWaXNpdCkuY2hhbmdlcygodmlzaXQpID0+IHtcbiAgICAgIGlmICh2aXNpdCkgeyAvLyBjYW4gYmUgbnVsbCB3aGlsZSB0aGUgcGxhY2UgYW5kIGluZGV4IHN5bmMgdXBcbiAgICAgICAgaW5Sb3V0ZVZpc2l0VXBkYXRlLndoaWxlVHJ1ZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fcGxhY2VWaXNpdC52YWx1ZSA9IHZpc2l0O1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuXG4gICAgLy8gSGFuZGxlIGNvbXBvbmVudCBiYXNlZCBjaGFuZ2VzXG4gICAgd2hlbi52YWx1ZU9mKHRoaXMuX3BsYWNlVmlzaXQpLmNoYW5nZXMoKG5leHQsIHByZXZpb3VzKSA9PiB7XG4gICAgICB0aGlzLnB1c2hWaXNpdENoYW5nZXNUb1JvdXRlKG5leHQsIHByZXZpb3VzKTtcbiAgICB9LCB7XG4gICAgICB1bmxlc3M6IGluUm91dGVWaXNpdFVwZGF0ZVxuICAgIH0pO1xuXG4gICAgY2hhaW4odGhpcy5fYWN0aXZlUGxhY2UpXG4gICAgICAucG9zdHBvbmVXaGlsZShwbGFjZVJvdXRlci5uYXZpZ2F0aW9uU2Vzc2lvbkFjdGl2ZSlcbiAgICAgIC5zdWJzY3JpYmUocGxhY2UgPT4gdGhpcy5wbGFjZUNoYW5nZWQuZW1pdChwbGFjZSkpO1xuXG4gICAgLy8gY29uc3QgdHhvID0gbmV3IFRyYW5zYWN0aW9uT2JzZXJ2ZXIoKS5vbkV2ZW50KGUgPT4gY29uc29sZS5sb2coZS50b1N0cmluZygpKSk7XG4gICAgLy8gdHhvLm9ic2VydmUoJ2luUm91dGVWaXNpdFVwZGF0ZScsIGluUm91dGVWaXNpdFVwZGF0ZSk7XG5cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgQFRyYWNlKClcbiAgbmF2aWdhdGUodmlzaXQ6IFZpc2l0KSB7XG4gICAgY29uc29sZS5sb2coeyBhY3RpdmF0ZWRSb3V0ZTogdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC52YWx1ZSB9KTtcbiAgICB0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRlKHZpc2l0LCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnBhcmVudE91dGxldCA/IHRoaXMucGFyZW50T3V0bGV0LmFjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWUgOiBudWxsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgcGFyZW50T3V0bGV0KCk6UGxhY2VPdXRsZXRDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLnBhcmVudE91dGxldE1vZGVsLnZhbHVlO1xuICB9XG5cbiAgcHVzaFZpc2l0Q2hhbmdlc1RvUm91dGUobmV4dDogVmlzaXQsIHByZXZpb3VzOiBWaXNpdCkge1xuICAgIGNvbnN0IGFjdGl2YXRlZFJvdXRlID0gdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC52YWx1ZTtcbiAgICB0aGlzLnBsYWNlUm91dGVyLnB1c2hWaXNpdENoYW5nZXNUb1JvdXRlKGFjdGl2YXRlZFJvdXRlLCBwcmV2aW91cywgbmV4dCk7XG4gIH1cblxuICBnZXQgYWN0aXZlUGxhY2VNb2RlbCgpOiBWYWx1ZU1vZGVsPFBsYWNlQ29tcG9uZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVBsYWNlLnJlYWRvbmx5O1xuICB9XG5cbiAgZ2V0IGFjdGl2YXRlZFJvdXRlTW9kZWwoKTogVmFsdWVNb2RlbDxBY3RpdmF0ZWRSb3V0ZT4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmF0ZWRSb3V0ZU1vZGVsLnJlYWRvbmx5O1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25PdXRsZXRBY3RpdmF0ZWQocm91dGVyT3V0bGV0OiBSb3V0ZXJPdXRsZXQsIHBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIHRoaXMuX2luT3V0bGV0VXBkYXRlLndoaWxlVHJ1ZSgoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLl9hY3RpdmVQbGFjZS52YWx1ZSA9IHBsYWNlO1xuICAgICAgICB0aGlzLl9hY3RpdmF0ZWRSb3V0ZU1vZGVsLnZhbHVlID0gcm91dGVyT3V0bGV0LmFjdGl2YXRlZFJvdXRlO1xuICAgICAgICB0aGlzLl9wbGFjZURlZmluaXRpb24udmFsdWUgPSBwbGFjZS5wbGFjZURlZmluaXRpb247XG4gICAgICAgIHBsYWNlLmluaXRpYWxpc2VCaW5kaW5ncyh0aGlzLl9wbGFjZVZpc2l0KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICghdGhpcy5hbmltYXRlKSB7XG4gICAgICAvLyB3ZSdyZSBub3QgYW5pbWF0aW5nIHNvIHRyaWdnZXIgYW55IHBvc3QgYW5pbWF0aW9uIGNhbGxiYWNrcyBub3cuXG4gICAgICB0aGlzLmFuaW1hdGlvbkRvbmUoKTtcbiAgICB9XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbk91dGxldERlYWN0aXZhdGVkKHJvdXRlck91dGxldDogUm91dGVyT3V0bGV0LCAkZXZlbnQ6IFBsYWNlUmVmKSB7XG4gICAgdGhpcy5faW5PdXRsZXRVcGRhdGUud2hpbGVUcnVlKCgpID0+IHtcbiAgICAgIHRoaXMuaXNPbkluaXRpYWxQbGFjZSA9IGZhbHNlO1xuICAgICAgdGhpcy5fYWN0aXZlUGxhY2UudmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC52YWx1ZSA9IG51bGw7XG4gICAgICB0aGlzLl9wbGFjZURlZmluaXRpb24udmFsdWUgPSBudWxsO1xuICAgIH0pO1xuICB9XG5cbiAgYW5pbWF0aW9uRG9uZSgpIHtcbiAgICBpZiAodGhpcy5fYWN0aXZlUGxhY2UudmFsdWUpIHtcbiAgICAgIHRoaXMuX2FjdGl2ZVBsYWNlLnZhbHVlLm9uUGxhY2VSZWFkeSgpO1xuICAgIH1cbiAgfVxuXG5cbn1cbiJdfQ==