@sbb-esta/lyne-elements-experimental-dev 4.7.0-dev.1773333596 → 4.7.0-dev.1773388997
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +65 -76
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +72 -52
- package/autocomplete-grid/autocomplete-grid-button.js +3 -6
- package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +2 -17
- package/autocomplete-grid/autocomplete-grid-cell.js +4 -7
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +20 -21
- package/autocomplete-grid/autocomplete-grid-optgroup.js +3 -6
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +2 -33
- package/autocomplete-grid/autocomplete-grid-option.js +4 -9
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -22
- package/autocomplete-grid/autocomplete-grid-row.js +4 -7
- package/autocomplete-grid/autocomplete-grid.js +3 -6
- package/autocomplete-grid-cell.component-Dak9wlBr.js +24 -0
- package/autocomplete-grid-option.component-DNRFHOwc.js +37 -0
- package/autocomplete-grid-row.component-DBHZQ0GQ.js +27 -0
- package/autocomplete-grid.js +9 -21
- package/autocomplete-grid.pure.js +7 -15
- package/core/datetime/date-helper.js +2 -191
- package/core/datetime.js +2 -5
- package/core/timetable/access-leg-helper.js +76 -71
- package/core/timetable/timetable-helper.js +9 -11
- package/core/timetable/timetable-properties.js +0 -1
- package/core/timetable.js +3 -7
- package/date-helper-CGproP5d.js +185 -0
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +114 -122
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +92 -70
- package/development/autocomplete-grid/autocomplete-grid-button.js +6 -4
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +2 -29
- package/development/autocomplete-grid/autocomplete-grid-cell.js +7 -5
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +27 -22
- package/development/autocomplete-grid/autocomplete-grid-optgroup.js +6 -4
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +2 -109
- package/development/autocomplete-grid/autocomplete-grid-option.js +7 -7
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -91
- package/development/autocomplete-grid/autocomplete-grid-row.js +7 -5
- package/development/autocomplete-grid/autocomplete-grid.js +6 -4
- package/development/autocomplete-grid-cell.component-BBvM4o2H.js +42 -0
- package/development/autocomplete-grid-option.component-QzfM5eIE.js +123 -0
- package/development/autocomplete-grid-row.component-H8sCTCkT.js +104 -0
- package/development/autocomplete-grid.js +10 -14
- package/development/autocomplete-grid.pure.js +4 -13
- package/development/core/datetime/date-helper.js +2 -285
- package/development/core/datetime.js +2 -6
- package/development/core/timetable/access-leg-helper.js +104 -82
- package/development/core/timetable/timetable-helper.js +16 -17
- package/development/core/timetable/timetable-properties.js +0 -2
- package/development/core/timetable.js +3 -8
- package/development/date-helper-8_Y-PuHh.js +520 -0
- package/development/differenceInMinutes-DN_1Rk3O.js +110 -0
- package/development/format-Bbrn2bgo.js +1848 -0
- package/development/isValid-C-HzKv4v.js +178 -0
- package/development/journey-summary/journey-summary.component.js +2 -288
- package/development/journey-summary.component-uGhZvA4p.js +385 -0
- package/development/journey-summary.js +8 -5
- package/development/journey-summary.pure.js +2 -5
- package/development/pearl-chain/pearl-chain.component.js +2 -634
- package/development/pearl-chain-time/pearl-chain-time.component.js +2 -306
- package/development/pearl-chain-time.component-B8mayTWD.js +415 -0
- package/development/pearl-chain-time.js +8 -5
- package/development/pearl-chain-time.pure.js +2 -5
- package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +2 -28
- package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +2 -393
- package/development/pearl-chain-vertical-item.component-BDzbcIaf.js +435 -0
- package/development/pearl-chain-vertical-item.js +8 -5
- package/development/pearl-chain-vertical-item.pure.js +2 -5
- package/development/pearl-chain-vertical.component-CswE7b3M.js +39 -0
- package/development/pearl-chain-vertical.js +8 -5
- package/development/pearl-chain-vertical.pure.js +2 -5
- package/development/pearl-chain.component-wpsTvoSe.js +704 -0
- package/development/pearl-chain.js +8 -5
- package/development/pearl-chain.pure.js +2 -5
- package/development/seat-reservation/common/mapper/icon-mapper.js +168 -71
- package/development/seat-reservation/common/mapper/mapper.js +153 -122
- package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +570 -559
- package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +992 -972
- package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.js +20334 -20367
- package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1731 -1738
- package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9741 -9782
- package/development/seat-reservation/common/mapper.js +1 -8
- package/development/seat-reservation/common/svgs.js +2 -46
- package/development/seat-reservation/common/translations/i18n.js +1118 -900
- package/development/seat-reservation/common/translations.js +1 -4
- package/development/seat-reservation/common/types.js +0 -2
- package/development/seat-reservation/common.js +7 -11
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +1305 -1230
- package/development/seat-reservation/seat-reservation/seat-reservation.component.js +2 -859
- package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +2 -106
- package/development/seat-reservation/seat-reservation-area.js +7 -5
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +35 -34
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +2 -162
- package/development/seat-reservation/seat-reservation-graphic.js +7 -5
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +2 -713
- package/development/seat-reservation/seat-reservation-navigation-coach.js +7 -5
- package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +2 -131
- package/development/seat-reservation/seat-reservation-navigation-services.js +7 -5
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +2 -601
- package/development/seat-reservation/seat-reservation-place-control.js +7 -5
- package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +2 -22
- package/development/seat-reservation/seat-reservation-scoped.js +7 -5
- package/development/seat-reservation/seat-reservation.js +7 -6
- package/development/seat-reservation-area.component-BK92ZtFo.js +138 -0
- package/development/seat-reservation-graphic.component-cUnsHh5x.js +193 -0
- package/development/seat-reservation-navigation-coach.component-D6Bglus8.js +828 -0
- package/development/seat-reservation-navigation-services.component-DYJ6Ddkg.js +179 -0
- package/development/seat-reservation-place-control.component-Bg9evKBW.js +726 -0
- package/development/seat-reservation-scoped.component-DRQ_I702.js +31 -0
- package/development/seat-reservation.component-Cq_aJKR0.js +818 -0
- package/development/seat-reservation.js +15 -28
- package/development/seat-reservation.pure.js +10 -28
- package/development/svgs-C3JMWR26.js +28 -0
- package/development/timetable-duration/timetable-duration.component.js +2 -108
- package/development/timetable-duration.component-DI0lET17.js +125 -0
- package/development/timetable-duration.js +8 -5
- package/development/timetable-duration.pure.js +2 -5
- package/development/timetable-row/timetable-row.component.js +2 -781
- package/development/timetable-row.component-CAED6Zwc.js +932 -0
- package/development/timetable-row.js +8 -13
- package/development/timetable-row.pure.js +2 -12
- package/development/toDate-Biiv3kyf.js +150 -0
- package/differenceInMinutes-Dr9gRqtu.js +27 -0
- package/format-CM5exOsN.js +1103 -0
- package/isValid-B9oVW3lA.js +36 -0
- package/journey-summary/journey-summary.component.js +2 -194
- package/journey-summary.component-Cq_4kaOp.js +264 -0
- package/journey-summary.js +5 -4
- package/journey-summary.pure.js +2 -4
- package/package.json +2 -2
- package/pearl-chain/pearl-chain.component.js +2 -165
- package/pearl-chain-time/pearl-chain-time.component.js +2 -157
- package/pearl-chain-time.component-DGDW5S1c.js +239 -0
- package/pearl-chain-time.js +5 -4
- package/pearl-chain-time.pure.js +2 -4
- package/pearl-chain-vertical/pearl-chain-vertical.component.js +2 -17
- package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +2 -77
- package/pearl-chain-vertical-item.component-G22bWhLU.js +108 -0
- package/pearl-chain-vertical-item.js +5 -4
- package/pearl-chain-vertical-item.pure.js +2 -4
- package/pearl-chain-vertical.component-CXIDT5RD.js +21 -0
- package/pearl-chain-vertical.js +5 -4
- package/pearl-chain-vertical.pure.js +2 -4
- package/pearl-chain.component-DmjkVIva.js +194 -0
- package/pearl-chain.js +5 -4
- package/pearl-chain.pure.js +2 -4
- package/seat-reservation/common/mapper/icon-mapper.js +71 -71
- package/seat-reservation/common/mapper/mapper.js +95 -89
- package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +568 -558
- package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +989 -970
- package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.js +20332 -20366
- package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1729 -1737
- package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9739 -9781
- package/seat-reservation/common/mapper.js +3 -9
- package/seat-reservation/common/svgs.js +2 -243
- package/seat-reservation/common/translations/i18n.js +1084 -891
- package/seat-reservation/common/translations.js +2 -4
- package/seat-reservation/common/types.js +0 -1
- package/seat-reservation/common.js +9 -15
- package/seat-reservation/seat-reservation/seat-reservation-base-element.js +832 -810
- package/seat-reservation/seat-reservation/seat-reservation.component.js +2 -420
- package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +2 -51
- package/seat-reservation/seat-reservation-area.js +4 -7
- package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +68 -71
- package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +2 -75
- package/seat-reservation/seat-reservation-graphic.js +4 -7
- package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +2 -234
- package/seat-reservation/seat-reservation-navigation-coach.js +4 -7
- package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +2 -85
- package/seat-reservation/seat-reservation-navigation-services.js +4 -7
- package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +2 -203
- package/seat-reservation/seat-reservation-place-control.js +4 -7
- package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +2 -13
- package/seat-reservation/seat-reservation-scoped.js +4 -7
- package/seat-reservation/seat-reservation.js +5 -9
- package/seat-reservation-area.component-n-9rGn_y.js +75 -0
- package/seat-reservation-graphic.component-YTXRmKt0.js +102 -0
- package/seat-reservation-navigation-coach.component-YJ0vaYmO.js +333 -0
- package/seat-reservation-navigation-services.component-C3xnLJg2.js +127 -0
- package/seat-reservation-place-control.component-DmBAfM6K.js +322 -0
- package/seat-reservation-scoped.component-DPkz6u17.js +17 -0
- package/seat-reservation.component-C_anMkgw.js +364 -0
- package/seat-reservation.js +17 -39
- package/seat-reservation.pure.js +15 -32
- package/svgs-D9arBcqr.js +26 -0
- package/timetable-duration/timetable-duration.component.js +2 -57
- package/timetable-duration.component-DCu8Phts.js +65 -0
- package/timetable-duration.js +5 -4
- package/timetable-duration.pure.js +2 -4
- package/timetable-row/timetable-row.component.js +2 -427
- package/timetable-row.component-BVRCB3xK.js +559 -0
- package/timetable-row.js +6 -13
- package/timetable-row.pure.js +2 -11
- package/toDate-p-Tpkb7t.js +16 -0
- package/development/differenceInMinutes-B0dawX-5.js +0 -26
- package/development/format-BMkeaqaF.js +0 -1433
- package/development/isValid-BYRch7pV.js +0 -53
- package/development/toDate-BWb6Z1JD.js +0 -24
- package/differenceInMinutes-COvvdYsJ.js +0 -23
- package/format-CmKROkbc.js +0 -1186
- package/isValid-m3_OsPaB.js +0 -45
- package/toDate-Bw2KTWeq.js +0 -15
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { n as constructFrom, r as millisecondsInDay, t as toDate } from "./toDate-Biiv3kyf.js";
|
|
2
|
+
//#region node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js
|
|
3
|
+
/**
|
|
4
|
+
* Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.
|
|
5
|
+
* They usually appear for dates that denote time before the timezones were introduced
|
|
6
|
+
* (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891
|
|
7
|
+
* and GMT+01:00:00 after that date)
|
|
8
|
+
*
|
|
9
|
+
* Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,
|
|
10
|
+
* which would lead to incorrect calculations.
|
|
11
|
+
*
|
|
12
|
+
* This function returns the timezone offset in milliseconds that takes seconds in account.
|
|
13
|
+
*/
|
|
14
|
+
function getTimezoneOffsetInMilliseconds(date) {
|
|
15
|
+
const _date = toDate(date);
|
|
16
|
+
const utcDate = new Date(Date.UTC(_date.getFullYear(), _date.getMonth(), _date.getDate(), _date.getHours(), _date.getMinutes(), _date.getSeconds(), _date.getMilliseconds()));
|
|
17
|
+
utcDate.setUTCFullYear(_date.getFullYear());
|
|
18
|
+
return +date - +utcDate;
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region node_modules/date-fns/_lib/normalizeDates.js
|
|
22
|
+
function normalizeDates(context, ...dates) {
|
|
23
|
+
const normalize = constructFrom.bind(null, context || dates.find((date) => typeof date === "object"));
|
|
24
|
+
return dates.map(normalize);
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region node_modules/date-fns/startOfDay.js
|
|
28
|
+
/**
|
|
29
|
+
* The {@link startOfDay} function options.
|
|
30
|
+
*/
|
|
31
|
+
/**
|
|
32
|
+
* @name startOfDay
|
|
33
|
+
* @category Day Helpers
|
|
34
|
+
* @summary Return the start of a day for the given date.
|
|
35
|
+
*
|
|
36
|
+
* @description
|
|
37
|
+
* Return the start of a day for the given date.
|
|
38
|
+
* The result will be in the local timezone.
|
|
39
|
+
*
|
|
40
|
+
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
|
|
41
|
+
* @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.
|
|
42
|
+
*
|
|
43
|
+
* @param date - The original date
|
|
44
|
+
* @param options - The options
|
|
45
|
+
*
|
|
46
|
+
* @returns The start of a day
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* // The start of a day for 2 September 2014 11:55:00:
|
|
50
|
+
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
|
|
51
|
+
* //=> Tue Sep 02 2014 00:00:00
|
|
52
|
+
*/
|
|
53
|
+
function startOfDay(date, options) {
|
|
54
|
+
const _date = toDate(date, options?.in);
|
|
55
|
+
_date.setHours(0, 0, 0, 0);
|
|
56
|
+
return _date;
|
|
57
|
+
}
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region node_modules/date-fns/differenceInCalendarDays.js
|
|
60
|
+
/**
|
|
61
|
+
* The {@link differenceInCalendarDays} function options.
|
|
62
|
+
*/
|
|
63
|
+
/**
|
|
64
|
+
* @name differenceInCalendarDays
|
|
65
|
+
* @category Day Helpers
|
|
66
|
+
* @summary Get the number of calendar days between the given dates.
|
|
67
|
+
*
|
|
68
|
+
* @description
|
|
69
|
+
* Get the number of calendar days between the given dates. This means that the times are removed
|
|
70
|
+
* from the dates and then the difference in days is calculated.
|
|
71
|
+
*
|
|
72
|
+
* @param laterDate - The later date
|
|
73
|
+
* @param earlierDate - The earlier date
|
|
74
|
+
* @param options - The options object
|
|
75
|
+
*
|
|
76
|
+
* @returns The number of calendar days
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* // How many calendar days are between
|
|
80
|
+
* // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?
|
|
81
|
+
* const result = differenceInCalendarDays(
|
|
82
|
+
* new Date(2012, 6, 2, 0, 0),
|
|
83
|
+
* new Date(2011, 6, 2, 23, 0)
|
|
84
|
+
* )
|
|
85
|
+
* //=> 366
|
|
86
|
+
* // How many calendar days are between
|
|
87
|
+
* // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?
|
|
88
|
+
* const result = differenceInCalendarDays(
|
|
89
|
+
* new Date(2011, 6, 3, 0, 1),
|
|
90
|
+
* new Date(2011, 6, 2, 23, 59)
|
|
91
|
+
* )
|
|
92
|
+
* //=> 1
|
|
93
|
+
*/
|
|
94
|
+
function differenceInCalendarDays(laterDate, earlierDate, options) {
|
|
95
|
+
const [laterDate_, earlierDate_] = normalizeDates(options?.in, laterDate, earlierDate);
|
|
96
|
+
const laterStartOfDay = startOfDay(laterDate_);
|
|
97
|
+
const earlierStartOfDay = startOfDay(earlierDate_);
|
|
98
|
+
const laterTimestamp = +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);
|
|
99
|
+
const earlierTimestamp = +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);
|
|
100
|
+
return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);
|
|
101
|
+
}
|
|
102
|
+
//#endregion
|
|
103
|
+
//#region node_modules/date-fns/isDate.js
|
|
104
|
+
/**
|
|
105
|
+
* @name isDate
|
|
106
|
+
* @category Common Helpers
|
|
107
|
+
* @summary Is the given value a date?
|
|
108
|
+
*
|
|
109
|
+
* @description
|
|
110
|
+
* Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.
|
|
111
|
+
*
|
|
112
|
+
* @param value - The value to check
|
|
113
|
+
*
|
|
114
|
+
* @returns True if the given value is a date
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* // For a valid date:
|
|
118
|
+
* const result = isDate(new Date())
|
|
119
|
+
* //=> true
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* // For an invalid date:
|
|
123
|
+
* const result = isDate(new Date(NaN))
|
|
124
|
+
* //=> true
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* // For some value:
|
|
128
|
+
* const result = isDate('2014-02-31')
|
|
129
|
+
* //=> false
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* // For an object:
|
|
133
|
+
* const result = isDate({})
|
|
134
|
+
* //=> false
|
|
135
|
+
*/
|
|
136
|
+
function isDate(value) {
|
|
137
|
+
return value instanceof Date || typeof value === "object" && Object.prototype.toString.call(value) === "[object Date]";
|
|
138
|
+
}
|
|
139
|
+
//#endregion
|
|
140
|
+
//#region node_modules/date-fns/isValid.js
|
|
141
|
+
/**
|
|
142
|
+
* @name isValid
|
|
143
|
+
* @category Common Helpers
|
|
144
|
+
* @summary Is the given date valid?
|
|
145
|
+
*
|
|
146
|
+
* @description
|
|
147
|
+
* Returns false if argument is Invalid Date and true otherwise.
|
|
148
|
+
* Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)
|
|
149
|
+
* Invalid Date is a Date, whose time value is NaN.
|
|
150
|
+
*
|
|
151
|
+
* Time value of Date: http://es5.github.io/#x15.9.1.1
|
|
152
|
+
*
|
|
153
|
+
* @param date - The date to check
|
|
154
|
+
*
|
|
155
|
+
* @returns The date is valid
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* // For the valid date:
|
|
159
|
+
* const result = isValid(new Date(2014, 1, 31))
|
|
160
|
+
* //=> true
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* // For the value, convertible into a date:
|
|
164
|
+
* const result = isValid(1393804800000)
|
|
165
|
+
* //=> true
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* // For the invalid date:
|
|
169
|
+
* const result = isValid(new Date(''))
|
|
170
|
+
* //=> false
|
|
171
|
+
*/
|
|
172
|
+
function isValid(date) {
|
|
173
|
+
return !(!isDate(date) && typeof date !== "number" || isNaN(+toDate(date)));
|
|
174
|
+
}
|
|
175
|
+
//#endregion
|
|
176
|
+
export { differenceInCalendarDays as n, normalizeDates as r, isValid as t };
|
|
177
|
+
|
|
178
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNWYWxpZC1DLUh6S3Y0di5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvX2xpYi9nZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL19saWIvbm9ybWFsaXplRGF0ZXMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvc3RhcnRPZkRheS5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9kaWZmZXJlbmNlSW5DYWxlbmRhckRheXMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvaXNEYXRlLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2lzVmFsaWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4uL3RvRGF0ZS5qc1wiO1xuXG4vKipcbiAqIEdvb2dsZSBDaHJvbWUgYXMgb2YgNjcuMC4zMzk2Ljg3IGludHJvZHVjZWQgdGltZXpvbmVzIHdpdGggb2Zmc2V0IHRoYXQgaW5jbHVkZXMgc2Vjb25kcy5cbiAqIFRoZXkgdXN1YWxseSBhcHBlYXIgZm9yIGRhdGVzIHRoYXQgZGVub3RlIHRpbWUgYmVmb3JlIHRoZSB0aW1lem9uZXMgd2VyZSBpbnRyb2R1Y2VkXG4gKiAoZS5nLiBmb3IgJ0V1cm9wZS9QcmFndWUnIHRpbWV6b25lIHRoZSBvZmZzZXQgaXMgR01UKzAwOjU3OjQ0IGJlZm9yZSAxIE9jdG9iZXIgMTg5MVxuICogYW5kIEdNVCswMTowMDowMCBhZnRlciB0aGF0IGRhdGUpXG4gKlxuICogRGF0ZSNnZXRUaW1lem9uZU9mZnNldCByZXR1cm5zIHRoZSBvZmZzZXQgaW4gbWludXRlcyBhbmQgd291bGQgcmV0dXJuIDU3IGZvciB0aGUgZXhhbXBsZSBhYm92ZSxcbiAqIHdoaWNoIHdvdWxkIGxlYWQgdG8gaW5jb3JyZWN0IGNhbGN1bGF0aW9ucy5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHRpbWV6b25lIG9mZnNldCBpbiBtaWxsaXNlY29uZHMgdGhhdCB0YWtlcyBzZWNvbmRzIGluIGFjY291bnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzKGRhdGUpIHtcbiAgY29uc3QgX2RhdGUgPSB0b0RhdGUoZGF0ZSk7XG4gIGNvbnN0IHV0Y0RhdGUgPSBuZXcgRGF0ZShcbiAgICBEYXRlLlVUQyhcbiAgICAgIF9kYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICBfZGF0ZS5nZXRNb250aCgpLFxuICAgICAgX2RhdGUuZ2V0RGF0ZSgpLFxuICAgICAgX2RhdGUuZ2V0SG91cnMoKSxcbiAgICAgIF9kYXRlLmdldE1pbnV0ZXMoKSxcbiAgICAgIF9kYXRlLmdldFNlY29uZHMoKSxcbiAgICAgIF9kYXRlLmdldE1pbGxpc2Vjb25kcygpLFxuICAgICksXG4gICk7XG4gIHV0Y0RhdGUuc2V0VVRDRnVsbFllYXIoX2RhdGUuZ2V0RnVsbFllYXIoKSk7XG4gIHJldHVybiArZGF0ZSAtICt1dGNEYXRlO1xufVxuIiwiaW1wb3J0IHsgY29uc3RydWN0RnJvbSB9IGZyb20gXCIuLi9jb25zdHJ1Y3RGcm9tLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVEYXRlcyhjb250ZXh0LCAuLi5kYXRlcykge1xuICBjb25zdCBub3JtYWxpemUgPSBjb25zdHJ1Y3RGcm9tLmJpbmQoXG4gICAgbnVsbCxcbiAgICBjb250ZXh0IHx8IGRhdGVzLmZpbmQoKGRhdGUpID0+IHR5cGVvZiBkYXRlID09PSBcIm9iamVjdFwiKSxcbiAgKTtcbiAgcmV0dXJuIGRhdGVzLm1hcChub3JtYWxpemUpO1xufVxuIiwiaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBzdGFydE9mRGF5fSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgc3RhcnRPZkRheVxuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBSZXR1cm4gdGhlIHN0YXJ0IG9mIGEgZGF5IGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybiB0aGUgc3RhcnQgb2YgYSBkYXkgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICogVGhlIHJlc3VsdCB3aWxsIGJlIGluIHRoZSBsb2NhbCB0aW1lem9uZS5cbiAqXG4gKiBAdHlwZVBhcmFtIERhdGVUeXBlIC0gVGhlIGBEYXRlYCB0eXBlLCB0aGUgZnVuY3Rpb24gb3BlcmF0ZXMgb24uIEdldHMgaW5mZXJyZWQgZnJvbSBwYXNzZWQgYXJndW1lbnRzLiBBbGxvd3MgdG8gdXNlIGV4dGVuc2lvbnMgbGlrZSBbYFVUQ0RhdGVgXShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvdXRjKS5cbiAqIEB0eXBlUGFyYW0gUmVzdWx0RGF0ZSAtIFRoZSByZXN1bHQgYERhdGVgIHR5cGUsIGl0IGlzIHRoZSB0eXBlIHJldHVybmVkIGZyb20gdGhlIGNvbnRleHQgZnVuY3Rpb24gaWYgaXQgaXMgcGFzc2VkLCBvciBpbmZlcnJlZCBmcm9tIHRoZSBhcmd1bWVudHMuXG4gKlxuICogQHBhcmFtIGRhdGUgLSBUaGUgb3JpZ2luYWwgZGF0ZVxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9uc1xuICpcbiAqIEByZXR1cm5zIFRoZSBzdGFydCBvZiBhIGRheVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaGUgc3RhcnQgb2YgYSBkYXkgZm9yIDIgU2VwdGVtYmVyIDIwMTQgMTE6NTU6MDA6XG4gKiBjb25zdCByZXN1bHQgPSBzdGFydE9mRGF5KG5ldyBEYXRlKDIwMTQsIDgsIDIsIDExLCA1NSwgMCkpXG4gKiAvLz0+IFR1ZSBTZXAgMDIgMjAxNCAwMDowMDowMFxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RhcnRPZkRheShkYXRlLCBvcHRpb25zKSB7XG4gIGNvbnN0IF9kYXRlID0gdG9EYXRlKGRhdGUsIG9wdGlvbnM/LmluKTtcbiAgX2RhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gIHJldHVybiBfZGF0ZTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBzdGFydE9mRGF5O1xuIiwiaW1wb3J0IHsgZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyB9IGZyb20gXCIuL19saWIvZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcy5qc1wiO1xuaW1wb3J0IHsgbm9ybWFsaXplRGF0ZXMgfSBmcm9tIFwiLi9fbGliL25vcm1hbGl6ZURhdGVzLmpzXCI7XG5pbXBvcnQgeyBtaWxsaXNlY29uZHNJbkRheSB9IGZyb20gXCIuL2NvbnN0YW50cy5qc1wiO1xuaW1wb3J0IHsgc3RhcnRPZkRheSB9IGZyb20gXCIuL3N0YXJ0T2ZEYXkuanNcIjtcblxuLyoqXG4gKiBUaGUge0BsaW5rIGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5c30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5c1xuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIG51bWJlciBvZiBjYWxlbmRhciBkYXlzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBudW1iZXIgb2YgY2FsZW5kYXIgZGF5cyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy4gVGhpcyBtZWFucyB0aGF0IHRoZSB0aW1lcyBhcmUgcmVtb3ZlZFxuICogZnJvbSB0aGUgZGF0ZXMgYW5kIHRoZW4gdGhlIGRpZmZlcmVuY2UgaW4gZGF5cyBpcyBjYWxjdWxhdGVkLlxuICpcbiAqIEBwYXJhbSBsYXRlckRhdGUgLSBUaGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIGVhcmxpZXJEYXRlIC0gVGhlIGVhcmxpZXIgZGF0ZVxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBvYmplY3RcbiAqXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIGNhbGVuZGFyIGRheXNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgY2FsZW5kYXIgZGF5cyBhcmUgYmV0d2VlblxuICogLy8gMiBKdWx5IDIwMTEgMjM6MDA6MDAgYW5kIDIgSnVseSAyMDEyIDAwOjAwOjAwP1xuICogY29uc3QgcmVzdWx0ID0gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKFxuICogICBuZXcgRGF0ZSgyMDEyLCA2LCAyLCAwLCAwKSxcbiAqICAgbmV3IERhdGUoMjAxMSwgNiwgMiwgMjMsIDApXG4gKiApXG4gKiAvLz0+IDM2NlxuICogLy8gSG93IG1hbnkgY2FsZW5kYXIgZGF5cyBhcmUgYmV0d2VlblxuICogLy8gMiBKdWx5IDIwMTEgMjM6NTk6MDAgYW5kIDMgSnVseSAyMDExIDAwOjAxOjAwP1xuICogY29uc3QgcmVzdWx0ID0gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKFxuICogICBuZXcgRGF0ZSgyMDExLCA2LCAzLCAwLCAxKSxcbiAqICAgbmV3IERhdGUoMjAxMSwgNiwgMiwgMjMsIDU5KVxuICogKVxuICogLy89PiAxXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMobGF0ZXJEYXRlLCBlYXJsaWVyRGF0ZSwgb3B0aW9ucykge1xuICBjb25zdCBbbGF0ZXJEYXRlXywgZWFybGllckRhdGVfXSA9IG5vcm1hbGl6ZURhdGVzKFxuICAgIG9wdGlvbnM/LmluLFxuICAgIGxhdGVyRGF0ZSxcbiAgICBlYXJsaWVyRGF0ZSxcbiAgKTtcblxuICBjb25zdCBsYXRlclN0YXJ0T2ZEYXkgPSBzdGFydE9mRGF5KGxhdGVyRGF0ZV8pO1xuICBjb25zdCBlYXJsaWVyU3RhcnRPZkRheSA9IHN0YXJ0T2ZEYXkoZWFybGllckRhdGVfKTtcblxuICBjb25zdCBsYXRlclRpbWVzdGFtcCA9XG4gICAgK2xhdGVyU3RhcnRPZkRheSAtIGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMobGF0ZXJTdGFydE9mRGF5KTtcbiAgY29uc3QgZWFybGllclRpbWVzdGFtcCA9XG4gICAgK2VhcmxpZXJTdGFydE9mRGF5IC0gZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyhlYXJsaWVyU3RhcnRPZkRheSk7XG5cbiAgLy8gUm91bmQgdGhlIG51bWJlciBvZiBkYXlzIHRvIHRoZSBuZWFyZXN0IGludGVnZXIgYmVjYXVzZSB0aGUgbnVtYmVyIG9mXG4gIC8vIG1pbGxpc2Vjb25kcyBpbiBhIGRheSBpcyBub3QgY29uc3RhbnQgKGUuZy4gaXQncyBkaWZmZXJlbnQgaW4gdGhlIHdlZWsgb2ZcbiAgLy8gdGhlIGRheWxpZ2h0IHNhdmluZyB0aW1lIGNsb2NrIHNoaWZ0KS5cbiAgcmV0dXJuIE1hdGgucm91bmQoKGxhdGVyVGltZXN0YW1wIC0gZWFybGllclRpbWVzdGFtcCkgLyBtaWxsaXNlY29uZHNJbkRheSk7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzO1xuIiwiLyoqXG4gKiBAbmFtZSBpc0RhdGVcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGdpdmVuIHZhbHVlIGEgZGF0ZT9cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYW4gaW5zdGFuY2Ugb2YgRGF0ZS4gVGhlIGZ1bmN0aW9uIHdvcmtzIGZvciBkYXRlcyB0cmFuc2ZlcnJlZCBhY3Jvc3MgaWZyYW1lcy5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2tcbiAqXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBnaXZlbiB2YWx1ZSBpcyBhIGRhdGVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRm9yIGEgdmFsaWQgZGF0ZTpcbiAqIGNvbnN0IHJlc3VsdCA9IGlzRGF0ZShuZXcgRGF0ZSgpKVxuICogLy89PiB0cnVlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciBhbiBpbnZhbGlkIGRhdGU6XG4gKiBjb25zdCByZXN1bHQgPSBpc0RhdGUobmV3IERhdGUoTmFOKSlcbiAqIC8vPT4gdHJ1ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3Igc29tZSB2YWx1ZTpcbiAqIGNvbnN0IHJlc3VsdCA9IGlzRGF0ZSgnMjAxNC0wMi0zMScpXG4gKiAvLz0+IGZhbHNlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciBhbiBvYmplY3Q6XG4gKiBjb25zdCByZXN1bHQgPSBpc0RhdGUoe30pXG4gKiAvLz0+IGZhbHNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGUodmFsdWUpIHtcbiAgcmV0dXJuIChcbiAgICB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgfHxcbiAgICAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmXG4gICAgICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpID09PSBcIltvYmplY3QgRGF0ZV1cIilcbiAgKTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBpc0RhdGU7XG4iLCJpbXBvcnQgeyBpc0RhdGUgfSBmcm9tIFwiLi9pc0RhdGUuanNcIjtcbmltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuL3RvRGF0ZS5qc1wiO1xuXG4vKipcbiAqIEBuYW1lIGlzVmFsaWRcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGdpdmVuIGRhdGUgdmFsaWQ/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm5zIGZhbHNlIGlmIGFyZ3VtZW50IGlzIEludmFsaWQgRGF0ZSBhbmQgdHJ1ZSBvdGhlcndpc2UuXG4gKiBBcmd1bWVudCBpcyBjb252ZXJ0ZWQgdG8gRGF0ZSB1c2luZyBgdG9EYXRlYC4gU2VlIFt0b0RhdGVdKGh0dHBzOi8vZGF0ZS1mbnMub3JnL2RvY3MvdG9EYXRlKVxuICogSW52YWxpZCBEYXRlIGlzIGEgRGF0ZSwgd2hvc2UgdGltZSB2YWx1ZSBpcyBOYU4uXG4gKlxuICogVGltZSB2YWx1ZSBvZiBEYXRlOiBodHRwOi8vZXM1LmdpdGh1Yi5pby8jeDE1LjkuMS4xXG4gKlxuICogQHBhcmFtIGRhdGUgLSBUaGUgZGF0ZSB0byBjaGVja1xuICpcbiAqIEByZXR1cm5zIFRoZSBkYXRlIGlzIHZhbGlkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciB0aGUgdmFsaWQgZGF0ZTpcbiAqIGNvbnN0IHJlc3VsdCA9IGlzVmFsaWQobmV3IERhdGUoMjAxNCwgMSwgMzEpKVxuICogLy89PiB0cnVlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciB0aGUgdmFsdWUsIGNvbnZlcnRpYmxlIGludG8gYSBkYXRlOlxuICogY29uc3QgcmVzdWx0ID0gaXNWYWxpZCgxMzkzODA0ODAwMDAwKVxuICogLy89PiB0cnVlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciB0aGUgaW52YWxpZCBkYXRlOlxuICogY29uc3QgcmVzdWx0ID0gaXNWYWxpZChuZXcgRGF0ZSgnJykpXG4gKiAvLz0+IGZhbHNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkKGRhdGUpIHtcbiAgcmV0dXJuICEoKCFpc0RhdGUoZGF0ZSkgJiYgdHlwZW9mIGRhdGUgIT09IFwibnVtYmVyXCIpIHx8IGlzTmFOKCt0b0RhdGUoZGF0ZSkpKTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBpc1ZhbGlkO1xuIl0sInhfZ29vZ2xlX2lnbm9yZUxpc3QiOlswLDEsMiwzLDQsNV0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBYUEsU0FBZ0IsZ0NBQWdDLE1BQU07Q0FDcEQsTUFBTSxRQUFRLE9BQU8sS0FBSztDQUMxQixNQUFNLFVBQVUsSUFBSSxLQUNsQixLQUFLLElBQ0gsTUFBTSxhQUFhLEVBQ25CLE1BQU0sVUFBVSxFQUNoQixNQUFNLFNBQVMsRUFDZixNQUFNLFVBQVUsRUFDaEIsTUFBTSxZQUFZLEVBQ2xCLE1BQU0sWUFBWSxFQUNsQixNQUFNLGlCQUFpQixDQUN4QixDQUNGO0FBQ0QsU0FBUSxlQUFlLE1BQU0sYUFBYSxDQUFDO0FBQzNDLFFBQU8sQ0FBQyxPQUFPLENBQUM7Ozs7QUN6QmxCLFNBQWdCLGVBQWUsU0FBUyxHQUFHLE9BQU87Q0FDaEQsTUFBTSxZQUFZLGNBQWMsS0FDOUIsTUFDQSxXQUFXLE1BQU0sTUFBTSxTQUFTLE9BQU8sU0FBUyxTQUFTLENBQzFEO0FBQ0QsUUFBTyxNQUFNLElBQUksVUFBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNxQjdCLFNBQWdCLFdBQVcsTUFBTSxTQUFTO0NBQ3hDLE1BQU0sUUFBUSxPQUFPLE1BQU0sU0FBUyxHQUFHO0FBQ3ZDLE9BQU0sU0FBUyxHQUFHLEdBQUcsR0FBRyxFQUFFO0FBQzFCLFFBQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDU1QsU0FBZ0IseUJBQXlCLFdBQVcsYUFBYSxTQUFTO0NBQ3hFLE1BQU0sQ0FBQyxZQUFZLGdCQUFnQixlQUNqQyxTQUFTLElBQ1QsV0FDQSxZQUNEO0NBRUQsTUFBTSxrQkFBa0IsV0FBVyxXQUFXO0NBQzlDLE1BQU0sb0JBQW9CLFdBQVcsYUFBYTtDQUVsRCxNQUFNLGlCQUNKLENBQUMsa0JBQWtCLGdDQUFnQyxnQkFBZ0I7Q0FDckUsTUFBTSxtQkFDSixDQUFDLG9CQUFvQixnQ0FBZ0Msa0JBQWtCO0FBS3pFLFFBQU8sS0FBSyxPQUFPLGlCQUFpQixvQkFBb0Isa0JBQWtCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMxQjVFLFNBQWdCLE9BQU8sT0FBTztBQUM1QixRQUNFLGlCQUFpQixRQUNoQixPQUFPLFVBQVUsWUFDaEIsT0FBTyxVQUFVLFNBQVMsS0FBSyxNQUFNLEtBQUs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDRmhELFNBQWdCLFFBQVEsTUFBTTtBQUM1QixRQUFPLEVBQUcsQ0FBQyxPQUFPLEtBQUssSUFBSSxPQUFPLFNBQVMsWUFBYSxNQUFNLENBQUMsT0FBTyxLQUFLLENBQUMifQ==
|
|
@@ -1,288 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
};
|
|
4
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
5
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
6
|
-
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
|
-
import { __runInitializers, __esDecorate } from "tslib";
|
|
9
|
-
import { SbbElement } from "@sbb-esta/lyne-elements/core/base-elements.js";
|
|
10
|
-
import { SbbLanguageController } from "@sbb-esta/lyne-elements/core/controllers.js";
|
|
11
|
-
import { defaultDateAdapter } from "@sbb-esta/lyne-elements/core/datetime.js";
|
|
12
|
-
import { forceType } from "@sbb-esta/lyne-elements/core/decorators.js";
|
|
13
|
-
import { i18nTripDuration } from "@sbb-esta/lyne-elements/core/i18n.js";
|
|
14
|
-
import { boxSizingStyles } from "@sbb-esta/lyne-elements/core/styles.js";
|
|
15
|
-
import { css, nothing, html } from "lit";
|
|
16
|
-
import { property } from "lit/decorators.js";
|
|
17
|
-
import { durationToTime, removeTimezoneFromISOTimeString } from "../core/datetime.js";
|
|
18
|
-
import "@sbb-esta/lyne-elements/divider.js";
|
|
19
|
-
import "@sbb-esta/lyne-elements/screen-reader-only.js";
|
|
20
|
-
import "@sbb-esta/lyne-elements/journey-header.js";
|
|
21
|
-
import "../pearl-chain-time.js";
|
|
22
|
-
import { i as isValid } from "../isValid-BYRch7pV.js";
|
|
23
|
-
import { f as format } from "../format-BMkeaqaF.js";
|
|
24
|
-
const style = css`:host {
|
|
25
|
-
display: block;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.sbb-journey-summary {
|
|
29
|
-
--sbb-text-font-size: var(--sbb-text-font-size-s);
|
|
30
|
-
font-family: var(--sbb-typo-font-family);
|
|
31
|
-
font-weight: normal;
|
|
32
|
-
line-height: var(--sbb-typo-line-height-text);
|
|
33
|
-
letter-spacing: var(--sbb-typo-letter-spacing-text);
|
|
34
|
-
font-size: var(--sbb-text-font-size);
|
|
35
|
-
color: var(--sbb-color-4);
|
|
36
|
-
display: flex;
|
|
37
|
-
flex-direction: column;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.sbb-journey-summary__via-block {
|
|
41
|
-
display: flex;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.sbb-journey-summary__vias {
|
|
45
|
-
overflow: hidden;
|
|
46
|
-
white-space: nowrap;
|
|
47
|
-
text-overflow: ellipsis;
|
|
48
|
-
margin-block: 0;
|
|
49
|
-
padding-inline-start: var(--sbb-spacing-fixed-1x);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.sbb-journey-summary__date {
|
|
53
|
-
margin-block-end: var(--sbb-spacing-fixed-2x);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
.sbb-journey-summary__via {
|
|
57
|
-
white-space: nowrap;
|
|
58
|
-
overflow: hidden;
|
|
59
|
-
text-overflow: ellipsis;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.sbb-journey-summary__divider {
|
|
63
|
-
margin-block: var(--sbb-spacing-fixed-6x);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
ul li {
|
|
67
|
-
list-style: none;
|
|
68
|
-
display: inline;
|
|
69
|
-
}`;
|
|
70
|
-
let SbbJourneySummaryElement = (() => {
|
|
71
|
-
var _trip_accessor_storage, _tripBack_accessor_storage, _roundTrip_accessor_storage, _headerLevel_accessor_storage, _disableAnimation_accessor_storage, _a11yFootpath_accessor_storage, _a;
|
|
72
|
-
let _classSuper = SbbElement;
|
|
73
|
-
let _instanceExtraInitializers = [];
|
|
74
|
-
let _trip_decorators;
|
|
75
|
-
let _trip_initializers = [];
|
|
76
|
-
let _trip_extraInitializers = [];
|
|
77
|
-
let _tripBack_decorators;
|
|
78
|
-
let _tripBack_initializers = [];
|
|
79
|
-
let _tripBack_extraInitializers = [];
|
|
80
|
-
let _roundTrip_decorators;
|
|
81
|
-
let _roundTrip_initializers = [];
|
|
82
|
-
let _roundTrip_extraInitializers = [];
|
|
83
|
-
let _headerLevel_decorators;
|
|
84
|
-
let _headerLevel_initializers = [];
|
|
85
|
-
let _headerLevel_extraInitializers = [];
|
|
86
|
-
let _disableAnimation_decorators;
|
|
87
|
-
let _disableAnimation_initializers = [];
|
|
88
|
-
let _disableAnimation_extraInitializers = [];
|
|
89
|
-
let _a11yFootpath_decorators;
|
|
90
|
-
let _a11yFootpath_initializers = [];
|
|
91
|
-
let _a11yFootpath_extraInitializers = [];
|
|
92
|
-
let _set_now_decorators;
|
|
93
|
-
return _a = class extends _classSuper {
|
|
94
|
-
constructor() {
|
|
95
|
-
super(...arguments);
|
|
96
|
-
__privateAdd(this, _trip_accessor_storage);
|
|
97
|
-
__privateAdd(this, _tripBack_accessor_storage);
|
|
98
|
-
__privateAdd(this, _roundTrip_accessor_storage);
|
|
99
|
-
__privateAdd(this, _headerLevel_accessor_storage);
|
|
100
|
-
__privateAdd(this, _disableAnimation_accessor_storage);
|
|
101
|
-
__privateAdd(this, _a11yFootpath_accessor_storage);
|
|
102
|
-
__privateSet(this, _trip_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _trip_initializers, null)));
|
|
103
|
-
__privateSet(this, _tripBack_accessor_storage, (__runInitializers(this, _trip_extraInitializers), __runInitializers(this, _tripBack_initializers, null)));
|
|
104
|
-
__privateSet(this, _roundTrip_accessor_storage, (__runInitializers(this, _tripBack_extraInitializers), __runInitializers(this, _roundTrip_initializers, false)));
|
|
105
|
-
__privateSet(this, _headerLevel_accessor_storage, (__runInitializers(this, _roundTrip_extraInitializers), __runInitializers(this, _headerLevel_initializers, "3")));
|
|
106
|
-
__privateSet(this, _disableAnimation_accessor_storage, (__runInitializers(this, _headerLevel_extraInitializers), __runInitializers(this, _disableAnimation_initializers, false)));
|
|
107
|
-
__privateSet(this, _a11yFootpath_accessor_storage, (__runInitializers(this, _disableAnimation_extraInitializers), __runInitializers(this, _a11yFootpath_initializers, false)));
|
|
108
|
-
this._now = (__runInitializers(this, _a11yFootpath_extraInitializers), null);
|
|
109
|
-
this._hasContentSlot = false;
|
|
110
|
-
this._language = new SbbLanguageController(this);
|
|
111
|
-
}
|
|
112
|
-
/** The trip prop */
|
|
113
|
-
get trip() {
|
|
114
|
-
return __privateGet(this, _trip_accessor_storage);
|
|
115
|
-
}
|
|
116
|
-
set trip(value) {
|
|
117
|
-
__privateSet(this, _trip_accessor_storage, value);
|
|
118
|
-
}
|
|
119
|
-
/** The tripBack prop */
|
|
120
|
-
get tripBack() {
|
|
121
|
-
return __privateGet(this, _tripBack_accessor_storage);
|
|
122
|
-
}
|
|
123
|
-
set tripBack(value) {
|
|
124
|
-
__privateSet(this, _tripBack_accessor_storage, value);
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* The RoundTrip prop. This prop controls if one or two arrows are displayed in the header.
|
|
128
|
-
*/
|
|
129
|
-
get roundTrip() {
|
|
130
|
-
return __privateGet(this, _roundTrip_accessor_storage);
|
|
131
|
-
}
|
|
132
|
-
set roundTrip(value) {
|
|
133
|
-
__privateSet(this, _roundTrip_accessor_storage, value);
|
|
134
|
-
}
|
|
135
|
-
/** Heading level of the journey header element (e.g. h1-h6). */
|
|
136
|
-
get headerLevel() {
|
|
137
|
-
return __privateGet(this, _headerLevel_accessor_storage);
|
|
138
|
-
}
|
|
139
|
-
set headerLevel(value) {
|
|
140
|
-
__privateSet(this, _headerLevel_accessor_storage, value);
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Per default, the current location has a pulsating animation. You can
|
|
144
|
-
* disable the animation with this property.
|
|
145
|
-
*/
|
|
146
|
-
get disableAnimation() {
|
|
147
|
-
return __privateGet(this, _disableAnimation_accessor_storage);
|
|
148
|
-
}
|
|
149
|
-
set disableAnimation(value) {
|
|
150
|
-
__privateSet(this, _disableAnimation_accessor_storage, value);
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* The Footpath attribute for rendering different icons
|
|
154
|
-
* true: render a11y-icon
|
|
155
|
-
* false: render walk-icon
|
|
156
|
-
* default: render walk-icon
|
|
157
|
-
*/
|
|
158
|
-
get a11yFootpath() {
|
|
159
|
-
return __privateGet(this, _a11yFootpath_accessor_storage);
|
|
160
|
-
}
|
|
161
|
-
set a11yFootpath(value) {
|
|
162
|
-
__privateSet(this, _a11yFootpath_accessor_storage, value);
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* A configured date which acts as the current date instead of the real current date.
|
|
166
|
-
* Only recommended for testing purposes.
|
|
167
|
-
*/
|
|
168
|
-
set now(value) {
|
|
169
|
-
this._now = defaultDateAdapter.getValidDateOrNull(defaultDateAdapter.deserialize(value));
|
|
170
|
-
}
|
|
171
|
-
get now() {
|
|
172
|
-
return this._now ?? /* @__PURE__ */ new Date();
|
|
173
|
-
}
|
|
174
|
-
connectedCallback() {
|
|
175
|
-
super.connectedCallback();
|
|
176
|
-
this._hasContentSlot = Boolean(this.querySelector?.('[slot="content"]'));
|
|
177
|
-
}
|
|
178
|
-
/** renders the date of the journey or if it is the current or next day */
|
|
179
|
-
_renderJourneyStart(departureTime, duration) {
|
|
180
|
-
const dateAdapter = defaultDateAdapter;
|
|
181
|
-
const durationObj = duration ? durationToTime(duration, this._language.current) : null;
|
|
182
|
-
if (isValid(departureTime)) {
|
|
183
|
-
return html`
|
|
184
|
-
<time datetime=${format(departureTime, "d") + " " + format(departureTime, "M")}>
|
|
185
|
-
${dateAdapter.format(departureTime).replace(",", ".")}</time
|
|
186
|
-
>${duration && duration > 0 ? html`,<time>
|
|
187
|
-
<sbb-screen-reader-only>
|
|
188
|
-
${i18nTripDuration[this._language.current]} ${durationObj.long}
|
|
189
|
-
</sbb-screen-reader-only>
|
|
190
|
-
<span aria-hidden="true">${durationObj.short}</span>
|
|
191
|
-
</time>` : nothing}
|
|
192
|
-
`;
|
|
193
|
-
}
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
_renderJourneyVias(vias) {
|
|
197
|
-
const slicedVias = vias.slice(0, 5);
|
|
198
|
-
return html`
|
|
199
|
-
<div class="sbb-journey-summary__via-block">
|
|
200
|
-
<span class="sbb-journey-summary__via-text">Via</span>
|
|
201
|
-
<ul class="sbb-journey-summary__vias" role=${vias.length <= 1 ? "presentation" : nothing}>
|
|
202
|
-
${slicedVias.map((via, index) => html`<li class="sbb-journey-summary__via">
|
|
203
|
-
${via}${index !== slicedVias.length - 1 && index < 4 ? html`<span>,</span>` : nothing}
|
|
204
|
-
</li>`)}
|
|
205
|
-
</ul>
|
|
206
|
-
</div>
|
|
207
|
-
`;
|
|
208
|
-
}
|
|
209
|
-
_renderJourneyInformation(trip) {
|
|
210
|
-
const { vias, duration, departureWalk, departure, arrivalWalk, arrival, legs } = trip || {};
|
|
211
|
-
return html`
|
|
212
|
-
<div>
|
|
213
|
-
${vias && vias.length > 0 ? this._renderJourneyVias(vias) : nothing}
|
|
214
|
-
<div class="sbb-journey-summary__date">
|
|
215
|
-
${this._renderJourneyStart(removeTimezoneFromISOTimeString(departure), duration)}
|
|
216
|
-
</div>
|
|
217
|
-
<sbb-pearl-chain-time
|
|
218
|
-
.arrivalTime=${arrival}
|
|
219
|
-
.departureTime=${departure}
|
|
220
|
-
.departureWalk=${departureWalk}
|
|
221
|
-
.arrivalWalk=${arrivalWalk}
|
|
222
|
-
.legs=${legs}
|
|
223
|
-
.disableAnimation=${this.disableAnimation}
|
|
224
|
-
.a11yFootpath=${this.a11yFootpath}
|
|
225
|
-
.now=${this.now}
|
|
226
|
-
></sbb-pearl-chain-time>
|
|
227
|
-
</div>
|
|
228
|
-
`;
|
|
229
|
-
}
|
|
230
|
-
render() {
|
|
231
|
-
const { origin, destination } = this.trip || {};
|
|
232
|
-
return html`
|
|
233
|
-
<div class="sbb-journey-summary">
|
|
234
|
-
${origin ? html`<sbb-journey-header
|
|
235
|
-
size="l"
|
|
236
|
-
.level=${this.headerLevel || nothing}
|
|
237
|
-
.origin=${origin}
|
|
238
|
-
.destination=${destination}
|
|
239
|
-
.roundTrip=${this.roundTrip ?? nothing}
|
|
240
|
-
></sbb-journey-header>` : nothing}
|
|
241
|
-
${this._renderJourneyInformation(this.trip)}
|
|
242
|
-
${this.tripBack ? html`<div>
|
|
243
|
-
<sbb-divider class="sbb-journey-summary__divider"></sbb-divider>
|
|
244
|
-
${this._renderJourneyInformation(this.tripBack)}
|
|
245
|
-
</div>` : nothing}
|
|
246
|
-
${this._hasContentSlot ? html` <div class="sbb-journey-summary__slot">
|
|
247
|
-
<slot name="content"></slot>
|
|
248
|
-
</div>` : nothing}
|
|
249
|
-
</div>
|
|
250
|
-
`;
|
|
251
|
-
}
|
|
252
|
-
}, _trip_accessor_storage = new WeakMap(), _tripBack_accessor_storage = new WeakMap(), _roundTrip_accessor_storage = new WeakMap(), _headerLevel_accessor_storage = new WeakMap(), _disableAnimation_accessor_storage = new WeakMap(), _a11yFootpath_accessor_storage = new WeakMap(), (() => {
|
|
253
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
254
|
-
_trip_decorators = [property({ type: Object })];
|
|
255
|
-
_tripBack_decorators = [property({ attribute: "trip-back", type: Object })];
|
|
256
|
-
_roundTrip_decorators = [forceType(), property({ attribute: "round-trip", type: Boolean })];
|
|
257
|
-
_headerLevel_decorators = [property({ attribute: "header-level" })];
|
|
258
|
-
_disableAnimation_decorators = [forceType(), property({ attribute: "disable-animation", type: Boolean })];
|
|
259
|
-
_a11yFootpath_decorators = [forceType(), property({ attribute: "a11y-footpath", type: Boolean })];
|
|
260
|
-
_set_now_decorators = [property()];
|
|
261
|
-
__esDecorate(_a, null, _trip_decorators, { kind: "accessor", name: "trip", static: false, private: false, access: { has: (obj) => "trip" in obj, get: (obj) => obj.trip, set: (obj, value) => {
|
|
262
|
-
obj.trip = value;
|
|
263
|
-
} }, metadata: _metadata }, _trip_initializers, _trip_extraInitializers);
|
|
264
|
-
__esDecorate(_a, null, _tripBack_decorators, { kind: "accessor", name: "tripBack", static: false, private: false, access: { has: (obj) => "tripBack" in obj, get: (obj) => obj.tripBack, set: (obj, value) => {
|
|
265
|
-
obj.tripBack = value;
|
|
266
|
-
} }, metadata: _metadata }, _tripBack_initializers, _tripBack_extraInitializers);
|
|
267
|
-
__esDecorate(_a, null, _roundTrip_decorators, { kind: "accessor", name: "roundTrip", static: false, private: false, access: { has: (obj) => "roundTrip" in obj, get: (obj) => obj.roundTrip, set: (obj, value) => {
|
|
268
|
-
obj.roundTrip = value;
|
|
269
|
-
} }, metadata: _metadata }, _roundTrip_initializers, _roundTrip_extraInitializers);
|
|
270
|
-
__esDecorate(_a, null, _headerLevel_decorators, { kind: "accessor", name: "headerLevel", static: false, private: false, access: { has: (obj) => "headerLevel" in obj, get: (obj) => obj.headerLevel, set: (obj, value) => {
|
|
271
|
-
obj.headerLevel = value;
|
|
272
|
-
} }, metadata: _metadata }, _headerLevel_initializers, _headerLevel_extraInitializers);
|
|
273
|
-
__esDecorate(_a, null, _disableAnimation_decorators, { kind: "accessor", name: "disableAnimation", static: false, private: false, access: { has: (obj) => "disableAnimation" in obj, get: (obj) => obj.disableAnimation, set: (obj, value) => {
|
|
274
|
-
obj.disableAnimation = value;
|
|
275
|
-
} }, metadata: _metadata }, _disableAnimation_initializers, _disableAnimation_extraInitializers);
|
|
276
|
-
__esDecorate(_a, null, _a11yFootpath_decorators, { kind: "accessor", name: "a11yFootpath", static: false, private: false, access: { has: (obj) => "a11yFootpath" in obj, get: (obj) => obj.a11yFootpath, set: (obj, value) => {
|
|
277
|
-
obj.a11yFootpath = value;
|
|
278
|
-
} }, metadata: _metadata }, _a11yFootpath_initializers, _a11yFootpath_extraInitializers);
|
|
279
|
-
__esDecorate(_a, null, _set_now_decorators, { kind: "setter", name: "now", static: false, private: false, access: { has: (obj) => "now" in obj, set: (obj, value) => {
|
|
280
|
-
obj.now = value;
|
|
281
|
-
} }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
282
|
-
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
283
|
-
})(), _a.elementName = "sbb-journey-summary", _a.styles = [boxSizingStyles, style], _a;
|
|
284
|
-
})();
|
|
285
|
-
export {
|
|
286
|
-
SbbJourneySummaryElement
|
|
287
|
-
};
|
|
288
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5leS1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9qb3VybmV5LXN1bW1hcnkvam91cm5leS1zdW1tYXJ5LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZGVmYXVsdERhdGVBZGFwdGVyIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kYXRldGltZS5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaTE4blRyaXBEdXJhdGlvbiB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlTGV2ZWwgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy90aXRsZS5qcyc7XG5pbXBvcnQgeyBmb3JtYXQsIGlzVmFsaWQgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBkdXJhdGlvblRvVGltZSwgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyB9IGZyb20gJy4uL2NvcmUvZGF0ZXRpbWUudHMnO1xuaW1wb3J0IHR5cGUgeyBMZWcgfSBmcm9tICcuLi9jb3JlL3RpbWV0YWJsZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2pvdXJuZXktc3VtbWFyeS5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2RpdmlkZXIuanMnO1xuaW1wb3J0ICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuaW1wb3J0ICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9qb3VybmV5LWhlYWRlci5qcyc7XG5pbXBvcnQgJy4uL3BlYXJsLWNoYWluLXRpbWUudHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyZmFjZVNiYkpvdXJuZXlTdW1tYXJ5QXR0cmlidXRlcyB7XG4gIGxlZ3M6IExlZ1tdO1xuICB2aWFzPzogc3RyaW5nW107XG4gIG9yaWdpbjogc3RyaW5nO1xuICBkZXN0aW5hdGlvbjogc3RyaW5nO1xuICBhcnJpdmFsV2Fsaz86IG51bWJlcjtcbiAgZGVwYXJ0dXJlOiBzdHJpbmc7XG4gIGFycml2YWw6IHN0cmluZztcbiAgZGVwYXJ0dXJlV2Fsaz86IG51bWJlcjtcbiAgZHVyYXRpb24/OiBudW1iZXI7XG59XG5cbi8qKlxuICogSXQgZGlzcGxheXMgam91cm5leSdzIGluZm9ybWF0aW9uLlxuICpcbiAqIEBzbG90IGNvbnRlbnQgLSBVc2UgdGhpcyBzbG90IHRvIGFkZCBgc2JiLWJ1dHRvbmBzIG9yIG90aGVyIGludGVyYWN0aXZlIGVsZW1lbnRzLlxuICovXG5leHBvcnQgY2xhc3MgU2JiSm91cm5leVN1bW1hcnlFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItam91cm5leS1zdW1tYXJ5JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgc3R5bGVdO1xuXG4gIC8qKiAgVGhlIHRyaXAgcHJvcCAqL1xuICBAcHJvcGVydHkoeyB0eXBlOiBPYmplY3QgfSkgcHVibGljIGFjY2Vzc29yIHRyaXA6IEludGVyZmFjZVNiYkpvdXJuZXlTdW1tYXJ5QXR0cmlidXRlcyA9IG51bGwhO1xuXG4gIC8qKiAgVGhlIHRyaXBCYWNrIHByb3AgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndHJpcC1iYWNrJywgdHlwZTogT2JqZWN0IH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmlwQmFjazogSW50ZXJmYWNlU2JiSm91cm5leVN1bW1hcnlBdHRyaWJ1dGVzID0gbnVsbCE7XG5cbiAgLyoqXG4gICAqIFRoZSBSb3VuZFRyaXAgcHJvcC4gVGhpcyBwcm9wIGNvbnRyb2xzIGlmIG9uZSBvciB0d28gYXJyb3dzIGFyZSBkaXNwbGF5ZWQgaW4gdGhlIGhlYWRlci5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdyb3VuZC10cmlwJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3Igcm91bmRUcmlwOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIEhlYWRpbmcgbGV2ZWwgb2YgdGhlIGpvdXJuZXkgaGVhZGVyIGVsZW1lbnQgKGUuZy4gaDEtaDYpLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdoZWFkZXItbGV2ZWwnIH0pIHB1YmxpYyBhY2Nlc3NvciBoZWFkZXJMZXZlbDogU2JiVGl0bGVMZXZlbCA9ICczJztcblxuICAvKipcbiAgICogUGVyIGRlZmF1bHQsIHRoZSBjdXJyZW50IGxvY2F0aW9uIGhhcyBhIHB1bHNhdGluZyBhbmltYXRpb24uIFlvdSBjYW5cbiAgICogZGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdpdGggdGhpcyBwcm9wZXJ0eS5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdkaXNhYmxlLWFuaW1hdGlvbicsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVBbmltYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIEZvb3RwYXRoIGF0dHJpYnV0ZSBmb3IgcmVuZGVyaW5nIGRpZmZlcmVudCBpY29uc1xuICAgKiB0cnVlOiByZW5kZXIgYTExeS1pY29uXG4gICAqIGZhbHNlOiByZW5kZXIgd2Fsay1pY29uXG4gICAqIGRlZmF1bHQ6IHJlbmRlciB3YWxrLWljb25cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhMTF5LWZvb3RwYXRoJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYTExeUZvb3RwYXRoOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEEgY29uZmlndXJlZCBkYXRlIHdoaWNoIGFjdHMgYXMgdGhlIGN1cnJlbnQgZGF0ZSBpbnN0ZWFkIG9mIHRoZSByZWFsIGN1cnJlbnQgZGF0ZS5cbiAgICogT25seSByZWNvbW1lbmRlZCBmb3IgdGVzdGluZyBwdXJwb3Nlcy5cbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgbm93KHZhbHVlOiBEYXRlIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fbm93ID0gZGVmYXVsdERhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbChkZWZhdWx0RGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpKTtcbiAgfVxuICBwdWJsaWMgZ2V0IG5vdygpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fbm93ID8/IG5ldyBEYXRlKCk7XG4gIH1cbiAgcHJpdmF0ZSBfbm93OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfaGFzQ29udGVudFNsb3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2hhc0NvbnRlbnRTbG90ID0gQm9vbGVhbih0aGlzLnF1ZXJ5U2VsZWN0b3I/LignW3Nsb3Q9XCJjb250ZW50XCJdJykpO1xuICB9XG5cbiAgLyoqICByZW5kZXJzIHRoZSBkYXRlIG9mIHRoZSBqb3VybmV5IG9yIGlmIGl0IGlzIHRoZSBjdXJyZW50IG9yIG5leHQgZGF5ICovXG4gIHByaXZhdGUgX3JlbmRlckpvdXJuZXlTdGFydChcbiAgICBkZXBhcnR1cmVUaW1lOiBEYXRlIHwgdW5kZWZpbmVkLFxuICAgIGR1cmF0aW9uOiBudW1iZXIgfCB1bmRlZmluZWQsXG4gICk6IFRlbXBsYXRlUmVzdWx0IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBkYXRlQWRhcHRlciA9IGRlZmF1bHREYXRlQWRhcHRlcjtcbiAgICBjb25zdCBkdXJhdGlvbk9iaiA9IGR1cmF0aW9uID8gZHVyYXRpb25Ub1RpbWUoZHVyYXRpb24sIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpIDogbnVsbDtcblxuICAgIGlmIChpc1ZhbGlkKGRlcGFydHVyZVRpbWUpKSB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgPHRpbWUgZGF0ZXRpbWU9JHtmb3JtYXQoZGVwYXJ0dXJlVGltZSEsICdkJykgKyAnICcgKyBmb3JtYXQoZGVwYXJ0dXJlVGltZSEsICdNJyl9PlxuICAgICAgICAgICR7ZGF0ZUFkYXB0ZXIuZm9ybWF0KGRlcGFydHVyZVRpbWUpLnJlcGxhY2UoJywnLCAnLicpfTwvdGltZVxuICAgICAgICA+JHtkdXJhdGlvbiAmJiBkdXJhdGlvbiA+IDBcbiAgICAgICAgICA/IGh0bWxgLDx0aW1lPlxuICAgICAgICAgICAgICAgIDxzYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgICAgICAgICAgICAgICAgJHtpMThuVHJpcER1cmF0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAke2R1cmF0aW9uT2JqIS5sb25nfVxuICAgICAgICAgICAgICAgIDwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4ke2R1cmF0aW9uT2JqIS5zaG9ydH08L3NwYW4+XG4gICAgICAgICAgICAgIDwvdGltZT5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgYDtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVySm91cm5leVZpYXModmlhczogc3RyaW5nW10pOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3Qgc2xpY2VkVmlhcyA9IHZpYXMuc2xpY2UoMCwgNSk7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fdmlhLWJsb2NrXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fdmlhLXRleHRcIj5WaWE8L3NwYW4+XG4gICAgICAgIDx1bCBjbGFzcz1cInNiYi1qb3VybmV5LXN1bW1hcnlfX3ZpYXNcIiByb2xlPSR7dmlhcy5sZW5ndGggPD0gMSA/ICdwcmVzZW50YXRpb24nIDogbm90aGluZ30+XG4gICAgICAgICAgJHtzbGljZWRWaWFzLm1hcChcbiAgICAgICAgICAgICh2aWEsIGluZGV4KSA9PlxuICAgICAgICAgICAgICBodG1sYDxsaSBjbGFzcz1cInNiYi1qb3VybmV5LXN1bW1hcnlfX3ZpYVwiPlxuICAgICAgICAgICAgICAgICR7dmlhfSR7aW5kZXggIT09IHNsaWNlZFZpYXMubGVuZ3RoIC0gMSAmJiBpbmRleCA8IDRcbiAgICAgICAgICAgICAgICAgID8gaHRtbGA8c3Bhbj4sPC9zcGFuPmBcbiAgICAgICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICAgICAgPC9saT5gLFxuICAgICAgICAgICl9XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVySm91cm5leUluZm9ybWF0aW9uKHRyaXA6IEludGVyZmFjZVNiYkpvdXJuZXlTdW1tYXJ5QXR0cmlidXRlcyk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCB7IHZpYXMsIGR1cmF0aW9uLCBkZXBhcnR1cmVXYWxrLCBkZXBhcnR1cmUsIGFycml2YWxXYWxrLCBhcnJpdmFsLCBsZWdzIH0gPSB0cmlwIHx8IHt9O1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2PlxuICAgICAgICAke3ZpYXMgJiYgdmlhcy5sZW5ndGggPiAwID8gdGhpcy5fcmVuZGVySm91cm5leVZpYXModmlhcykgOiBub3RoaW5nfVxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fZGF0ZVwiPlxuICAgICAgICAgICR7dGhpcy5fcmVuZGVySm91cm5leVN0YXJ0KHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcoZGVwYXJ0dXJlKSwgZHVyYXRpb24pfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNiYi1wZWFybC1jaGFpbi10aW1lXG4gICAgICAgICAgLmFycml2YWxUaW1lPSR7YXJyaXZhbH1cbiAgICAgICAgICAuZGVwYXJ0dXJlVGltZT0ke2RlcGFydHVyZX1cbiAgICAgICAgICAuZGVwYXJ0dXJlV2Fsaz0ke2RlcGFydHVyZVdhbGt9XG4gICAgICAgICAgLmFycml2YWxXYWxrPSR7YXJyaXZhbFdhbGt9XG4gICAgICAgICAgLmxlZ3M9JHtsZWdzfVxuICAgICAgICAgIC5kaXNhYmxlQW5pbWF0aW9uPSR7dGhpcy5kaXNhYmxlQW5pbWF0aW9ufVxuICAgICAgICAgIC5hMTF5Rm9vdHBhdGg9JHt0aGlzLmExMXlGb290cGF0aH1cbiAgICAgICAgICAubm93PSR7dGhpcy5ub3d9XG4gICAgICAgID48L3NiYi1wZWFybC1jaGFpbi10aW1lPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IHsgb3JpZ2luLCBkZXN0aW5hdGlvbiB9ID0gdGhpcy50cmlwIHx8IHt9O1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1qb3VybmV5LXN1bW1hcnlcIj5cbiAgICAgICAgJHtvcmlnaW5cbiAgICAgICAgICA/IGh0bWxgPHNiYi1qb3VybmV5LWhlYWRlclxuICAgICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICAgIC5sZXZlbD0ke3RoaXMuaGVhZGVyTGV2ZWwgfHwgbm90aGluZ31cbiAgICAgICAgICAgICAgLm9yaWdpbj0ke29yaWdpbn1cbiAgICAgICAgICAgICAgLmRlc3RpbmF0aW9uPSR7ZGVzdGluYXRpb259XG4gICAgICAgICAgICAgIC5yb3VuZFRyaXA9JHt0aGlzLnJvdW5kVHJpcCA/PyBub3RoaW5nfVxuICAgICAgICAgICAgPjwvc2JiLWpvdXJuZXktaGVhZGVyPmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICR7dGhpcy5fcmVuZGVySm91cm5leUluZm9ybWF0aW9uKHRoaXMudHJpcCl9XG4gICAgICAgICR7dGhpcy50cmlwQmFja1xuICAgICAgICAgID8gaHRtbGA8ZGl2PlxuICAgICAgICAgICAgICA8c2JiLWRpdmlkZXIgY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X19kaXZpZGVyXCI+PC9zYmItZGl2aWRlcj5cbiAgICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJKb3VybmV5SW5mb3JtYXRpb24odGhpcy50cmlwQmFjayl9XG4gICAgICAgICAgICA8L2Rpdj5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAke3RoaXMuX2hhc0NvbnRlbnRTbG90XG4gICAgICAgICAgPyBodG1sYCA8ZGl2IGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fc2xvdFwiPlxuICAgICAgICAgICAgICA8c2xvdCBuYW1lPVwiY29udGVudFwiPjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItam91cm5leS1zdW1tYXJ5JzogU2JiSm91cm5leVN1bW1hcnlFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBdUNhLDRCQUF3QixNQUFBOztvQkFBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWpDLFNBQUEsbUJBQWlDLFlBQVU7QUFBQTs7QUFLMUI7QUFJNUI7QUFPQTtBQUd5QztBQVF6QztBQVVBO0FBaEM0Qyx5QkFBQSx5QkFMakMsa0JBQUEsTUFBQSwwQkFBQSxHQUF3QixrQkFBQSxNQUFBLG9CQUtzRCxJQUFLO0FBSTlFLHlCQUFBLDZCQUFBLGtCQUFBLE1BQUEsdUJBQUEsR0FBQSxrQkFBQSxNQUFBLHdCQUFpRCxJQUFLO0FBT3RELHlCQUFBLDhCQUFBLGtCQUFBLE1BQUEsMkJBQUEsR0FBQSxrQkFBQSxNQUFBLHlCQUFxQixLQUFLO0FBR2UseUJBQUEsZ0NBQUEsa0JBQUEsTUFBQSw0QkFBQSxHQUFBLGtCQUFBLE1BQUEsMkJBQTZCLEdBQUc7QUFRekUseUJBQUEscUNBQUEsa0JBQUEsTUFBQSw4QkFBQSxHQUFBLGtCQUFBLE1BQUEsZ0NBQTRCLEtBQUs7QUFVakMseUJBQUEsaUNBQUEsa0JBQUEsTUFBQSxtQ0FBQSxHQUFB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
|
|
1
|
+
import { t as SbbJourneySummaryElement } from "../journey-summary.component-uGhZvA4p.js";
|
|
2
|
+
export { SbbJourneySummaryElement };
|