@sellout/models 0.0.76 → 0.0.78

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 (87) hide show
  1. package/.dist/enums/OrderChannelEnum.d.ts +1 -1
  2. package/.dist/enums/OrderChannelEnum.js +1 -1
  3. package/.dist/enums/OrderChannelEnum.js.map +1 -1
  4. package/.dist/graphql/fragments/order.fragment.js +2 -0
  5. package/.dist/graphql/fragments/order.fragment.js.map +1 -1
  6. package/.dist/graphql/mutations/{registerStripeTerminalReader.js → resetPasswordInApp.mutation.js} +3 -3
  7. package/.dist/graphql/mutations/resetPasswordInApp.mutation.js.map +1 -0
  8. package/.dist/graphql/mutations/{createStripeSetupIntent.js → setUserOrgContextId.js} +5 -3
  9. package/.dist/graphql/mutations/setUserOrgContextId.js.map +1 -0
  10. package/.dist/graphql/queries/customerProfile.js +42 -0
  11. package/.dist/graphql/queries/customerProfile.js.map +1 -0
  12. package/.dist/graphql/queries/order.query.js +13 -0
  13. package/.dist/graphql/queries/order.query.js.map +1 -1
  14. package/.dist/graphql/queries/orders.query.js +13 -0
  15. package/.dist/graphql/queries/orders.query.js.map +1 -1
  16. package/.dist/graphql/queries/organization.query.js +49 -0
  17. package/.dist/graphql/queries/organization.query.js.map +1 -0
  18. package/.dist/graphql/queries/organizations.js +49 -0
  19. package/.dist/graphql/queries/organizations.js.map +1 -0
  20. package/.dist/interfaces/IEventUpgrade.d.ts +0 -1
  21. package/.dist/interfaces/IOrder.d.ts +6 -0
  22. package/.dist/interfaces/IOrder.js +1 -0
  23. package/.dist/interfaces/IOrder.js.map +1 -1
  24. package/.dist/interfaces/ISecondaryEmail.d.ts +4 -0
  25. package/.dist/interfaces/{IStripe.js → ISecondaryEmail.js} +1 -1
  26. package/.dist/interfaces/ISecondaryEmail.js.map +1 -0
  27. package/.dist/interfaces/IStripeSource.d.ts +1 -1
  28. package/.dist/interfaces/ITicketType.d.ts +0 -1
  29. package/.dist/schemas/SecondaryEmail.d.ts +12 -0
  30. package/.dist/schemas/SecondaryEmail.js +14 -0
  31. package/.dist/schemas/SecondaryEmail.js.map +1 -0
  32. package/.dist/sellout-proto.js +31 -14
  33. package/.dist/utils/OrderUtil.d.ts +2 -2
  34. package/.dist/utils/OrderUtil.js +17 -80
  35. package/.dist/utils/OrderUtil.js.map +1 -1
  36. package/.dist/utils/PaymentUtil.js +2 -2
  37. package/.dist/utils/PaymentUtil.js.map +1 -1
  38. package/package.json +4 -4
  39. package/src/enums/OrderChannelEnum.ts +1 -1
  40. package/src/graphql/fragments/order.fragment.ts +2 -0
  41. package/src/graphql/queries/order.query.ts +13 -0
  42. package/src/graphql/queries/orders.query.ts +13 -0
  43. package/src/interfaces/IEventUpgrade.ts +0 -1
  44. package/src/interfaces/IOrder.ts +8 -0
  45. package/src/interfaces/ITicketType.ts +0 -1
  46. package/src/proto/order.proto +1 -1
  47. package/src/utils/OrderUtil.ts +20 -84
  48. package/src/utils/PaymentUtil.ts +2 -2
  49. package/.dist/enums/PaymentMethodEnum.d.ts +0 -5
  50. package/.dist/enums/PaymentMethodEnum.js +0 -10
  51. package/.dist/enums/PaymentMethodEnum.js.map +0 -1
  52. package/.dist/graphql/mutations/createStripeSetupIntent.js.map +0 -1
  53. package/.dist/graphql/mutations/listStripeTerminalReaders.mutation.js +0 -21
  54. package/.dist/graphql/mutations/listStripeTerminalReaders.mutation.js.map +0 -1
  55. package/.dist/graphql/mutations/listStripeTerminalReaders.query.d.ts +0 -2
  56. package/.dist/graphql/mutations/listStripeTerminalReaders.query.js +0 -21
  57. package/.dist/graphql/mutations/listStripeTerminalReaders.query.js.map +0 -1
  58. package/.dist/graphql/mutations/registerStripeTermainlReader.mutation.d.ts +0 -2
  59. package/.dist/graphql/mutations/registerStripeTermainlReader.mutation.js +0 -13
  60. package/.dist/graphql/mutations/registerStripeTermainlReader.mutation.js.map +0 -1
  61. package/.dist/graphql/mutations/registerStripeTerminalReader.d.ts +0 -2
  62. package/.dist/graphql/mutations/registerStripeTerminalReader.js.map +0 -1
  63. package/.dist/graphql/mutations/verifyPhoneAuthentication.mutation.js +0 -15
  64. package/.dist/graphql/mutations/verifyPhoneAuthentication.mutation.js.map +0 -1
  65. package/.dist/graphql/mutations/verifyUserPhoneAuthentication.js +0 -15
  66. package/.dist/graphql/mutations/verifyUserPhoneAuthentication.js.map +0 -1
  67. package/.dist/graphql/queries/metrics.query.js +0 -29
  68. package/.dist/graphql/queries/metrics.query.js.map +0 -1
  69. package/.dist/graphql/queries/metricsData.query.d.ts +0 -2
  70. package/.dist/graphql/queries/metricsData.query.js +0 -29
  71. package/.dist/graphql/queries/metricsData.query.js.map +0 -1
  72. package/.dist/interfaces/IMetricData.d.ts +0 -57
  73. package/.dist/interfaces/IMetricData.js +0 -70
  74. package/.dist/interfaces/IMetricData.js.map +0 -1
  75. package/.dist/interfaces/IStripe.d.ts +0 -9
  76. package/.dist/interfaces/IStripe.js.map +0 -1
  77. package/.dist/utils/MetricsUtil.d.ts +0 -7
  78. package/.dist/utils/MetricsUtil.js +0 -29
  79. package/.dist/utils/MetricsUtil.js.map +0 -1
  80. package/.dist/utils/fee-util-broken-but-why.d.ts +0 -8
  81. package/.dist/utils/fee-util-broken-but-why.js +0 -38
  82. package/.dist/utils/fee-util-broken-but-why.js.map +0 -1
  83. /package/.dist/graphql/mutations/{createStripeSetupIntent.d.ts → resetPasswordInApp.mutation.d.ts} +0 -0
  84. /package/.dist/graphql/mutations/{listStripeTerminalReaders.mutation.d.ts → setUserOrgContextId.d.ts} +0 -0
  85. /package/.dist/graphql/{mutations/verifyPhoneAuthentication.mutation.d.ts → queries/customerProfile.d.ts} +0 -0
  86. /package/.dist/graphql/{mutations/verifyUserPhoneAuthentication.d.ts → queries/organization.query.d.ts} +0 -0
  87. /package/.dist/graphql/queries/{metrics.query.d.ts → organizations.d.ts} +0 -0
@@ -1,57 +0,0 @@
1
- declare enum MetricDataIntervalEnum {
2
- Hour = "Hour",
3
- Day = "Day",
4
- Week = "Week",
5
- Month = "Month",
6
- Year = "Year"
7
- }
8
- declare enum MetricDataDurationEnum {
9
- AllTime = "All Time",
10
- Today = "Today",
11
- OneWeek = "One Week",
12
- OneMonth = "One Month",
13
- MonthToDate = "MTD",
14
- YearToDate = "YTD",
15
- OneYear = "One Year",
16
- Custom = "Custom"
17
- }
18
- declare enum MetricDataCardTypeEnum {
19
- TicketSales = "Ticket Sales",
20
- UpgradeSales = "Upgrades Sales",
21
- ExtraFeeRevenue = "Extra Fee Revenue",
22
- TicketsSold = "Tickets Sold",
23
- TotalOrders = "Total Orders",
24
- Promotions = "Promotioins",
25
- TicketComps = "Ticket Comps",
26
- UpgradeComps = "Upgrade Comps",
27
- OnlineSessions = "Online Sessions",
28
- OnlineConversationRate = "Online Converstation Rate",
29
- AvgOrderValue = "Avg. Order Value"
30
- }
31
- declare enum MetricDataValueTypeEnum {
32
- Quantity = "Quantity",
33
- Currency = "Currency",
34
- Percent = "Percent"
35
- }
36
- interface IMetricDataParams {
37
- eventId?: string;
38
- venueId?: string;
39
- artistId?: string;
40
- startAt?: number;
41
- endAt?: number;
42
- interval?: MetricDataIntervalEnum;
43
- types: MetricDataCardTypeEnum[];
44
- }
45
- interface Coordinate {
46
- x: number;
47
- y: number;
48
- }
49
- interface DataPoint {
50
- label: string;
51
- interval?: MetricDataIntervalEnum;
52
- coordinates?: Coordinate[];
53
- segments?: DataPoint[];
54
- type: MetricDataValueTypeEnum;
55
- totalValue?: number;
56
- }
57
- declare const TicketSalesCard: DataPoint;
@@ -1,70 +0,0 @@
1
- var MetricDataIntervalEnum;
2
- (function (MetricDataIntervalEnum) {
3
- MetricDataIntervalEnum["Hour"] = "Hour";
4
- MetricDataIntervalEnum["Day"] = "Day";
5
- MetricDataIntervalEnum["Week"] = "Week";
6
- MetricDataIntervalEnum["Month"] = "Month";
7
- MetricDataIntervalEnum["Year"] = "Year";
8
- })(MetricDataIntervalEnum || (MetricDataIntervalEnum = {}));
9
- var MetricDataDurationEnum;
10
- (function (MetricDataDurationEnum) {
11
- MetricDataDurationEnum["AllTime"] = "All Time";
12
- MetricDataDurationEnum["Today"] = "Today";
13
- MetricDataDurationEnum["OneWeek"] = "One Week";
14
- MetricDataDurationEnum["OneMonth"] = "One Month";
15
- MetricDataDurationEnum["MonthToDate"] = "MTD";
16
- MetricDataDurationEnum["YearToDate"] = "YTD";
17
- MetricDataDurationEnum["OneYear"] = "One Year";
18
- MetricDataDurationEnum["Custom"] = "Custom";
19
- })(MetricDataDurationEnum || (MetricDataDurationEnum = {}));
20
- ;
21
- var MetricDataCardTypeEnum;
22
- (function (MetricDataCardTypeEnum) {
23
- MetricDataCardTypeEnum["TicketSales"] = "Ticket Sales";
24
- MetricDataCardTypeEnum["UpgradeSales"] = "Upgrades Sales";
25
- MetricDataCardTypeEnum["ExtraFeeRevenue"] = "Extra Fee Revenue";
26
- MetricDataCardTypeEnum["TicketsSold"] = "Tickets Sold";
27
- MetricDataCardTypeEnum["TotalOrders"] = "Total Orders";
28
- MetricDataCardTypeEnum["Promotions"] = "Promotioins";
29
- MetricDataCardTypeEnum["TicketComps"] = "Ticket Comps";
30
- MetricDataCardTypeEnum["UpgradeComps"] = "Upgrade Comps";
31
- MetricDataCardTypeEnum["OnlineSessions"] = "Online Sessions";
32
- MetricDataCardTypeEnum["OnlineConversationRate"] = "Online Converstation Rate";
33
- MetricDataCardTypeEnum["AvgOrderValue"] = "Avg. Order Value";
34
- })(MetricDataCardTypeEnum || (MetricDataCardTypeEnum = {}));
35
- var MetricDataValueTypeEnum;
36
- (function (MetricDataValueTypeEnum) {
37
- MetricDataValueTypeEnum["Quantity"] = "Quantity";
38
- MetricDataValueTypeEnum["Currency"] = "Currency";
39
- MetricDataValueTypeEnum["Percent"] = "Percent";
40
- })(MetricDataValueTypeEnum || (MetricDataValueTypeEnum = {}));
41
- const TicketSalesCard = {
42
- label: MetricDataCardTypeEnum.TicketSales,
43
- type: MetricDataValueTypeEnum.Currency,
44
- interval: MetricDataIntervalEnum.Hour,
45
- totalValue: 1000,
46
- coordinates: [
47
- {
48
- x: 1,
49
- y: 1,
50
- }
51
- ],
52
- segments: [
53
- {
54
- label: 'General Admission',
55
- type: MetricDataValueTypeEnum.Currency,
56
- totalValue: 300,
57
- coordinates: [
58
- {
59
- x: 1,
60
- y: 1,
61
- },
62
- {
63
- x: 2,
64
- y: 1,
65
- }
66
- ]
67
- }
68
- ]
69
- };
70
- //# sourceMappingURL=IMetricData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IMetricData.js","sourceRoot":"","sources":["../../src/interfaces/IMetricData.ts"],"names":[],"mappings":"AAAA,IAAK,sBAMJ;AAND,WAAK,sBAAsB;IACzB,uCAAa,CAAA;IACb,qCAAW,CAAA;IACX,uCAAa,CAAA;IACb,yCAAe,CAAA;IACf,uCAAa,CAAA;AACf,CAAC,EANI,sBAAsB,KAAtB,sBAAsB,QAM1B;AAED,IAAK,sBASJ;AATD,WAAK,sBAAsB;IACzB,8CAAoB,CAAA;IACpB,yCAAe,CAAA;IACf,8CAAoB,CAAA;IACpB,gDAAsB,CAAA;IACtB,6CAAmB,CAAA;IACnB,4CAAkB,CAAA;IAClB,8CAAoB,CAAA;IACpB,2CAAiB,CAAA;AACnB,CAAC,EATI,sBAAsB,KAAtB,sBAAsB,QAS1B;AAAA,CAAC;AAGF,IAAK,sBAYJ;AAZD,WAAK,sBAAsB;IACzB,sDAA4B,CAAA;IAC5B,yDAA+B,CAAA;IAC/B,+DAAqC,CAAA;IACrC,sDAA4B,CAAA;IAC5B,sDAA4B,CAAA;IAC5B,oDAA0B,CAAA;IAC1B,sDAA4B,CAAA;IAC5B,wDAA8B,CAAA;IAC9B,4DAAkC,CAAA;IAClC,8EAAoD,CAAA;IACpD,4DAAkC,CAAA;AACpC,CAAC,EAZI,sBAAsB,KAAtB,sBAAsB,QAY1B;AAED,IAAK,uBAIJ;AAJD,WAAK,uBAAuB;IAC1B,gDAAqB,CAAA;IACrB,gDAAqB,CAAA;IACrB,8CAAmB,CAAA;AACrB,CAAC,EAJI,uBAAuB,KAAvB,uBAAuB,QAI3B;AA0BD,MAAM,eAAe,GAAc;IACjC,KAAK,EAAE,sBAAsB,CAAC,WAAW;IACzC,IAAI,EAAE,uBAAuB,CAAC,QAAQ;IACtC,QAAQ,EAAE,sBAAsB,CAAC,IAAI;IACrC,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE;QACX;YACE,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL;KACF;IACD,QAAQ,EAAE;QACR;YACE,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,uBAAuB,CAAC,QAAQ;YACtC,UAAU,EAAE,GAAG;YACf,WAAW,EAAE;gBACX;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;iBACL;gBACD;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;iBACL;aACF;SACF;KACF;CACF,CAAA"}
@@ -1,9 +0,0 @@
1
- export default interface IStripeTerminalReader {
2
- id: string;
3
- label: string;
4
- type: string;
5
- location: string;
6
- serialNumber: string;
7
- status: string;
8
- ipAddress: string;
9
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"IStripe.js","sourceRoot":"","sources":["../../src/interfaces/IStripe.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- declare const _default: {
2
- const: {
3
- [x: number]: () => null;
4
- };
5
- timeSpanIntervals(interval: any): void;
6
- };
7
- export default _default;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = {
4
- // Returns start and end date
5
- const: getMetricsTimespan = {
6
- [MetricTimespanEnum.AllTime]: () => null,
7
- [MetricTimespanEnum.Today]: () => null,
8
- [MetricTimespanEnum.OneWeek]: () => null,
9
- [MetricTimespanEnum.OneMonth]: () => null,
10
- [MetricTimespanEnum.MonthToDate]: () => null,
11
- [MetricTimespanEnum.YearToDate]: () => null,
12
- [MetricTimespanEnum.OneYear]: () => null,
13
- [MetricTimespanEnum.Custom]: () => null,
14
- },
15
- // Returns available intervals
16
- timeSpanIntervals(interval) {
17
- const intervals = {
18
- [MetricTimespanEnum.AllTime]: () => [],
19
- [MetricTimespanEnum.Today]: () => [],
20
- [MetricTimespanEnum.OneWeek]: () => [],
21
- [MetricTimespanEnum.OneMonth]: () => [],
22
- [MetricTimespanEnum.MonthToDate]: () => [],
23
- [MetricTimespanEnum.YearToDate]: () => [],
24
- [MetricTimespanEnum.OneYear]: () => [],
25
- [MetricTimespanEnum.Custom]: () => [],
26
- };
27
- },
28
- };
29
- //# sourceMappingURL=MetricsUtil.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetricsUtil.js","sourceRoot":"","sources":["../../src/utils/MetricsUtil.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,6BAA6B;IAC/B,KAAK,EAAC,kBAAkB,GAAG;QACzB,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI;QACxC,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI;QACtC,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI;QACxC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI;QACzC,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI;QAC5C,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI;QAC3C,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI;QACxC,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI;KACxC;IAED,8BAA8B;IAC9B,iBAAiB,CAAC,QAAS;QACzB,MAAM,SAAS,GAAG;YAChB,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,GAAyB,EAAE,CAAC,EAAE;YAC5D,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,GAAyB,EAAE,CAAC,EAAE;YAC1D,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,GAAyB,EAAE,CAAC,EAAE;YAC5D,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,GAAyB,EAAE,CAAC,EAAE;YAC7D,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,GAAyB,EAAE,CAAC,EAAE;YAChE,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,GAAyB,EAAE,CAAC,EAAE;YAC/D,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,GAAyB,EAAE,CAAC,EAAE;YAC5D,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,GAAyB,EAAE,CAAC,EAAE;SAC5D,CAAC;IACJ,CAAC;CAEA,CAAA"}
@@ -1,8 +0,0 @@
1
- import IFee from '../interfaces/IFee";;
2
- declare const _default: {
3
- processingFees(fees: IFee[]): any[];
4
- selloutFees(fees: IFee[]): any[];
5
- stripeFees(fees: IFee[]): any[];
6
- promoterFees(fees: IFee[]): any[];
7
- };
8
- export default _default;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const IFee__1 = require("../interfaces/IFee\";");
4
- exports.default = {
5
- processingFees(fees) {
6
- return fees.filter((fee) => {
7
- if (fee.appliedBy === IFee__1.FeeAppliedByEnum.Sellout || fee.appliedBy === IFee__1.FeeAppliedByEnum.Stripe) {
8
- return true;
9
- }
10
- return false;
11
- });
12
- },
13
- selloutFees(fees) {
14
- return fees.filter((fee) => {
15
- if (fee.appliedBy === IFee__1.FeeAppliedByEnum.Sellout) {
16
- return true;
17
- }
18
- return false;
19
- });
20
- },
21
- stripeFees(fees) {
22
- return fees.filter((fee) => {
23
- if (fee.appliedBy === IFee__1.FeeAppliedByEnum.Stripe) {
24
- return false;
25
- }
26
- return true;
27
- });
28
- },
29
- promoterFees(fees) {
30
- return fees.filter((fee) => {
31
- if (fee.appliedBy === IFee__1.FeeAppliedByEnum.Sellout || fee.appliedBy === IFee__1.FeeAppliedByEnum.Stripe) {
32
- return false;
33
- }
34
- return true;
35
- });
36
- },
37
- };
38
- //# sourceMappingURL=fee-util-broken-but-why.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fee-util-broken-but-why.js","sourceRoot":"","sources":["../../src/utils/fee-util-broken-but-why.ts"],"names":[],"mappings":";;AAAA,iDAA4D;AAE5D,kBAAe;IACb,cAAc,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAS,EAAE,EAAE;YAC/B,IAAI,GAAG,CAAC,SAAS,KAAK,wBAAgB,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,KAAK,wBAAgB,CAAC,MAAM,EAAE;gBAC3F,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IACD,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAS,EAAE,EAAE;YAC/B,IAAI,GAAG,CAAC,SAAS,KAAK,wBAAgB,CAAC,OAAO,EAAE;gBAC9C,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IACD,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAS,EAAE,EAAE;YAC/B,IAAI,GAAG,CAAC,SAAS,KAAK,wBAAgB,CAAC,MAAM,EAAE;gBAC7C,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IACD,YAAY,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAS,EAAE,EAAE;YAC/B,IAAI,GAAG,CAAC,SAAS,KAAK,wBAAgB,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,KAAK,wBAAgB,CAAC,MAAM,EAAE;gBAC3F,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}