lwc-convert 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +719 -0
- package/dist/cli/commands/aura.d.ts +6 -0
- package/dist/cli/commands/aura.d.ts.map +1 -0
- package/dist/cli/commands/aura.js +225 -0
- package/dist/cli/commands/aura.js.map +1 -0
- package/dist/cli/commands/vf.d.ts +6 -0
- package/dist/cli/commands/vf.d.ts.map +1 -0
- package/dist/cli/commands/vf.js +218 -0
- package/dist/cli/commands/vf.js.map +1 -0
- package/dist/cli/interactive.d.ts +20 -0
- package/dist/cli/interactive.d.ts.map +1 -0
- package/dist/cli/interactive.js +577 -0
- package/dist/cli/interactive.js.map +1 -0
- package/dist/cli/options.d.ts +21 -0
- package/dist/cli/options.d.ts.map +1 -0
- package/dist/cli/options.js +24 -0
- package/dist/cli/options.js.map +1 -0
- package/dist/generators/full-conversion.d.ts +41 -0
- package/dist/generators/full-conversion.d.ts.map +1 -0
- package/dist/generators/full-conversion.js +538 -0
- package/dist/generators/full-conversion.js.map +1 -0
- package/dist/generators/scaffolding.d.ts +40 -0
- package/dist/generators/scaffolding.d.ts.map +1 -0
- package/dist/generators/scaffolding.js +716 -0
- package/dist/generators/scaffolding.js.map +1 -0
- package/dist/generators/test-comparison.d.ts +47 -0
- package/dist/generators/test-comparison.d.ts.map +1 -0
- package/dist/generators/test-comparison.js +855 -0
- package/dist/generators/test-comparison.js.map +1 -0
- package/dist/generators/test-generator.d.ts +27 -0
- package/dist/generators/test-generator.d.ts.map +1 -0
- package/dist/generators/test-generator.js +385 -0
- package/dist/generators/test-generator.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +226 -0
- package/dist/index.js.map +1 -0
- package/dist/mappings/aura-to-lwc.json +321 -0
- package/dist/mappings/vf-to-lwc.json +354 -0
- package/dist/parsers/aura/controller-parser.d.ts +36 -0
- package/dist/parsers/aura/controller-parser.d.ts.map +1 -0
- package/dist/parsers/aura/controller-parser.js +269 -0
- package/dist/parsers/aura/controller-parser.js.map +1 -0
- package/dist/parsers/aura/helper-parser.d.ts +21 -0
- package/dist/parsers/aura/helper-parser.d.ts.map +1 -0
- package/dist/parsers/aura/helper-parser.js +173 -0
- package/dist/parsers/aura/helper-parser.js.map +1 -0
- package/dist/parsers/aura/markup-parser.d.ts +59 -0
- package/dist/parsers/aura/markup-parser.d.ts.map +1 -0
- package/dist/parsers/aura/markup-parser.js +279 -0
- package/dist/parsers/aura/markup-parser.js.map +1 -0
- package/dist/parsers/aura/style-parser.d.ts +37 -0
- package/dist/parsers/aura/style-parser.d.ts.map +1 -0
- package/dist/parsers/aura/style-parser.js +151 -0
- package/dist/parsers/aura/style-parser.js.map +1 -0
- package/dist/parsers/vf/apex-parser.d.ts +51 -0
- package/dist/parsers/vf/apex-parser.d.ts.map +1 -0
- package/dist/parsers/vf/apex-parser.js +251 -0
- package/dist/parsers/vf/apex-parser.js.map +1 -0
- package/dist/parsers/vf/page-parser.d.ts +61 -0
- package/dist/parsers/vf/page-parser.d.ts.map +1 -0
- package/dist/parsers/vf/page-parser.js +403 -0
- package/dist/parsers/vf/page-parser.js.map +1 -0
- package/dist/transformers/aura-to-lwc/controller.d.ts +36 -0
- package/dist/transformers/aura-to-lwc/controller.d.ts.map +1 -0
- package/dist/transformers/aura-to-lwc/controller.js +372 -0
- package/dist/transformers/aura-to-lwc/controller.js.map +1 -0
- package/dist/transformers/aura-to-lwc/events.d.ts +47 -0
- package/dist/transformers/aura-to-lwc/events.d.ts.map +1 -0
- package/dist/transformers/aura-to-lwc/events.js +262 -0
- package/dist/transformers/aura-to-lwc/events.js.map +1 -0
- package/dist/transformers/aura-to-lwc/markup.d.ts +51 -0
- package/dist/transformers/aura-to-lwc/markup.d.ts.map +1 -0
- package/dist/transformers/aura-to-lwc/markup.js +465 -0
- package/dist/transformers/aura-to-lwc/markup.js.map +1 -0
- package/dist/transformers/vf-to-lwc/components.d.ts +40 -0
- package/dist/transformers/vf-to-lwc/components.d.ts.map +1 -0
- package/dist/transformers/vf-to-lwc/components.js +374 -0
- package/dist/transformers/vf-to-lwc/components.js.map +1 -0
- package/dist/transformers/vf-to-lwc/data-binding.d.ts +53 -0
- package/dist/transformers/vf-to-lwc/data-binding.d.ts.map +1 -0
- package/dist/transformers/vf-to-lwc/data-binding.js +660 -0
- package/dist/transformers/vf-to-lwc/data-binding.js.map +1 -0
- package/dist/transformers/vf-to-lwc/markup.d.ts +44 -0
- package/dist/transformers/vf-to-lwc/markup.d.ts.map +1 -0
- package/dist/transformers/vf-to-lwc/markup.js +816 -0
- package/dist/transformers/vf-to-lwc/markup.js.map +1 -0
- package/dist/utils/confidence-scorer.d.ts +100 -0
- package/dist/utils/confidence-scorer.d.ts.map +1 -0
- package/dist/utils/confidence-scorer.js +358 -0
- package/dist/utils/confidence-scorer.js.map +1 -0
- package/dist/utils/file-io.d.ts +62 -0
- package/dist/utils/file-io.d.ts.map +1 -0
- package/dist/utils/file-io.js +248 -0
- package/dist/utils/file-io.js.map +1 -0
- package/dist/utils/logger.d.ts +34 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +130 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/open-folder.d.ts +9 -0
- package/dist/utils/open-folder.d.ts.map +1 -0
- package/dist/utils/open-folder.js +76 -0
- package/dist/utils/open-folder.js.map +1 -0
- package/dist/utils/path-resolver.d.ts +29 -0
- package/dist/utils/path-resolver.d.ts.map +1 -0
- package/dist/utils/path-resolver.js +240 -0
- package/dist/utils/path-resolver.js.map +1 -0
- package/dist/utils/session-store.d.ts +158 -0
- package/dist/utils/session-store.d.ts.map +1 -0
- package/dist/utils/session-store.js +518 -0
- package/dist/utils/session-store.js.map +1 -0
- package/dist/utils/vf-controller-resolver.d.ts +36 -0
- package/dist/utils/vf-controller-resolver.d.ts.map +1 -0
- package/dist/utils/vf-controller-resolver.js +162 -0
- package/dist/utils/vf-controller-resolver.js.map +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Transform Aura event patterns to LWC CustomEvent
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.transformAuraEvent = transformAuraEvent;
|
|
7
|
+
exports.generatePubSubUtility = generatePubSubUtility;
|
|
8
|
+
exports.generateMessageChannel = generateMessageChannel;
|
|
9
|
+
exports.generateLmsPublishCode = generateLmsPublishCode;
|
|
10
|
+
exports.generateLmsSubscribeCode = generateLmsSubscribeCode;
|
|
11
|
+
exports.transformEventHandler = transformEventHandler;
|
|
12
|
+
const logger_1 = require("../../utils/logger");
|
|
13
|
+
/**
|
|
14
|
+
* Convert Aura event name to LWC event name
|
|
15
|
+
* MyEvent -> myevent
|
|
16
|
+
* onMyEvent -> myevent
|
|
17
|
+
*/
|
|
18
|
+
function toLwcEventName(auraName) {
|
|
19
|
+
let name = auraName;
|
|
20
|
+
// Remove 'on' prefix if present
|
|
21
|
+
if (name.startsWith('on')) {
|
|
22
|
+
name = name.substring(2);
|
|
23
|
+
}
|
|
24
|
+
// Remove namespace prefix (e.g., c:MyEvent -> MyEvent)
|
|
25
|
+
if (name.includes(':')) {
|
|
26
|
+
name = name.split(':')[1];
|
|
27
|
+
}
|
|
28
|
+
// Convert to lowercase (LWC convention)
|
|
29
|
+
return name.toLowerCase();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Transform a registered Aura event to LWC CustomEvent
|
|
33
|
+
*/
|
|
34
|
+
function transformAuraEvent(event, handler) {
|
|
35
|
+
const warnings = [];
|
|
36
|
+
const lwcEventName = toLwcEventName(event.name);
|
|
37
|
+
// Check if this is an application event (namespace indicates)
|
|
38
|
+
const isApplicationEvent = event.type.includes(':') && !event.type.startsWith('c:');
|
|
39
|
+
if (isApplicationEvent) {
|
|
40
|
+
warnings.push(`"${event.type}" is an application event - consider using pub/sub pattern or Lightning Message Service`);
|
|
41
|
+
}
|
|
42
|
+
// Generate dispatch code
|
|
43
|
+
const dispatchCode = `
|
|
44
|
+
// Fire the ${event.name} event
|
|
45
|
+
this.dispatchEvent(new CustomEvent('${lwcEventName}', {
|
|
46
|
+
detail: {
|
|
47
|
+
// TODO: Add event data properties here
|
|
48
|
+
},
|
|
49
|
+
bubbles: ${isApplicationEvent},
|
|
50
|
+
composed: ${isApplicationEvent}
|
|
51
|
+
}));`;
|
|
52
|
+
// Generate handler code
|
|
53
|
+
const handlerMethod = handler?.action?.replace('{!c.', '').replace('}', '') || `handle${event.name}`;
|
|
54
|
+
const handlerCode = `
|
|
55
|
+
// Handler for ${event.name} event
|
|
56
|
+
${handlerMethod}(event) {
|
|
57
|
+
const detail = event.detail;
|
|
58
|
+
// TODO: Handle event data
|
|
59
|
+
}`;
|
|
60
|
+
// Generate parent binding (in parent component's template)
|
|
61
|
+
const parentBinding = `on${lwcEventName}={${handlerMethod}}`;
|
|
62
|
+
logger_1.logger.debug(`Transformed event: ${event.name} -> ${lwcEventName}`);
|
|
63
|
+
return {
|
|
64
|
+
auraEventName: event.name,
|
|
65
|
+
auraEventType: event.type,
|
|
66
|
+
lwcEventName,
|
|
67
|
+
isApplicationEvent,
|
|
68
|
+
handlerMethod,
|
|
69
|
+
warnings,
|
|
70
|
+
code: {
|
|
71
|
+
dispatch: dispatchCode.trim(),
|
|
72
|
+
handler: handlerCode.trim(),
|
|
73
|
+
parentBinding,
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Generate pub/sub utility for application events
|
|
79
|
+
*/
|
|
80
|
+
function generatePubSubUtility() {
|
|
81
|
+
return `/**
|
|
82
|
+
* Pub/Sub utility for component communication
|
|
83
|
+
* Use this when converting Aura application events that need cross-component communication
|
|
84
|
+
*/
|
|
85
|
+
|
|
86
|
+
const events = {};
|
|
87
|
+
|
|
88
|
+
const registerListener = (eventName, callback, thisArg) => {
|
|
89
|
+
if (!events[eventName]) {
|
|
90
|
+
events[eventName] = [];
|
|
91
|
+
}
|
|
92
|
+
const duplicate = events[eventName].find((listener) => {
|
|
93
|
+
return listener.callback === callback && listener.thisArg === thisArg;
|
|
94
|
+
});
|
|
95
|
+
if (!duplicate) {
|
|
96
|
+
events[eventName].push({ callback, thisArg });
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
const unregisterListener = (eventName, callback, thisArg) => {
|
|
101
|
+
if (events[eventName]) {
|
|
102
|
+
events[eventName] = events[eventName].filter(
|
|
103
|
+
(listener) =>
|
|
104
|
+
listener.callback !== callback || listener.thisArg !== thisArg
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
const unregisterAllListeners = (thisArg) => {
|
|
110
|
+
Object.keys(events).forEach((eventName) => {
|
|
111
|
+
events[eventName] = events[eventName].filter(
|
|
112
|
+
(listener) => listener.thisArg !== thisArg
|
|
113
|
+
);
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
const fireEvent = (eventName, detail) => {
|
|
118
|
+
if (events[eventName]) {
|
|
119
|
+
events[eventName].forEach((listener) => {
|
|
120
|
+
try {
|
|
121
|
+
listener.callback.call(listener.thisArg, detail);
|
|
122
|
+
} catch (error) {
|
|
123
|
+
console.error('Error in event listener:', error);
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
export { registerListener, unregisterListener, unregisterAllListeners, fireEvent };
|
|
130
|
+
`;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Generate Lightning Message Service channel definition
|
|
134
|
+
*/
|
|
135
|
+
function generateMessageChannel(eventName, description) {
|
|
136
|
+
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
137
|
+
<LightningMessageChannel xmlns="http://soap.sforce.com/2006/04/metadata">
|
|
138
|
+
<description>${description || `Message channel for ${eventName} communication`}</description>
|
|
139
|
+
<isExposed>true</isExposed>
|
|
140
|
+
<lightningMessageFields>
|
|
141
|
+
<description>The payload of the message</description>
|
|
142
|
+
<fieldName>payload</fieldName>
|
|
143
|
+
</lightningMessageFields>
|
|
144
|
+
<masterLabel>${eventName}</masterLabel>
|
|
145
|
+
</LightningMessageChannel>
|
|
146
|
+
`;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Generate LMS usage code for publishing
|
|
150
|
+
*/
|
|
151
|
+
function generateLmsPublishCode(channelName) {
|
|
152
|
+
return `
|
|
153
|
+
// Import the message channel
|
|
154
|
+
import { publish, MessageContext } from 'lightning/messageService';
|
|
155
|
+
import ${channelName.toUpperCase()}_CHANNEL from '@salesforce/messageChannel/${channelName}__c';
|
|
156
|
+
|
|
157
|
+
// Wire the message context
|
|
158
|
+
@wire(MessageContext)
|
|
159
|
+
messageContext;
|
|
160
|
+
|
|
161
|
+
// Publish a message
|
|
162
|
+
publishMessage(data) {
|
|
163
|
+
const message = {
|
|
164
|
+
payload: data
|
|
165
|
+
};
|
|
166
|
+
publish(this.messageContext, ${channelName.toUpperCase()}_CHANNEL, message);
|
|
167
|
+
}`;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Generate LMS usage code for subscribing
|
|
171
|
+
*/
|
|
172
|
+
function generateLmsSubscribeCode(channelName) {
|
|
173
|
+
return `
|
|
174
|
+
// Import the message channel
|
|
175
|
+
import {
|
|
176
|
+
subscribe,
|
|
177
|
+
unsubscribe,
|
|
178
|
+
APPLICATION_SCOPE,
|
|
179
|
+
MessageContext
|
|
180
|
+
} from 'lightning/messageService';
|
|
181
|
+
import ${channelName.toUpperCase()}_CHANNEL from '@salesforce/messageChannel/${channelName}__c';
|
|
182
|
+
|
|
183
|
+
// Wire the message context
|
|
184
|
+
@wire(MessageContext)
|
|
185
|
+
messageContext;
|
|
186
|
+
|
|
187
|
+
subscription = null;
|
|
188
|
+
|
|
189
|
+
// Subscribe in connectedCallback
|
|
190
|
+
connectedCallback() {
|
|
191
|
+
this.subscribeToChannel();
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
subscribeToChannel() {
|
|
195
|
+
if (!this.subscription) {
|
|
196
|
+
this.subscription = subscribe(
|
|
197
|
+
this.messageContext,
|
|
198
|
+
${channelName.toUpperCase()}_CHANNEL,
|
|
199
|
+
(message) => this.handleMessage(message),
|
|
200
|
+
{ scope: APPLICATION_SCOPE }
|
|
201
|
+
);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
handleMessage(message) {
|
|
206
|
+
const payload = message.payload;
|
|
207
|
+
// TODO: Handle the received message
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
// Unsubscribe in disconnectedCallback
|
|
211
|
+
disconnectedCallback() {
|
|
212
|
+
if (this.subscription) {
|
|
213
|
+
unsubscribe(this.subscription);
|
|
214
|
+
this.subscription = null;
|
|
215
|
+
}
|
|
216
|
+
}`;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Transform Aura component event handler binding
|
|
220
|
+
*/
|
|
221
|
+
function transformEventHandler(handler) {
|
|
222
|
+
const warnings = [];
|
|
223
|
+
let templateBinding = '';
|
|
224
|
+
let methodName = '';
|
|
225
|
+
// Extract method name from {!c.methodName}
|
|
226
|
+
const actionMatch = handler.action.match(/\{!c\.(\w+)\}/);
|
|
227
|
+
if (actionMatch) {
|
|
228
|
+
methodName = actionMatch[1];
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
methodName = handler.action;
|
|
232
|
+
warnings.push(`Could not parse action "${handler.action}" - verify method name`);
|
|
233
|
+
}
|
|
234
|
+
// Handle different event types
|
|
235
|
+
if (handler.event.startsWith('c:')) {
|
|
236
|
+
// Custom component event - use on<eventname> binding
|
|
237
|
+
const eventName = handler.event.substring(2).toLowerCase();
|
|
238
|
+
templateBinding = `on${eventName}={${methodName}}`;
|
|
239
|
+
}
|
|
240
|
+
else if (handler.event.includes(':')) {
|
|
241
|
+
// Namespace event - might be platform event
|
|
242
|
+
const eventName = handler.event.split(':')[1].toLowerCase();
|
|
243
|
+
if (handler.event.startsWith('force:')) {
|
|
244
|
+
warnings.push(`Platform event "${handler.event}" - may need alternative approach in LWC`);
|
|
245
|
+
}
|
|
246
|
+
templateBinding = `on${eventName}={${methodName}}`;
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
// Simple event name
|
|
250
|
+
templateBinding = `on${handler.event.toLowerCase()}={${methodName}}`;
|
|
251
|
+
}
|
|
252
|
+
// Handle phase attribute (capture vs bubble)
|
|
253
|
+
if (handler.phase === 'capture') {
|
|
254
|
+
warnings.push('Capture phase handler found - LWC supports this via addEventListener with { capture: true }');
|
|
255
|
+
}
|
|
256
|
+
return {
|
|
257
|
+
templateBinding,
|
|
258
|
+
methodName,
|
|
259
|
+
warnings,
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/transformers/aura-to-lwc/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transform Aura markup to LWC HTML template
|
|
3
|
+
*/
|
|
4
|
+
import { ParsedAuraMarkup } from '../../parsers/aura/markup-parser';
|
|
5
|
+
export interface TransformedMarkup {
|
|
6
|
+
html: string;
|
|
7
|
+
warnings: string[];
|
|
8
|
+
usedDirectives: string[];
|
|
9
|
+
usedComponents: string[];
|
|
10
|
+
/** LMS channels detected from lightning:messageChannel */
|
|
11
|
+
lmsChannels: LmsChannelConfig[];
|
|
12
|
+
/** force:recordData instances to convert to @wire */
|
|
13
|
+
recordDataServices: RecordDataConfig[];
|
|
14
|
+
/** aura:set facets for slot conversion */
|
|
15
|
+
facetContent: FacetContent[];
|
|
16
|
+
/** Complex expressions converted to getters */
|
|
17
|
+
detectedGetters: DetectedGetter[];
|
|
18
|
+
}
|
|
19
|
+
export interface DetectedGetter {
|
|
20
|
+
name: string;
|
|
21
|
+
expression: string;
|
|
22
|
+
}
|
|
23
|
+
/** LMS channel configuration from lightning:messageChannel */
|
|
24
|
+
export interface LmsChannelConfig {
|
|
25
|
+
channelName: string;
|
|
26
|
+
auraId: string;
|
|
27
|
+
onMessageHandler?: string;
|
|
28
|
+
scope?: string;
|
|
29
|
+
/** True if this component only publishes (no onMessage handler) */
|
|
30
|
+
isPublisherOnly?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/** force:recordData configuration */
|
|
33
|
+
export interface RecordDataConfig {
|
|
34
|
+
auraId: string;
|
|
35
|
+
recordIdBinding: string;
|
|
36
|
+
fields: string[];
|
|
37
|
+
targetFields?: string;
|
|
38
|
+
targetRecord?: string;
|
|
39
|
+
targetError?: string;
|
|
40
|
+
mode?: string;
|
|
41
|
+
}
|
|
42
|
+
/** Facet content from aura:set */
|
|
43
|
+
export interface FacetContent {
|
|
44
|
+
attributeName: string;
|
|
45
|
+
content: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Transform parsed Aura markup to LWC HTML
|
|
49
|
+
*/
|
|
50
|
+
export declare function transformAuraMarkup(parsed: ParsedAuraMarkup): TransformedMarkup;
|
|
51
|
+
//# sourceMappingURL=markup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markup.d.ts","sourceRoot":"","sources":["../../../src/transformers/aura-to-lwc/markup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAIpE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,0DAA0D;IAC1D,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,qDAAqD;IACrD,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;IACvC,0CAA0C;IAC1C,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,+CAA+C;IAC/C,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kCAAkC;AAClC,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AA2gBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,iBAAiB,CAkC/E"}
|