mandarina-server 1.7.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/build/Table/Table.d.ts +1 -1
  2. package/build/Table/Table.js +5 -0
  3. package/build/Table/Table.js.map +1 -1
  4. package/build/cli/gen-files/prisma2.d.ts +1 -0
  5. package/build/cli/gen-files/prisma2.js +284 -0
  6. package/build/cli/gen-files/prisma2.js.map +1 -0
  7. package/build/cli/index.js +5 -0
  8. package/build/cli/index.js.map +1 -1
  9. package/build/cli/utils.d.ts +4 -0
  10. package/build/cli/utils.js.map +1 -1
  11. package/package.json +5 -10
  12. package/src/Table/Table.ts +8 -0
  13. package/src/cli/gen-files/prisma2.ts +277 -0
  14. package/src/cli/index.ts +6 -0
  15. package/src/cli/utils.js +5 -2
  16. package/src/cli/utils.js.map +1 -1
  17. package/src/cli/utils.ts +7 -3
  18. package/tmp/client/components/Common/Cells/CellDateTime.js +22 -0
  19. package/tmp/client/components/Common/Cells/CellDateTime.js.map +1 -0
  20. package/tmp/client/components/Common/Cells/CellHtml.js +13 -0
  21. package/tmp/client/components/Common/Cells/CellHtml.js.map +1 -0
  22. package/tmp/client/components/Common/Cells/CellLinkTemplate.js +19 -0
  23. package/tmp/client/components/Common/Cells/CellLinkTemplate.js.map +1 -0
  24. package/tmp/client/components/Common/ConfigurationContext.js +25 -0
  25. package/tmp/client/components/Common/ConfigurationContext.js.map +1 -0
  26. package/tmp/client/components/Common/My/MySchema.js +27 -0
  27. package/tmp/client/components/Common/My/MySchema.js.map +1 -0
  28. package/tmp/client/components/Common/uniforms/AddressField/AddressField.js +139 -0
  29. package/tmp/client/components/Common/uniforms/AddressField/AddressField.js.map +1 -0
  30. package/tmp/client/components/Common/uniforms/AddressField/utils.js +99 -0
  31. package/tmp/client/components/Common/uniforms/AddressField/utils.js.map +1 -0
  32. package/tmp/client/components/Common/uniforms/DateField.js +31 -0
  33. package/tmp/client/components/Common/uniforms/DateField.js.map +1 -0
  34. package/tmp/client/components/Common/uniforms/DateTimeField.js +44 -0
  35. package/tmp/client/components/Common/uniforms/DateTimeField.js.map +1 -0
  36. package/tmp/client/components/Common/uniforms/RichTextField/RichTextField.js +115 -0
  37. package/tmp/client/components/Common/uniforms/RichTextField/RichTextField.js.map +1 -0
  38. package/tmp/client/components/Common/uniforms/RichTextField/addMention.js +17 -0
  39. package/tmp/client/components/Common/uniforms/RichTextField/addMention.js.map +1 -0
  40. package/tmp/client/components/Common/uniforms/SocialField.js +37 -0
  41. package/tmp/client/components/Common/uniforms/SocialField.js.map +1 -0
  42. package/tmp/client/components/Common/uniforms/TableIdField.js +27 -0
  43. package/tmp/client/components/Common/uniforms/TableIdField.js.map +1 -0
  44. package/tmp/client/components/Location/Marker.js +24 -0
  45. package/tmp/client/components/Location/Marker.js.map +1 -0
  46. package/tmp/lib/actions/AddReferralSchema.js +27 -0
  47. package/tmp/lib/actions/AddReferralSchema.js.map +1 -0
  48. package/tmp/lib/actions/AutoMatchSchema.js +12 -0
  49. package/tmp/lib/actions/AutoMatchSchema.js.map +1 -0
  50. package/tmp/lib/actions/CampaignRefresh.js +12 -0
  51. package/tmp/lib/actions/CampaignRefresh.js.map +1 -0
  52. package/tmp/lib/actions/ChangeFamilyVisit.js +45 -0
  53. package/tmp/lib/actions/ChangeFamilyVisit.js.map +1 -0
  54. package/tmp/lib/actions/ContactFormSchema.js +38 -0
  55. package/tmp/lib/actions/ContactFormSchema.js.map +1 -0
  56. package/tmp/lib/actions/DeleteSchema.js +12 -0
  57. package/tmp/lib/actions/DeleteSchema.js.map +1 -0
  58. package/tmp/lib/actions/GroupFamilyStatus.js +43 -0
  59. package/tmp/lib/actions/GroupFamilyStatus.js.map +1 -0
  60. package/tmp/lib/actions/NotificationPopUpSchema.js +30 -0
  61. package/tmp/lib/actions/NotificationPopUpSchema.js.map +1 -0
  62. package/tmp/lib/actions/OneId.js +12 -0
  63. package/tmp/lib/actions/OneId.js.map +1 -0
  64. package/tmp/lib/actions/PaySchema.js +32 -0
  65. package/tmp/lib/actions/PaySchema.js.map +1 -0
  66. package/tmp/lib/actions/PaymentNotificationSchema.js +33 -0
  67. package/tmp/lib/actions/PaymentNotificationSchema.js.map +1 -0
  68. package/tmp/lib/actions/PlacementGuestFamilySchema.js +10 -0
  69. package/tmp/lib/actions/PlacementGuestFamilySchema.js.map +1 -0
  70. package/tmp/lib/actions/PlacementGuestMoveSchema.js +14 -0
  71. package/tmp/lib/actions/PlacementGuestMoveSchema.js.map +1 -0
  72. package/tmp/lib/actions/PlacementGuestStatusSchema.js +8 -0
  73. package/tmp/lib/actions/PlacementGuestStatusSchema.js.map +1 -0
  74. package/tmp/lib/actions/PlacementStatusSchema.js +33 -0
  75. package/tmp/lib/actions/PlacementStatusSchema.js.map +1 -0
  76. package/tmp/lib/actions/ReconfirmSchema.js +85 -0
  77. package/tmp/lib/actions/ReconfirmSchema.js.map +1 -0
  78. package/tmp/lib/actions/ReferralAddress.js +43 -0
  79. package/tmp/lib/actions/ReferralAddress.js.map +1 -0
  80. package/tmp/lib/actions/SendCommunicationSchema.js +26 -0
  81. package/tmp/lib/actions/SendCommunicationSchema.js.map +1 -0
  82. package/tmp/lib/actions/SendPreview.js +9 -0
  83. package/tmp/lib/actions/SendPreview.js.map +1 -0
  84. package/tmp/lib/actions/TranslationSchema.js +9 -0
  85. package/tmp/lib/actions/TranslationSchema.js.map +1 -0
  86. package/tmp/lib/actions/UploaderSchema.js +11 -0
  87. package/tmp/lib/actions/UploaderSchema.js.map +1 -0
  88. package/tmp/lib/actions/index.js +24 -0
  89. package/tmp/lib/actions/index.js.map +1 -0
  90. package/tmp/lib/constants.js +452 -0
  91. package/tmp/lib/constants.js.map +1 -0
  92. package/tmp/lib/forms/spans.js +12 -0
  93. package/tmp/lib/forms/spans.js.map +1 -0
  94. package/tmp/lib/schemas/Configuration/Locale.js +89 -0
  95. package/tmp/lib/schemas/Configuration/Locale.js.map +1 -0
  96. package/tmp/lib/schemas/Template.js +76 -0
  97. package/tmp/lib/schemas/Template.js.map +1 -0
  98. package/tmp/lib/schemas/utils.js +39 -0
  99. package/tmp/lib/schemas/utils.js.map +1 -0
  100. package/tmp/lib/utils.js +127 -0
  101. package/tmp/lib/utils.js.map +1 -0
  102. package/tmp/server/generated/prisma.js +52293 -0
  103. package/tmp/server/generated/prisma.js.map +1 -0
  104. package/src/Action/CustomAction.js +0 -108
  105. package/src/Action/CustomAction.js.map +0 -1
  106. package/src/Errors/TableInstanceNotFound.js +0 -28
  107. package/src/Errors/TableInstanceNotFound.js.map +0 -1
  108. package/src/Errors/UniqueActionError.js +0 -31
  109. package/src/Errors/UniqueActionError.js.map +0 -1
  110. package/src/Mandarina.js +0 -58
  111. package/src/Mandarina.js.map +0 -1
  112. package/src/Table/Table.js +0 -424
  113. package/src/Table/Table.js.map +0 -1
  114. package/src/Table/utils.js +0 -0
  115. package/src/index.js +0 -16
  116. package/src/index.js.map +0 -1
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const moment_1 = __importDefault(require("moment"));
7
+ const utils_1 = require("mandarina/build/utils");
8
+ utils_1.generateRandomAlpha();
9
+ exports.permissions = (table, ...rest) => {
10
+ return {
11
+ read: [`read${table}`, ...rest, 'role_admin'],
12
+ update: [`update${table}`, ...rest, 'role_admin'],
13
+ create: [`create${table}`, ...rest, 'role_admin'],
14
+ delete: [`delete${table}`, ...rest, 'role_admin'],
15
+ };
16
+ };
17
+ exports.over175 = (date) => {
18
+ if (!date)
19
+ return true;
20
+ const m = moment_1.default(date);
21
+ if (!m.isValid())
22
+ return true;
23
+ return moment_1.default().diff(date, 'years', false) > 17.5;
24
+ };
25
+ exports.date175 = () => {
26
+ return moment_1.default().subtract(17.5, 'years').toDate();
27
+ };
28
+ exports.calcNights = (start, end) => {
29
+ const startDate = start instanceof Date ? start : new Date(start);
30
+ const endDate = end instanceof Date ? end : new Date(end);
31
+ endDate.setMinutes(0);
32
+ startDate.setMinutes(0);
33
+ endDate.setSeconds(0);
34
+ startDate.setSeconds(0);
35
+ endDate.setMilliseconds(0);
36
+ startDate.setMilliseconds(0);
37
+ return Math.floor(Math.abs(new Date(endDate).getTime() - new Date(startDate).getTime()) / (1000 * 3600 * 24));
38
+ };
39
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../app/lib/schemas/utils.ts"],"names":[],"mappings":";;;;;AACA,oDAA2B;AAC3B,iDAA0D;AAE1D,2BAAmB,EAAE,CAAA;AACR,QAAA,WAAW,GAAG,CAAC,KAAa,EAAE,GAAG,IAAc,EAAe,EAAE;IACzE,OAAO;QACH,IAAI,EAAE,CAAC,OAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,YAAY,CAAC;QAC7C,MAAM,EAAE,CAAC,SAAS,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,YAAY,CAAC;QACjD,MAAM,EAAE,CAAC,SAAS,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,YAAY,CAAC;QACjD,MAAM,EAAE,CAAC,SAAS,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,YAAY,CAAC;KACpD,CAAA;AACL,CAAC,CAAA;AAGY,QAAA,OAAO,GAAG,CAAC,IAAsC,EAAE,EAAE;IAC9D,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,MAAM,CAAC,GAAG,gBAAM,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;QAAE,OAAO,IAAI,CAAA;IAC7B,OAAO,gBAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,IAAI,CAAA;AACrD,CAAC,CAAA;AAEY,QAAA,OAAO,GAAG,GAAG,EAAE;IACxB,OAAO,gBAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;AACpD,CAAC,CAAA;AAEY,QAAA,UAAU,GAAC,CAAC,KAAoB,EAAE,GAAkB,EAAC,EAAE;IAChE,MAAM,SAAS,GAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/D,MAAM,OAAO,GAAC,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAA;IACvD,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACrB,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACvB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACrB,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACvB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IAC1B,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;AAClH,CAAC,CAAA"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.endpoint = '/api';
4
+ exports.port = process.env.PORT || `8000`;
5
+ // @ts-ignore
6
+ exports.isBrowser = !!(typeof process === 'undefined' || (process && process.type === 'renderer') || process.browser === true || process.__nwjs);
7
+ exports.isImage = (file) => file && file.type && file.type.indexOf('image/') === 0;
8
+ exports.isFrame = (file) => file && file.type && file.type.indexOf('pdf') > 0;
9
+ exports.padStart = (index, n = 2, string = "0") => (index).toString().padStart(n, string);
10
+ exports.getImageSize = (file) => new Promise((resolve, rejected) => {
11
+ const img = new Image;
12
+ img.onload = () => resolve({ width: img.width, height: img.height });
13
+ img.onerror = (e) => rejected(e);
14
+ img.src = URL.createObjectURL(file);
15
+ // is the data URL because called with readAsDataURL
16
+ });
17
+ exports.getParentNames = (family) => {
18
+ if (!family || !family.parents || family.parents.length === 0)
19
+ return '';
20
+ if (family.parents.length === 1) {
21
+ return `${family.parents[0].firstName} ${family.parents[0].surname || ''}`;
22
+ }
23
+ else {
24
+ if ((family.parents[0].surname || '').toLocaleLowerCase().trim() === (family.parents[1].surname || '').toLocaleLowerCase().trim()) {
25
+ return `${family.parents[0].firstName} & ${family.parents[1].firstName} ${family.parents[0].surname || ''}`;
26
+ }
27
+ else {
28
+ return `${family.parents[0].firstName} ${family.parents[0].surname || ''} & ${family.parents[1].firstName} ${family.parents[1].surname || ''}`;
29
+ }
30
+ }
31
+ };
32
+ exports.getNames = ({ firstName = '', surname = '' }) => surname + (surname ? ',' : '') + ' ' + firstName;
33
+ exports.auth = (user, roles = '', throwError = false) => {
34
+ if (!user) {
35
+ if (throwError) {
36
+ throw new Error('403 Forbidden');
37
+ }
38
+ else {
39
+ return false;
40
+ }
41
+ }
42
+ if (!roles)
43
+ return true;
44
+ if (!Array.isArray(roles))
45
+ roles = [roles];
46
+ if (roles.includes('everybody'))
47
+ return true;
48
+ if (user && user.roles && user.roles.some(r => roles.includes(r))) {
49
+ return true;
50
+ }
51
+ else if (throwError) {
52
+ throw new Error('401 Access denied!');
53
+ }
54
+ else {
55
+ return false;
56
+ }
57
+ };
58
+ exports.getBaseUrl = (subdomain, url = '') => {
59
+ if (process.env.NODE_ENV === 'development') {
60
+ return `http://${subdomain}.localhost:8080/${url}`;
61
+ }
62
+ return `http://${subdomain}.homestaysystems.com/${url}`;
63
+ };
64
+ let time = new Date().getTime();
65
+ function bm(description = '', ...args) {
66
+ description && console.info(description, new Date().getTime() - time, ...args);
67
+ time = new Date().getTime();
68
+ }
69
+ exports.bm = bm;
70
+ exports.calcAge = (date) => {
71
+ if (!date)
72
+ return '';
73
+ if (!(date instanceof Date))
74
+ date = new Date(Date.parse(date));
75
+ return (new Date(Date.now() - date.getTime()).getFullYear() - 1970).toString();
76
+ };
77
+ exports.calPayments = (payments, from, to, nights, currencySymbol) => {
78
+ const first = payments && (payments[from - 1] || payments[0] || 0) * nights;
79
+ const last = payments && (payments[to - 1] || payments[payments.length - 1] || 0) * nights;
80
+ return from === to ? `${exports.showMoney(first, currencySymbol)}` : `${exports.showMoney(first, currencySymbol)} to ${exports.showMoney(last, currencySymbol)}`;
81
+ };
82
+ exports.showMoney = (amount, currencySymbol) => {
83
+ return currencySymbol + amount.toLocaleString('en-US');
84
+ };
85
+ exports.showDate = (date, dateFormat, month = 'short', na = '') => {
86
+ const options = { year: 'numeric', month, day: 'numeric' };
87
+ let country = dateFormat.indexOf('DD') === 0 ? 'AU' : 'UK';
88
+ if (!date)
89
+ return na;
90
+ if (!(date instanceof Date)) {
91
+ const instance = Date.parse(date);
92
+ if (isNaN(instance))
93
+ return na;
94
+ const show = new Date(instance);
95
+ // @ts-ignore
96
+ return show.toLocaleDateString(`en-${country}`, options);
97
+ }
98
+ // @ts-ignore
99
+ return date.toLocaleDateString(`en-${country}`, options);
100
+ };
101
+ exports.showTime = (time) => {
102
+ let [h, m = "0"] = (time / 60).toString().split(".");
103
+ const mm = (Number(m) * 6).toString().padStart(2, "0");
104
+ return `${h}:${mm}`;
105
+ };
106
+ exports.showDateTime = (date, dateFormat, month = 'short', na = '') => {
107
+ const options = { year: 'numeric', month, day: 'numeric' };
108
+ let country = dateFormat.indexOf('DD') === 0 ? 'AU' : 'UK';
109
+ if (!date)
110
+ return na;
111
+ let show;
112
+ if (!(date instanceof Date)) {
113
+ const instance = Date.parse(date);
114
+ if (isNaN(instance))
115
+ return na;
116
+ show = new Date(instance);
117
+ }
118
+ else {
119
+ show = date;
120
+ }
121
+ // @ts-ignore
122
+ return show.toLocaleDateString(`en-${country}`, options) + ', ' + show.toLocaleTimeString(`en-${country}`, {
123
+ hour: '2-digit',
124
+ minute: '2-digit'
125
+ });
126
+ };
127
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../app/lib/utils.ts"],"names":[],"mappings":";;AAIa,QAAA,QAAQ,GAAG,MAAM,CAAA;AACjB,QAAA,IAAI,GAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAA;AAE7C,aAAa;AACA,QAAA,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;AACxI,QAAA,OAAO,GAAG,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC5F,QAAA,OAAO,GAAG,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AAEvF,QAAA,QAAQ,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AAEjF,QAAA,YAAY,GAAG,CAAC,IAAU,EAA8C,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;IACtH,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC;IACtB,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAC,CAAC,CAAA;IAClE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAChC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IACnC,oDAAoD;AACxD,CAAC,CAAC,CAAA;AAEW,QAAA,cAAc,GAAG,CAAC,MAAe,EAAE,EAAE;IAC9C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACxE,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAA;KAC7E;SAAM;QACH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/H,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAA;SAC9G;aAAM;YACH,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAA;SACjJ;KACJ;AACL,CAAC,CAAA;AAEY,QAAA,QAAQ,GAAG,CAAC,EAAC,SAAS,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAA2C,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,SAAS,CAAA;AAGzI,QAAA,IAAI,GAAG,CAAC,IAAiC,EAAE,QAA2B,EAAE,EAAE,UAAU,GAAG,KAAK,EAAE,EAAE;IACzG,IAAI,CAAC,IAAI,EAAE;QACP,IAAI,UAAU,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;SACnC;aAAM;YACH,OAAO,KAAK,CAAA;SACf;KACJ;IACD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;QAC/D,OAAO,IAAI,CAAA;KACd;SAAM,IAAI,UAAU,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;KACxC;SAAM;QACH,OAAO,KAAK,CAAA;KACf;AACL,CAAC,CAAA;AAEY,QAAA,UAAU,GAAG,CAAC,SAAS,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;QACxC,OAAO,UAAU,SAAS,mBAAmB,GAAG,EAAE,CAAA;KACrD;IACD,OAAO,UAAU,SAAS,wBAAwB,GAAG,EAAE,CAAA;AAC3D,CAAC,CAAA;AAGD,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;AAE/B,SAAgB,EAAE,CAAC,WAAW,GAAG,EAAE,EAAE,GAAG,IAAI;IACxC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;IAC9E,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;AAE/B,CAAC;AAJD,gBAIC;AAGY,QAAA,OAAO,GAAG,CAAC,IAAmB,EAAE,EAAE;IAC3C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACpB,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC;QAAE,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9D,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AACnF,CAAC,CAAA;AAGY,QAAA,WAAW,GAAG,CAAC,QAAkB,EAAE,IAAY,EAAE,EAAU,EAAE,MAAc,EAAE,cAAsB,EAAE,EAAE;IAChH,MAAM,KAAK,GAAG,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAA;IAC3E,MAAM,IAAI,GAAG,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAA;IAC1F,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,iBAAS,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,iBAAS,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,iBAAS,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAA;AAC5I,CAAC,CAAA;AAEY,QAAA,SAAS,GAAG,CAAC,MAAc,EAAE,cAAsB,EAAE,EAAE;IAChE,OAAO,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AAC3D,CAAC,CAAA;AAGY,QAAA,QAAQ,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,GAAG,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;IACnE,MAAM,OAAO,GAAG,EAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAC,CAAC;IACzD,IAAI,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACpB,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,KAAK,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAA;QAC9B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/B,aAAa;QACb,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;KAC3D;IACD,aAAa;IAEb,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;AAC5D,CAAC,CAAA;AAEY,QAAA,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE;IAC7B,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACpD,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACtD,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE,CAAA;AACvB,CAAC,CAAA;AAGY,QAAA,YAAY,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,GAAG,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;IACvE,MAAM,OAAO,GAAG,EAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAC,CAAC;IACzD,IAAI,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACpB,IAAI,IAAU,CAAA;IACd,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,KAAK,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAA;QAC9B,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAA;KAE5B;SAAM;QACH,IAAI,GAAG,IAAI,CAAA;KACd;IACD,aAAa;IACb,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,OAAO,EAAE,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,OAAO,EAAE,EAAE;QACvG,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;KACpB,CAAC,CAAA;AACN,CAAC,CAAA"}