@dropins/tools 2.0.0-beta.1 → 2.0.1-alpha-20260728135101

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.md CHANGED
@@ -1,188 +1,288 @@
1
-
2
1
  ADOBE SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT
3
2
  Effective Date: first date you use the SDK
4
-
5
-
6
- The SDK is licensed to you subject to the terms and conditions below which form a binding agreement between you and Adobe. By downloading, installing, or
7
- making use of any portion of the SDK, you are agreeing to the following terms and conditions. If you do not agree to the terms and conditions below,
8
- do not use the SDK. If you agree to be bound by this agreement on behalf of your employer or other entity, you must have the legal authority to do so.
9
- If you are not authorized to so bind your employer or such entity, do not use the SDK.
10
-
11
-
12
- AGREED TERMS AND CONDITIONS
13
-
14
- 1. DEFINITIONS.
15
-
16
- 1.1 “Adobe” means collectively, Adobe Inc., a company incorporated in Delaware, U.S.A., having a place of business at 345 Park Avenue, San Jose,
17
- California USA 95110-2704, U.S.A. (“Adobe US) and Adobe Systems Software Ireland, company incorporated in Ireland, having a place of business
18
- 4-6 Riverwalk, City West Business Campus, Saggart, Dublin 24, Ireland (“Adobe Ireland”).
19
-
20
- 1.2 “Adobe Product(s)” means software applications, programs and other technologies not included in or with the SDK which are or may be made generally
21
- available by Adobe for licensing. This agreement does not govern use of Adobe Products.
22
-
23
- 1.3 “Developer Product(s)” means any software application(s), program(s) and other teconolog(y/ies) you develop with use of the SDK to function or
3
+
4
+ The SDK is licensed to you subject to the terms and conditions below which form
5
+ a binding agreement between you and Adobe. By downloading, installing, or making
6
+ use of any portion of the SDK, you are agreeing to the following terms and
7
+ conditions. If you do not agree to the terms and conditions below, do not use
8
+ the SDK. If you agree to be bound by this agreement on behalf of your employer
9
+ or other entity, you must have the legal authority to do so. If you are not
10
+ authorized to so bind your employer or such entity, do not use the SDK.
11
+
12
+ AGREED TERMS AND CONDITIONS
13
+
14
+ 1. DEFINITIONS.
15
+
16
+ 1.1 “Adobe” means collectively, Adobe Inc., a company incorporated in
17
+ Delaware, U.S.A., having a place of business at 345 Park Avenue, San Jose,
18
+ California USA 95110-2704, U.S.A. (“Adobe US”) and Adobe Systems Software
19
+ Ireland, company incorporated in Ireland, having a place of business 4-6
20
+ Riverwalk, City West Business Campus, Saggart, Dublin 24, Ireland (“Adobe
21
+ Ireland”).
22
+
23
+ 1.2 “Adobe Product(s)” means software applications, programs and other
24
+ technologies not included in or with the SDK which are or may be made
25
+ generally available by Adobe for licensing. This agreement does not govern
26
+ use of Adobe Products.
27
+
28
+ 1.3 “Developer Product(s)” means any software application(s), program(s) and
29
+ other teconolog(y/ies) you develop with use of the SDK to function or
24
30
  interoperate with Adobe Products.
25
-
26
- 1.4 “Intellectual Property Rights” means copyright, moral rights, trademark, trade dress, patent, trade secret, unfair competition, and any other
31
+
32
+ 1.4 “Intellectual Property Rights” means copyright, moral rights, trademark,
33
+ trade dress, patent, trade secret, unfair competition, and any other
27
34
  intellectual and proprietary rights.
28
-
29
- 1.5 “SDK” or “Software Development Kit” means all items comprising the software development kit and all associated materials licensed to you by
30
- Adobe as part of the SDK, including all SDK system files, tools, programs and utilities, as well as any plug-ins or other application programming
31
- interfaces, header or JAR files (“API”), sample images, sounds, or similar assets (“Content Files”), software code samples, runtimes and libraries,
32
- including any portion(s) that is modified by you, or merged or incorporated with your Developer Products (“Sample Code”), and any related
33
- documentation, technical specifications, notes and explanatory materials, as well any modifications, updates, upgrades, or copies of, any of the
34
- foregoing items, that may be made available by Adobe.
35
-
35
+
36
+ 1.5 “SDK” or “Software Development Kit” means all items comprising the
37
+ software development kit and all associated materials licensed to you by
38
+ Adobe as part of the SDK, including all SDK system files, tools, programs
39
+ and utilities, as well as any plug-ins or other application programming
40
+ interfaces, header or JAR files (“API”), sample images, sounds, or similar
41
+ assets (“Content Files”), software code samples, runtimes and libraries,
42
+ including any portion(s) that is modified by you, or merged or incorporated
43
+ with your Developer Products (“Sample Code”), and any related documentation,
44
+ technical specifications, notes and explanatory materials, as well any
45
+ modifications, updates, upgrades, or copies of, any of the foregoing items,
46
+ that may be made available by Adobe.
47
+
36
48
  2. LICENSES GRANTED TO YOU.
37
49
 
38
- 2.1 SDK. Subject to your compliance with terms of this agreement, Adobe grants to you a non-exclusive, non-sublicensable, non-transferable license
39
- to install and use the SDK solely for your internal design, development and testing of your Developer Products, subject further to the requirements
40
- and limitations below.
41
-
42
- 2.2 API. Subject to your compliance with terms of this agreement, Adobe grants to you a non-exclusive, non-sublicensable, non-transferable license
43
- to use the API only as provided in or by the applicable specification and to distribute the API solely in, with, and on the same media as, your
44
- Developer Products. For clarification, you may not modify the API.
45
-
46
- 2.3 Content Files. You may not use, modify, reproduce or distribute any of the Content Files. For the avoidance of doubt, the Content Files are
50
+ 2.1 SDK. Subject to your compliance with terms of this agreement, Adobe
51
+ grants to you a non-exclusive, non-sublicensable, non-transferable license
52
+ to install and use the SDK solely for your internal design, development and
53
+ testing of your Developer Products, subject further to the requirements and
54
+ limitations below.
55
+
56
+ 2.2 API. Subject to your compliance with terms of this agreement, Adobe
57
+ grants to you a non-exclusive, non-sublicensable, non-transferable license
58
+ to use the API only as provided in or by the applicable specification and to
59
+ distribute the API solely in, with, and on the same media as, your Developer
60
+ Products. For clarification, you may not modify the API.
61
+
62
+ 2.3 Content Files. You may not use, modify, reproduce or distribute any of
63
+ the Content Files. For the avoidance of doubt, the Content Files are
47
64
  included as examples only. You acquire no rights to the Content Files.
48
-
49
- 2.4 Sample Code. Subject to your compliance with terms of this agreement, Adobe grants to you a non-exclusive, non-sublicensable, non-transferable
50
- license to use, modify, merge, and redistribute (in object code form only) all or any portions of the Sample Code solely as part of, and as necessary
51
- to properly implement, the SDK in your Developer Products. All and any portion of the Sample code that is modified or merged by you in your Developer
52
- Products is subject to the terms of this agreement.
53
-
65
+
66
+ 2.4 Sample Code. Subject to your compliance with terms of this agreement,
67
+ Adobe grants to you a non-exclusive, non-sublicensable, non-transferable
68
+ license to use, modify, merge, and redistribute (in object code form only)
69
+ all or any portions of the Sample Code solely as part of, and as necessary
70
+ to properly implement, the SDK in your Developer Products. All and any
71
+ portion of the Sample code that is modified or merged by you in your
72
+ Developer Products is subject to the terms of this agreement.
73
+
54
74
  3. SCOPE OF LICENSE; LIMITATIONS AND RESTRICTIONS
55
75
 
56
- 3.1 You may not distribute the SDK or any of its component parts to interoperate with or to run on a platform other than the Adobe-approved platform.
57
-
58
- 3.2 Third-Party Software. The SDK may contain third-party software, subject to additional terms and conditions; and
59
-
60
- 3.3 You may not modify, port, adapt, creative derivate works, redistribute, or translate any portion of this SDK; or add or delete any SDK program
61
- files that would in any way result in modifying the functionality or appearance of any element of the Adobe Products.
62
-
63
- 3.4 You may not reverse engineer, decompile, disassemble, or otherwise attempt to discover the source code of, any portion of the SDK, except and
64
- only to the extent that applicable laws of the jurisdiction where you are located grant you the right to decompile SDK in order to obtain information
65
- necessary to render the SDK interoperable with other software; in which case you must first request the information from Adobe in writing and Adobe
66
- may, in its discretion, either provide such information to you or impose reasonable conditions, including reasonable fees, on your use of the SDK
67
- software to ensure that Adobe’s and its licensors’ Intellectual Proprietary Rights in the SDK are protected.
68
-
69
- 3.5 You may not unbundle, repackage, distribute, rent, lease, offer, sell, resale, sublicense, assign or transfer all, or any component parts of the
70
- SDK, or any of your rights in the SDK, nor authorize any portion of the SDK to be copied onto another’s device, computer or platform, including on a
71
- service bureau basis to other providers (i.e., volume printing, banking, payroll service providers, etc) who provide you free or fee-based business
76
+ 3.1 You may not distribute the SDK or any of its component parts to
77
+ interoperate with or to run on a platform other than the Adobe-approved
78
+ platform.
79
+
80
+ 3.2 Third-Party Software. The SDK may contain third-party software, subject
81
+ to additional terms and conditions; and
82
+
83
+ 3.3 You may not modify, port, adapt, creative derivate works, redistribute,
84
+ or translate any portion of this SDK; or add or delete any SDK program files
85
+ that would in any way result in modifying the functionality or appearance of
86
+ any element of the Adobe Products.
87
+
88
+ 3.4 You may not reverse engineer, decompile, disassemble, or otherwise
89
+ attempt to discover the source code of, any portion of the SDK, except and
90
+ only to the extent that applicable laws of the jurisdiction where you are
91
+ located grant you the right to decompile SDK in order to obtain information
92
+ necessary to render the SDK interoperable with other software; in which case
93
+ you must first request the information from Adobe in writing and Adobe may,
94
+ in its discretion, either provide such information to you or impose
95
+ reasonable conditions, including reasonable fees, on your use of the SDK
96
+ software to ensure that Adobe’s and its licensors’ Intellectual Proprietary
97
+ Rights in the SDK are protected.
98
+
99
+ 3.5 You may not unbundle, repackage, distribute, rent, lease, offer, sell,
100
+ resale, sublicense, assign or transfer all, or any component parts of the
101
+ SDK, or any of your rights in the SDK, nor authorize any portion of the SDK
102
+ to be copied onto another’s device, computer or platform, including on a
103
+ service bureau basis to other providers (i.e., volume printing, banking,
104
+ payroll service providers, etc) who provide you free or fee-based business
72
105
  services.
73
-
106
+
74
107
  4. VIRAL OPEN SOURCE SOFTWARE AND SERVICES
75
108
 
76
- You are not license to (and you agree that you will not) merge, integrate or use the SDK with any Viral Open Source Software or Viral Service, or
77
- otherwise take any action that could require disclosure, distribution, or licensing of all or any part of the SDK in source code form for any purpose
78
- whatsoever. For purposes of this Section, “Viral Open Source Software” means software licensed under the GNU General Public License, the GNU Affero
79
- General Public License (AGPL), the GNU Lesser General Public License (LGPL), or any other license terms that would require, or condition your use,
80
- modification, or distribution of such licensed software on the disclosure, distribution, or licensing of any other software in source code form, for
81
- the purpose of making derivative works, or at no charge, and “Viral Service” means any service that contains any viruses, Trojan horses, worms, time
82
- bombs, cancelbots or other computer programming routines that are intended to damage, detrimentally interfere with, surreptitiously intercept,
83
- expropriate or deprive owners’ possession of any system, data or personal information, or that in any way violates any law, statute, ordinance,
84
- regulation or rights (including any law, regulations or rights respecting intellectual property, computer spyware, privacy, export control, unfair
85
- competition, antidiscrimination or false advertising), or otherwise interferes with the operability of Adobe Products or third-party programs or
109
+ You are not license to (and you agree that you will not) merge, integrate or
110
+ use the SDK with any Viral Open Source Software or Viral Service, or
111
+ otherwise take any action that could require disclosure, distribution, or
112
+ licensing of all or any part of the SDK in source code form for any purpose
113
+ whatsoever. For purposes of this Section, “Viral Open Source Software” means
114
+ software licensed under the GNU General Public License, the GNU Affero
115
+ General Public License (AGPL), the GNU Lesser General Public License (LGPL),
116
+ or any other license terms that would require, or condition your use,
117
+ modification, or distribution of such licensed software on the disclosure,
118
+ distribution, or licensing of any other software in source code form, for
119
+ the purpose of making derivative works, or at no charge, and “Viral Service”
120
+ means any service that contains any viruses, Trojan horses, worms, time
121
+ bombs, cancelbots or other computer programming routines that are intended
122
+ to damage, detrimentally interfere with, surreptitiously intercept,
123
+ expropriate or deprive owners’ possession of any system, data or personal
124
+ information, or that in any way violates any law, statute, ordinance,
125
+ regulation or rights (including any law, regulations or rights respecting
126
+ intellectual property, computer spyware, privacy, export control, unfair
127
+ competition, antidiscrimination or false advertising), or otherwise
128
+ interferes with the operability of Adobe Products or third-party programs or
86
129
  software.
87
-
130
+
88
131
  5. NON-BLOCKING OF ADOBE DEVELOPMENT
89
132
 
90
- You acknowledge that Adobe is currently developing or may develop technologies and Adobe Products in the future that have, or may have, design or
91
- functionality similar to Developer Products that you may develop based on the license granted to you in this agreement. Nothing in this agreement
92
- will impair, limit or curtail Adobe’s right to continue with its development, maintenance or distribution of Adobe Products. You agree that you will
93
- not assert in any way any patent owned by you arising out of or in connection with your use of the SDK, or any SDK modifications made by you, against
94
- Adobe, its customers, subsidiaries or affiliates, or any of their customers, direct or indirect, agents and contractors for the manufacture, use,
95
- import, license, offer for sale, or sale of any Adobe Products.
133
+ You acknowledge that Adobe is currently developing or may develop
134
+ technologies and Adobe Products in the future that have, or may have, design
135
+ or functionality similar to Developer Products that you may develop based on
136
+ the license granted to you in this agreement. Nothing in this agreement will
137
+ impair, limit or curtail Adobe’s right to continue with its development,
138
+ maintenance or distribution of Adobe Products. You agree that you will not
139
+ assert in any way any patent owned by you arising out of or in connection
140
+ with your use of the SDK, or any SDK modifications made by you, against
141
+ Adobe, its customers, subsidiaries or affiliates, or any of their customers,
142
+ direct or indirect, agents and contractors for the manufacture, use, import,
143
+ license, offer for sale, or sale of any Adobe Products.
96
144
 
97
145
  6. OWNERSHIP; INTELLECTUAL PROPERTY RIGHTS
98
146
 
99
- 6.1 The items contained in the SDK are the Intellectual Property of Adobe and its licensors and are protected by United States copyright and patent
100
- law, international treaty provisions and applicable laws of the country in which it is being used. Adobe and its licensors reserve all rights not
101
- expressly granted to you under this agreement, and retain all right, title, and interest in the SDK, including all Intellectual Property Rights.
102
-
103
- 6.2 The SDK, or any of its component parts, may be supplied to you with certain accompanying proprietary notices, including patent, copyright and
104
- trademark notices. You agree to protect all copyright and other ownership interests of Adobe and its licensors in the SDK supplied to you under this
105
- agreement; to preserve exactly (and not remove or alter) all proprietary notices displayed in or on the SDK; to reproduce the same proprietary
147
+ 6.1 The items contained in the SDK are the Intellectual Property of Adobe
148
+ and its licensors and are protected by United States copyright and patent
149
+ law, international treaty provisions and applicable laws of the country in
150
+ which it is being used. Adobe and its licensors reserve all rights not
151
+ expressly granted to you under this agreement, and retain all right, title,
152
+ and interest in the SDK, including all Intellectual Property Rights.
153
+
154
+ 6.2 The SDK, or any of its component parts, may be supplied to you with
155
+ certain accompanying proprietary notices, including patent, copyright and
156
+ trademark notices. You agree to protect all copyright and other ownership
157
+ interests of Adobe and its licensors in the SDK supplied to you under this
158
+ agreement; to preserve exactly (and not remove or alter) all proprietary
159
+ notices displayed in or on the SDK; to reproduce the same proprietary
106
160
  notices in all copies you make of any portion of the SDK.
107
-
108
- 6.3 You agree to include in your Developer Products Adobe’s copyright notices, wherever such notices are customarily posted, in substantially the
109
- following form: Portions of software used to develop this product copyrighted by Adobe and its licensors. All Rights Reserved.
110
-
111
- 6.4 Nothing in this agreement gives you a right to use the name, logo or trademarks of Adobe or its licensors to market your Developer Products.
112
-
161
+
162
+ 6.3 You agree to include in your Developer Products Adobe’s copyright
163
+ notices, wherever such notices are customarily posted, in substantially the
164
+ following form: Portions of software used to develop this product
165
+ copyrighted by Adobe and its licensors. All Rights Reserved.
166
+
167
+ 6.4 Nothing in this agreement gives you a right to use the name, logo or
168
+ trademarks of Adobe or its licensors to market your Developer Products.
169
+
113
170
  7. CONFIDENTIAL INFORMATION
114
171
 
115
- With respect to the API, and any portion, included in the SDK (for purposes of this Section, “Adobe Confidential Information”), you will treat the
116
- Adobe Confidential Information, and exercise the same degree of care to protect it, as you afford to your own confidential information. Your
117
- obligations under this Section will terminate when you can document that (a) the Adobe Confidential Information was in the public domain at or
118
- subsequent to the time Adobe communicated or provided it to you with no fault of your own; (b) your employees or agents developed independently
119
- without reference to any Adobe Confidential Information Adobe communicated or provided to you; or (c) your communication of Adobe Confidential
120
- Information was in response to a valid order by a court or other governmental body, was otherwise required by law, or was necessary to establish the
121
- rights of a party under this agreement.
122
-
123
- 8. TERM; TERMINATION
124
-
125
- This agreement will commence on the Effective Date and will continue unless terminated. Adobe may terminate this agreement immediately upon notice
126
- to you, and without judicial intervention, if you fail to comply with any term of its terms. You may terminate this agreement at any time by
127
- discontinuing all your use(s) of the SDK and you agree to destroying or removing all full and partial copies of the SDK from your computer. If
128
- requested by Adobe, you must demonstrate proof of your compliance with the terms of this Section. In the event of termination, the terms of this
129
- agreement that, by their nature, are meant to survive termination, including all terms relating to viral open source software and services,
130
- ownership, confidential information, indemnity obligations and procedures, disclaimers of warranty, limitations on and exclusions of remedies and
131
- damages, dispute resolution, and waiver, will survive termination of this agreement.
132
-
172
+ With respect to the API, and any portion, included in the SDK (for purposes
173
+ of this Section, “Adobe Confidential Information”), you will treat the Adobe
174
+ Confidential Information, and exercise the same degree of care to protect
175
+ it, as you afford to your own confidential information. Your obligations
176
+ under this Section will terminate when you can document that (a) the Adobe
177
+ Confidential Information was in the public domain at or subsequent to the
178
+ time Adobe communicated or provided it to you with no fault of your own; (b)
179
+ your employees or agents developed independently without reference to any
180
+ Adobe Confidential Information Adobe communicated or provided to you; or (c)
181
+ your communication of Adobe Confidential Information was in response to a
182
+ valid order by a court or other governmental body, was otherwise required by
183
+ law, or was necessary to establish the rights of a party under this
184
+ agreement.
185
+
186
+ 8. TERM; TERMINATION
187
+
188
+ This agreement will commence on the Effective Date and will continue unless
189
+ terminated. Adobe may terminate this agreement immediately upon notice to
190
+ you, and without judicial intervention, if you fail to comply with any term
191
+ of its terms. You may terminate this agreement at any time by discontinuing
192
+ all your use(s) of the SDK and you agree to destroying or removing all full
193
+ and partial copies of the SDK from your computer. If requested by Adobe, you
194
+ must demonstrate proof of your compliance with the terms of this Section. In
195
+ the event of termination, the terms of this agreement that, by their nature,
196
+ are meant to survive termination, including all terms relating to viral open
197
+ source software and services, ownership, confidential information, indemnity
198
+ obligations and procedures, disclaimers of warranty, limitations on and
199
+ exclusions of remedies and damages, dispute resolution, and waiver, will
200
+ survive termination of this agreement.
201
+
133
202
  9. DISCLAIMER OF WARRANTY; LIMITATION OF LIABILITY
134
203
 
135
- You expressly understand and agree that, to the maximum extent permitted by applicable law:
136
-
137
- 9.1 Use OF THE SDK is entirely at your own risk. The SDK is provided by Adobe “AS-IS” and with all faults. Adobe and its licensors are not liable to
138
- you or anyone else for any special, incidental, indirect, consequential, or punitive damages whatsoever (even if Adobe has been advised of the
139
- possibility of such damages), including (a) damages resulting from loss of use, data, or profits, whether or not foreseeable, (b) damages based on
140
- any theory of liability, including breach of contract or warranty, negligence or other tortious action, or (c) damages arising from any other claim
141
- arising out of or in connection with your use of the SDK.
142
-
143
- 9.2 Adobe’s total liability in any matter arising out of or related to these terms is limited to US $100 or the aggregate amount that you paid for
144
- use of the SDK during the 12 months prior to the event giving rise to the damages, whichever is larger. This limitation will apply even if Adobe has
145
- been advised of the possibility of such damages and regardless of any failure of the essential purpose of any limited remedy.
146
-
204
+ You expressly understand and agree that, to the maximum extent permitted by
205
+ applicable law:
206
+
207
+ 9.1 Use OF THE SDK is entirely at your own risk. The SDK is provided by
208
+ Adobe “AS-IS” and with all faults. Adobe and its licensors are not liable to
209
+ you or anyone else for any special, incidental, indirect, consequential, or
210
+ punitive damages whatsoever (even if Adobe has been advised of the
211
+ possibility of such damages), including (a) damages resulting from loss of
212
+ use, data, or profits, whether or not foreseeable, (b) damages based on any
213
+ theory of liability, including breach of contract or warranty, negligence or
214
+ other tortious action, or (c) damages arising from any other claim arising
215
+ out of or in connection with your use of the SDK.
216
+
217
+ 9.2 Adobe’s total liability in any matter arising out of or related to these
218
+ terms is limited to US $100 or the aggregate amount that you paid for use of
219
+ the SDK during the 12 months prior to the event giving rise to the damages,
220
+ whichever is larger. This limitation will apply even if Adobe has been
221
+ advised of the possibility of such damages and regardless of any failure of
222
+ the essential purpose of any limited remedy.
223
+
147
224
  10. INDEMNIFICATION
148
225
 
149
- To the maximum extent permitted by law, you agree to indemnify Adobe, its subsidiaries, affiliates, officers, agents, employees, partners, licensors,
150
- or suppliers from any claim or demand, including reasonable attorneys’ fees, that arise from the use and distribution of your Developer Products that
151
- contain or are based upon any portion of the SDK, or from your violation of the terms of this agreement.
152
-
153
- 11. DISPUTE RESOLUTION
154
-
155
- 11.1 Choice of Law. If you are a resident of North America (or if your organization is headquartered in North America), your relationship is with
156
- Adobe Inc., a Delaware corporation, and the SDK is governed by the laws of California. If you reside outside of North America, your relationship is
157
- with Adobe Systems Software Ireland Limited, and the SDK is governed by the laws of Ireland.
158
-
159
- 11.2 Venue. You agree that any claim or dispute you may have against Adobe must be resolved by a court located in Santa Clara County, California
160
- when the laws of California apply, or Dublin, Ireland, when the laws of Ireland apply . You agree to submit to the personal jurisdiction of the
161
- courts located in Santa Clara County, California, United States of America when the laws of California apply, and the courts of Dublin, Ireland, when
162
- the laws of Ireland applies, for the purpose of litigating such claims or disputes. The parties specifically disclaim the U.N. Convention on
163
- Contracts for the International Sale of Goods.
164
-
165
- 11.3 Injunctive Relief. Notwithstanding the foregoing, in the event of your or others’ unauthorized access to or use of the SDK in violation of
166
- this Agreement, you agree that Adobe is entitled to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
167
-
226
+ To the maximum extent permitted by law, you agree to indemnify Adobe, its
227
+ subsidiaries, affiliates, officers, agents, employees, partners, licensors,
228
+ or suppliers from any claim or demand, including reasonable attorneys’ fees,
229
+ that arise from the use and distribution of your Developer Products that
230
+ contain or are based upon any portion of the SDK, or from your violation of
231
+ the terms of this agreement.
232
+
233
+ 11. DISPUTE RESOLUTION
234
+
235
+ 11.1 Choice of Law. If you are a resident of North America (or if your
236
+ organization is headquartered in North America), your relationship is with
237
+ Adobe Inc., a Delaware corporation, and the SDK is governed by the laws of
238
+ California. If you reside outside of North America, your relationship is
239
+ with Adobe Systems Software Ireland Limited, and the SDK is governed by the
240
+ laws of Ireland.
241
+
242
+ 11.2 Venue. You agree that any claim or dispute you may have against Adobe
243
+ must be resolved by a court located in Santa Clara County, California when
244
+ the laws of California apply, or Dublin, Ireland, when the laws of Ireland
245
+ apply . You agree to submit to the personal jurisdiction of the courts
246
+ located in Santa Clara County, California, United States of America when the
247
+ laws of California apply, and the courts of Dublin, Ireland, when the laws
248
+ of Ireland applies, for the purpose of litigating such claims or disputes.
249
+ The parties specifically disclaim the U.N. Convention on Contracts for the
250
+ International Sale of Goods.
251
+
252
+ 11.3 Injunctive Relief. Notwithstanding the foregoing, in the event of your
253
+ or others’ unauthorized access to or use of the SDK in violation of this
254
+ Agreement, you agree that Adobe is entitled to apply for injunctive remedies
255
+ (or an equivalent type of urgent legal relief) in any jurisdiction.
256
+
168
257
  12. EXPORT RULES
169
258
 
170
- The SDK and your use of the SDK are subject to U.S. and international laws, restrictions, and regulations that may govern the import, export, and use
171
- of the SDK. You agree to comply with all such laws, restrictions, and regulations.
172
-
259
+ The SDK and your use of the SDK are subject to U.S. and international laws,
260
+ restrictions, and regulations that may govern the import, export, and use of
261
+ the SDK. You agree to comply with all such laws, restrictions, and
262
+ regulations.
263
+
173
264
  13. NOTICE TO U.S. GOVERNMENT END USERS
174
265
 
175
- For U.S. Government procurements, the SDK is a commercial computer software as defined in FAR 12.212 and subject to restricted rights as defined in
176
- FAR Section 52.227-19 "Commercial Computer Software - Restricted Rights" and DFARS 227.7202, “Rights in Commercial Computer Software or Commercial
177
- Computer Software Documentation”, as applicable, and any successor regulations. Any use, modification, reproduction release, performance, display or
178
- disclosure of the SDK by the U.S. Government shall be solely in accordance with license rights and restrictions described herein.
179
-
266
+ For U.S. Government procurements, the SDK is a commercial computer software
267
+ as defined in FAR 12.212 and subject to restricted rights as defined in FAR
268
+ Section 52.227-19 "Commercial Computer Software - Restricted Rights" and
269
+ DFARS 227.7202, “Rights in Commercial Computer Software or Commercial
270
+ Computer Software Documentation”, as applicable, and any successor
271
+ regulations. Any use, modification, reproduction release, performance,
272
+ display or disclosure of the SDK by the U.S. Government shall be solely in
273
+ accordance with license rights and restrictions described herein.
274
+
180
275
  14. GENERAL PROVISIONS
181
276
 
182
- 14.1 Severability. If it turns out that a particular term is not enforceable, the unenforceability of that term will not affect any other terms.
183
-
184
- 14.2 Modification; Waiver. No provision of this agreement will be deemed to have been modified or waived by any act or acquiescence on the part of
185
- Adobe, its agents, or employees, but only by any instrument in writing, signed by an authorized officer of Adobe.
186
-
187
- 14.3 Entire Agreement. This Agreement is the entire agreement, superseding any prior written or oral agreements, between you and Adobe relating to
188
- the SDK.
277
+ 14.1 Severability. If it turns out that a particular term is not
278
+ enforceable, the unenforceability of that term will not affect any other
279
+ terms.
280
+
281
+ 14.2 Modification; Waiver. No provision of this agreement will be deemed to
282
+ have been modified or waived by any act or acquiescence on the part of
283
+ Adobe, its agents, or employees, but only by any instrument in writing,
284
+ signed by an authorized officer of Adobe.
285
+
286
+ 14.3 Entire Agreement. This Agreement is the entire agreement, superseding
287
+ any prior written or oral agreements, between you and Adobe relating to the
288
+ SDK.
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","sources":["/@dropins/tools/src/i18n/index.ts","/@dropins/tools/src/components/UIProvider/UIProvider.tsx","/@dropins/tools/src/components/Image/Image.tsx"],"sourcesContent":["/********************************************************************\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this \n * file in accordance with the terms of the Adobe license agreement \n * accompanying it. \n *******************************************************************/\n\nimport { deepmerge } from '@adobe-commerce/elsie/lib';\nimport en_US from '@adobe-commerce/elsie/i18n/en_US.json';\n\nexport type Lang = 'en_US';\n\nexport const definition = {\n default: en_US,\n en_US,\n};\n\n// https://github.com/synacor/preact-i18n\n// eslint-disable-next-line no-restricted-imports\nexport * from 'preact-i18n';\n\nexport const getDefinitionByLanguage = (lang: Lang) => {\n return deepmerge(definition.default, definition[lang] || {});\n};\n","/********************************************************************\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this \n * file in accordance with the terms of the Adobe license agreement \n * accompanying it. \n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { HTMLAttributes, createContext, useMemo } from 'preact/compat';\nimport { deepmerge, Render } from '@adobe-commerce/elsie/lib';\nimport { IntlProvider, getDefinitionByLanguage, Lang } from '@adobe-commerce/elsie/i18n';\n\nimport '@adobe-commerce/elsie/components/UIProvider/UIProvider.css';\nimport '@adobe-commerce/elsie/components/UIProvider/normalize.css';\n\nexport const UIContext = createContext<{\n locale: string;\n}>({\n locale: 'en-US',\n});\n\ntype LangDefinitions = { [key: string]: any };\n\nexport interface UIProviderProps extends HTMLAttributes<HTMLDivElement> {\n lang?: Lang; // ... list of other supported languages\n langDefinitions?: LangDefinitions;\n}\n\nexport const UIProvider: FunctionComponent<UIProviderProps> = ({\n lang = 'en_US',\n langDefinitions = {},\n children,\n}) => {\n const definitions = useMemo(() => {\n // Merge default definition with selected definition\n const selectedDefinitions: LangDefinitions = deepmerge(\n langDefinitions.default,\n langDefinitions[lang] ?? {}\n );\n\n // Merge SDK default definitions with custom definitions\n return deepmerge(\n getDefinitionByLanguage(lang), // SDK default definitions\n selectedDefinitions // Custom definitions\n );\n }, [lang, langDefinitions]);\n\n const locale = lang.replace('_', '-');\n\n return (\n <UIContext.Provider value={{ locale }}>\n <IntlProvider definition={definitions}>\n <>{children}</>\n </IntlProvider>\n </UIContext.Provider>\n );\n};\n\nexport const provider = new Render(<UIProvider />);","/********************************************************************\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this \n * file in accordance with the terms of the Adobe license agreement \n * accompanying it. \n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { HTMLAttributes, useMemo, useState } from 'preact/compat';\nimport {\n classes,\n generateSrcset,\n ResolveImageUrlOptions,\n} from '@adobe-commerce/elsie/lib';\nimport '@adobe-commerce/elsie/components/Image/Image.css';\n\nexport interface ImageProps extends HTMLAttributes<HTMLDivElement> {\n params?: ResolveImageUrlOptions;\n src: string;\n sizes?: string;\n onLoad?: (e: any) => void;\n}\nexport const Image: FunctionComponent<ImageProps> = ({\n className,\n src,\n params,\n loading = 'lazy',\n srcSet,\n sizes,\n onLoad,\n ...props\n}) => {\n const [loaded, setLoaded] = useState(false);\n\n const _srcSet = useMemo(() => {\n // If srcSet is provided, use it\n if (srcSet) return srcSet;\n\n // If src is not provided, return \"undefined\"\n if (!src || !params) return;\n\n // Otherwise, generate srcSet based on params\n return generateSrcset(src, { ...params });\n }, [params, src, srcSet]);\n\n // Add class at image onLoad\n const onLoadHandler = (e: any) => {\n setLoaded(true); \n onLoad?.(e);\n };\n\n return (\n <img\n {...props}\n className={classes([\n 'dropin-image',\n ['dropin-image--loaded', loaded],\n className,\n ])}\n loading={loading}\n onLoad={onLoadHandler}\n src={src}\n srcSet={_srcSet}\n sizes={sizes}\n />\n );\n};\n"],"names":["definition","en_US","getDefinitionByLanguage","lang","deepmerge","UIContext","createContext","UIProvider","langDefinitions","children","definitions","useMemo","selectedDefinitions","locale","jsx","IntlProvider","Fragment","provider","Render","Image","className","src","params","loading","srcSet","sizes","onLoad","props","loaded","setLoaded","useState","_srcSet","generateSrcset","onLoadHandler","e","classes"],"mappings":"23HAcaA,EAAa,CACxB,QAASC,EACT,MAAAA,CACF,EAMaC,EAA2BC,GAC/BC,EAAUJ,EAAW,QAASA,EAAWG,CAAI,GAAK,EAAE,ECPhDE,EAAYC,EAEtB,CACD,OAAQ,OACV,CAAC,EASYC,EAAiD,CAAC,CAC7D,KAAAJ,EAAO,QACP,gBAAAK,EAAkB,CAAA,EAClB,SAAAC,CACF,IAAM,CACJ,MAAMC,EAAcC,EAAQ,IAAM,CAEhC,MAAMC,EAAuCR,EAC3CI,EAAgB,QAChBA,EAAgBL,CAAI,GAAK,CAAA,CAAC,EAI5B,OAAOC,EACLF,EAAwBC,CAAI,EAC5BS,CAAA,CAEJ,EAAG,CAACT,EAAMK,CAAe,CAAC,EAEpBK,EAASV,EAAK,QAAQ,IAAK,GAAG,EAEpC,OACEW,EAACT,EAAU,SAAV,CAAmB,MAAO,CAAE,OAAAQ,CAAA,EAC3B,SAAAC,EAACC,GAAa,WAAYL,EACxB,SAAAI,EAAAE,EAAA,CAAG,SAAAP,CAAA,CAAS,EACd,EACF,CAEJ,EAEaQ,EAAW,IAAIC,EAAOJ,EAACP,IAAW,CAAE,ECpCpCY,EAAuC,CAAC,CACnD,UAAAC,EACA,IAAAC,EACA,OAAAC,EACA,QAAAC,EAAU,OACV,OAAAC,EACA,MAAAC,EACA,OAAAC,EACA,GAAGC,CACL,IAAM,CACJ,KAAM,CAACC,EAAQC,CAAS,EAAIC,EAAS,EAAK,EAEpCC,EAAUpB,EAAQ,IAAM,CAE5B,GAAIa,EAAQ,OAAOA,EAGnB,GAAI,GAACH,GAAO,CAACC,GAGb,OAAOU,EAAeX,EAAK,CAAE,GAAGC,EAAQ,CAC1C,EAAG,CAACA,EAAQD,EAAKG,CAAM,CAAC,EAGlBS,EAAiBC,GAAW,CAChCL,EAAU,EAAI,EACdH,GAAA,MAAAA,EAASQ,EACX,EAEA,OACEpB,EAAC,MAAA,CACE,GAAGa,EACJ,UAAWQ,EAAQ,CACjB,eACA,CAAC,uBAAwBP,CAAM,EAC/BR,CAAA,CACD,EACD,QAAAG,EACA,OAAQU,EACR,IAAAZ,EACA,OAAQU,EACR,MAAAN,CAAA,CAAA,CAGN"}
1
+ {"version":3,"file":"Image.js","sources":["/@dropins/tools/src/i18n/index.ts","/@dropins/tools/src/components/UIProvider/UIProvider.tsx","/@dropins/tools/src/components/Image/Image.tsx"],"sourcesContent":["/********************************************************************\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { deepmerge } from '@adobe-commerce/elsie/lib';\nimport en_US from '@adobe-commerce/elsie/i18n/en_US.json';\n\nexport type Lang = 'en_US';\n\nexport const definition = {\n default: en_US,\n en_US,\n};\n\n// https://github.com/synacor/preact-i18n\n// eslint-disable-next-line no-restricted-imports\nexport * from 'preact-i18n';\n\nexport const getDefinitionByLanguage = (lang: Lang) => {\n return deepmerge(definition.default, definition[lang] || {});\n};\n","/********************************************************************\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { HTMLAttributes, createContext, useMemo } from 'preact/compat';\nimport { deepmerge, Render } from '@adobe-commerce/elsie/lib';\nimport {\n IntlProvider,\n getDefinitionByLanguage,\n Lang,\n} from '@adobe-commerce/elsie/i18n';\n\nimport '@adobe-commerce/elsie/components/UIProvider/UIProvider.css';\nimport '@adobe-commerce/elsie/components/UIProvider/normalize.css';\n\nexport const UIContext = createContext<{\n locale: string;\n}>({\n locale: 'en-US',\n});\n\ntype LangDefinitions = { [key: string]: any };\n\nexport interface UIProviderProps extends HTMLAttributes<HTMLDivElement> {\n lang?: Lang; // ... list of other supported languages\n langDefinitions?: LangDefinitions;\n}\n\nexport const UIProvider: FunctionComponent<UIProviderProps> = ({\n lang = 'en_US',\n langDefinitions = {},\n children,\n}) => {\n const definitions = useMemo(() => {\n // Merge default definition with selected definition\n const selectedDefinitions: LangDefinitions = deepmerge(\n langDefinitions.default,\n langDefinitions[lang] ?? {},\n );\n\n // Merge SDK default definitions with custom definitions\n return deepmerge(\n getDefinitionByLanguage(lang), // SDK default definitions\n selectedDefinitions, // Custom definitions\n );\n }, [lang, langDefinitions]);\n\n const locale = lang.replace('_', '-');\n\n return (\n <UIContext.Provider value={{ locale }}>\n <IntlProvider definition={definitions}>\n <>{children}</>\n </IntlProvider>\n </UIContext.Provider>\n );\n};\n\nexport const provider = new Render(<UIProvider />);\n","/********************************************************************\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { HTMLAttributes, useMemo, useState } from 'preact/compat';\nimport {\n classes,\n generateSrcset,\n ResolveImageUrlOptions,\n} from '@adobe-commerce/elsie/lib';\nimport '@adobe-commerce/elsie/components/Image/Image.css';\n\nexport interface ImageProps extends HTMLAttributes<HTMLDivElement> {\n params?: ResolveImageUrlOptions;\n src: string;\n sizes?: string;\n onLoad?: (e: any) => void;\n}\nexport const Image: FunctionComponent<ImageProps> = ({\n className,\n src,\n params,\n loading = 'lazy',\n srcSet,\n sizes,\n onLoad,\n ...props\n}) => {\n const [loaded, setLoaded] = useState(false);\n\n const _srcSet = useMemo(() => {\n // If srcSet is provided, use it\n if (srcSet) return srcSet;\n\n // If src is not provided, return \"undefined\"\n if (!src || !params) return;\n\n // Otherwise, generate srcSet based on params\n return generateSrcset(src, { ...params });\n }, [params, src, srcSet]);\n\n // Add class at image onLoad\n const onLoadHandler = (e: any) => {\n setLoaded(true);\n onLoad?.(e);\n };\n\n return (\n <img\n {...props}\n className={classes([\n 'dropin-image',\n ['dropin-image--loaded', loaded],\n className,\n ])}\n loading={loading}\n onLoad={onLoadHandler}\n src={src}\n srcSet={_srcSet}\n sizes={sizes}\n />\n );\n};\n"],"names":["definition","en_US","getDefinitionByLanguage","lang","deepmerge","UIContext","createContext","UIProvider","langDefinitions","children","definitions","useMemo","selectedDefinitions","locale","jsx","IntlProvider","Fragment","provider","Render","Image","className","src","params","loading","srcSet","sizes","onLoad","props","loaded","setLoaded","useState","_srcSet","generateSrcset","onLoadHandler","e","classes"],"mappings":"23HAcaA,EAAa,CACxB,QAASC,EACT,MAAAA,CACF,EAMaC,EAA2BC,GAC/BC,EAAUJ,EAAW,QAASA,EAAWG,CAAI,GAAK,EAAE,ECHhDE,EAAYC,EAEtB,CACD,OAAQ,OACV,CAAC,EASYC,EAAiD,CAAC,CAC7D,KAAAJ,EAAO,QACP,gBAAAK,EAAkB,CAAA,EAClB,SAAAC,CACF,IAAM,CACJ,MAAMC,EAAcC,EAAQ,IAAM,CAEhC,MAAMC,EAAuCR,EAC3CI,EAAgB,QAChBA,EAAgBL,CAAI,GAAK,CAAA,CAAC,EAI5B,OAAOC,EACLF,EAAwBC,CAAI,EAC5BS,CAAA,CAEJ,EAAG,CAACT,EAAMK,CAAe,CAAC,EAEpBK,EAASV,EAAK,QAAQ,IAAK,GAAG,EAEpC,OACEW,EAACT,EAAU,SAAV,CAAmB,MAAO,CAAE,OAAAQ,CAAA,EAC3B,SAAAC,EAACC,GAAa,WAAYL,EACxB,SAAAI,EAAAE,EAAA,CAAG,SAAAP,CAAA,CAAS,EACd,EACF,CAEJ,EAEaQ,EAAW,IAAIC,EAAOJ,EAACP,IAAW,CAAE,ECxCpCY,EAAuC,CAAC,CACnD,UAAAC,EACA,IAAAC,EACA,OAAAC,EACA,QAAAC,EAAU,OACV,OAAAC,EACA,MAAAC,EACA,OAAAC,EACA,GAAGC,CACL,IAAM,CACJ,KAAM,CAACC,EAAQC,CAAS,EAAIC,EAAS,EAAK,EAEpCC,EAAUpB,EAAQ,IAAM,CAE5B,GAAIa,EAAQ,OAAOA,EAGnB,GAAI,GAACH,GAAO,CAACC,GAGb,OAAOU,EAAeX,EAAK,CAAE,GAAGC,EAAQ,CAC1C,EAAG,CAACA,EAAQD,EAAKG,CAAM,CAAC,EAGlBS,EAAiBC,GAAW,CAChCL,EAAU,EAAI,EACdH,GAAA,MAAAA,EAASQ,EACX,EAEA,OACEpB,EAAC,MAAA,CACE,GAAGa,EACJ,UAAWQ,EAAQ,CACjB,eACA,CAAC,uBAAwBP,CAAM,EAC/BR,CAAA,CACD,EACD,QAAAG,EACA,OAAQU,EACR,IAAAZ,EACA,OAAQU,EACR,MAAAN,CAAA,CAAA,CAGN"}
package/chunks/cjs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cjs.js","sources":["../../../../node_modules/deepmerge/dist/cjs.js"],"sourcesContent":["'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n"],"names":["isMergeableObject","value","isNonNullObject","isSpecial","stringValue","isReactElement","canUseSymbol","REACT_ELEMENT_TYPE","emptyTarget","val","cloneUnlessOtherwiseSpecified","options","deepmerge","defaultArrayMerge","target","source","element","getMergeFunction","key","customMerge","getEnumerableOwnPropertySymbols","symbol","getKeys","propertyIsOnObject","object","property","propertyIsUnsafe","mergeObject","destination","sourceIsArray","targetIsArray","sourceAndTargetTypesMatch","array","prev","next","deepmerge_1","cjs"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"cjs.js","sources":["../../../../node_modules/.pnpm/deepmerge@4.3.1/node_modules/deepmerge/dist/cjs.js"],"sourcesContent":["'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n"],"names":["isMergeableObject","value","isNonNullObject","isSpecial","stringValue","isReactElement","canUseSymbol","REACT_ELEMENT_TYPE","emptyTarget","val","cloneUnlessOtherwiseSpecified","options","deepmerge","defaultArrayMerge","target","source","element","getMergeFunction","key","customMerge","getEnumerableOwnPropertySymbols","symbol","getKeys","propertyIsOnObject","object","property","propertyIsUnsafe","mergeObject","destination","sourceIsArray","targetIsArray","sourceAndTargetTypesMatch","array","prev","next","deepmerge_1","cjs"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"format-calendar-date.js","sources":["/@dropins/tools/src/lib/debounce.ts","/@dropins/tools/src/lib/is-number.ts","/@dropins/tools/src/lib/deviceUtils.ts","/@dropins/tools/src/lib/get-price-formatter.ts","/@dropins/tools/src/lib/format-calendar-date.ts"],"sourcesContent":["/********************************************************************\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this \n * file in accordance with the terms of the Adobe license agreement \n * accompanying it. \n *******************************************************************/\n\nexport const debounce = (fn: Function, ms: number) => {\n let timeoutId: ReturnType<typeof setTimeout>;\n const debouncedFn = function (this: any, ...args: any[]) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => fn.apply(this, args), ms);\n };\n debouncedFn.cancel = () => {\n clearTimeout(timeoutId);\n };\n return debouncedFn;\n};\n","/********************************************************************\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this \n * file in accordance with the terms of the Adobe license agreement \n * accompanying it. \n *******************************************************************/\n\nexport const isNumber = (value: number | string): value is number => {\n return typeof value === 'number';\n};\n","/********************************************************************\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this \n * file in accordance with the terms of the Adobe license agreement \n * accompanying it. \n *******************************************************************/\n\nexport const isIOSMobileDevice = () => {\n const userAgent = navigator.userAgent.toLowerCase();\n const isIOS = /ipad|iphone|ipod/.test(userAgent);\n const isMacWithTouch = userAgent.includes('mac') && 'ontouchend' in document;\n\n return isIOS || isMacWithTouch;\n};\n","/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { getGlobalLocale } from '@adobe-commerce/elsie/lib';\n\nexport interface PriceFormatterOptions {\n currency?: string | null;\n locale?: string;\n formatOptions?: Intl.NumberFormatOptions;\n}\n\n/**\n * Determines the effective locale to use for price formatting\n * Priority: prop locale > global locale > browser locale > default 'en-US'\n */\nexport function getEffectiveLocale(locale?: string): string {\n if (locale) {\n return locale;\n }\n const globalLocale = getGlobalLocale();\n if (globalLocale) {\n return globalLocale;\n }\n // Fallback to browser locale or default\n return process.env.LOCALE && process.env.LOCALE !== 'undefined' ? process.env.LOCALE : 'en-US';\n}\n\n/**\n * Gets an Intl.NumberFormat instance for price formatting\n * Uses getEffectiveLocale internally to determine the best locale\n *\n * @example\n * // Single price formatting\n * const formatter = getPriceFormatter({ currency: 'USD', locale: 'en-US' });\n * const price = formatter.format(10.99); // \"$10.99\"\n *\n * @example\n * // Bulk price formatting (more efficient)\n * const formatter = getPriceFormatter({ currency: 'EUR', locale: 'fr-FR' });\n * const prices = [10.99, 25.50, 99.99].map(amount => formatter.format(amount));\n */\nexport function getPriceFormatter(\n options: PriceFormatterOptions = {}\n): Intl.NumberFormat {\n const { currency, locale, formatOptions = {} } = options;\n const effectiveLocale = getEffectiveLocale(locale);\n\n const params: Intl.NumberFormatOptions = {\n style: 'currency',\n currency: currency && currency !== 'NONE' ? currency : 'USD',\n // These options are needed to round to whole numbers if that's what you want.\n minimumFractionDigits: 2, // (this suffices for whole numbers, but will print 2500.10 as $2,500.1)\n maximumFractionDigits: 2, // (causes 2500.99 to be printed as $2,501)\n ...formatOptions,\n };\n\n try {\n return new Intl.NumberFormat(effectiveLocale, params);\n } catch (error) {\n console.error(`Error creating Intl.NumberFormat instance for locale ${effectiveLocale}. Falling back to en-US.`, error);\n return new Intl.NumberFormat('en-US', params);\n }\n}\n","/********************************************************************\n * Copyright 2026 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nconst CALENDAR_DATE_FORMATTER = new Intl.DateTimeFormat(undefined, {\n timeZone: 'UTC',\n month: '2-digit',\n day: '2-digit',\n year: 'numeric',\n});\n\n/**\n * Formats a YYYY-MM-DD calendar date string for display in the user's\n * browser locale (e.g. MM/DD/YYYY in en-US, DD/MM/YYYY in en-GB,\n * YYYY/MM/DD in ja-JP). Useful for any \"calendar date\" value (birthdate,\n * appointment date, etc.) where the value must be interpreted as-is,\n * without shifting due to the viewer's timezone.\n *\n * @example\n * formatCalendarDate('2023-07-29'); // \"07/29/2023\" in en-US\n *\n * @param val a date string in YYYY-MM-DD format\n * @returns the locale-formatted date, or the original string if it isn't a valid YYYY-MM-DD date\n */\nexport const formatCalendarDate = (val: string): string => {\n if (!val) return '';\n\n const match = val.match(/^(\\d{4})-(\\d{2})-(\\d{2})$/);\n if (!match) return val;\n\n // Parse using UTC midnight to avoid timezone-induced date shifts\n const date = new Date(`${val}T00:00:00Z`);\n if (Number.isNaN(date.getTime())) return val;\n\n return CALENDAR_DATE_FORMATTER.format(date);\n};\n"],"names":["debounce","fn","ms","timeoutId","debouncedFn","args","isNumber","value","isIOSMobileDevice","userAgent","isIOS","isMacWithTouch","getEffectiveLocale","locale","globalLocale","getGlobalLocale","define_process_env_default","getPriceFormatter","options","currency","formatOptions","effectiveLocale","params","error","CALENDAR_DATE_FORMATTER","formatCalendarDate","val","date"],"mappings":"uCASO,MAAMA,EAAW,CAACC,EAAcC,IAAe,CACpD,IAAIC,EACJ,MAAMC,EAAc,YAAwBC,EAAa,CACvD,aAAaF,CAAS,EACtBA,EAAY,WAAW,IAAMF,EAAG,MAAM,KAAMI,CAAI,EAAGH,CAAE,CACvD,EACA,OAAAE,EAAY,OAAS,IAAM,CACzB,aAAaD,CAAS,CACxB,EACOC,CACT,ECVaE,EAAYC,GAChB,OAAOA,GAAU,SCDbC,EAAoB,IAAM,CACrC,MAAMC,EAAY,UAAU,UAAU,YAAA,EAChCC,EAAQ,mBAAmB,KAAKD,CAAS,EACzCE,EAAiBF,EAAU,SAAS,KAAK,GAAK,eAAgB,SAEpE,OAAOC,GAASC,CAClB,WCMO,SAASC,EAAmBC,EAAyB,CAC1D,GAAIA,EACF,OAAOA,EAET,MAAMC,EAAeC,EAAA,EACrB,OAAID,IAIGE,EAAY,QAAUA,EAAY,SAAW,YAAcA,EAAY,OAAS,QACzF,CAgBO,SAASC,EACdC,EAAiC,GACd,CACnB,KAAM,CAAE,SAAAC,EAAU,OAAAN,EAAQ,cAAAO,EAAgB,CAAA,GAAOF,EAC3CG,EAAkBT,EAAmBC,CAAM,EAE3CS,EAAmC,CACvC,MAAO,WACP,SAAUH,GAAYA,IAAa,OAASA,EAAW,MAEvD,sBAAuB,EACvB,sBAAuB,EACvB,GAAGC,CAAA,EAGL,GAAI,CACF,OAAO,IAAI,KAAK,aAAaC,EAAiBC,CAAM,CACtD,OAASC,EAAO,CACd,eAAQ,MAAM,wDAAwDF,CAAe,2BAA4BE,CAAK,EAC/G,IAAI,KAAK,aAAa,QAASD,CAAM,CAC9C,CACF,CC3DA,MAAME,EAA0B,IAAI,KAAK,eAAe,OAAW,CACjE,SAAU,MACV,MAAO,UACP,IAAK,UACL,KAAM,SACR,CAAC,EAeYC,EAAsBC,GAAwB,CACzD,GAAI,CAACA,EAAK,MAAO,GAGjB,GAAI,CADUA,EAAI,MAAM,2BAA2B,EACvC,OAAOA,EAGnB,MAAMC,EAAO,IAAI,KAAK,GAAGD,CAAG,YAAY,EACxC,OAAI,OAAO,MAAMC,EAAK,QAAA,CAAS,EAAUD,EAElCF,EAAwB,OAAOG,CAAI,CAC5C"}
1
+ {"version":3,"file":"format-calendar-date.js","sources":["/@dropins/tools/src/lib/debounce.ts","/@dropins/tools/src/lib/is-number.ts","/@dropins/tools/src/lib/deviceUtils.ts","/@dropins/tools/src/lib/get-price-formatter.ts","/@dropins/tools/src/lib/format-calendar-date.ts"],"sourcesContent":["/********************************************************************\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nexport const debounce = (fn: Function, ms: number) => {\n let timeoutId: ReturnType<typeof setTimeout>;\n const debouncedFn = function (this: any, ...args: any[]) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => fn.apply(this, args), ms);\n };\n debouncedFn.cancel = () => {\n clearTimeout(timeoutId);\n };\n return debouncedFn;\n};\n","/********************************************************************\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nexport const isNumber = (value: number | string): value is number => {\n return typeof value === 'number';\n};\n","/********************************************************************\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nexport const isIOSMobileDevice = () => {\n const userAgent = navigator.userAgent.toLowerCase();\n const isIOS = /ipad|iphone|ipod/.test(userAgent);\n const isMacWithTouch = userAgent.includes('mac') && 'ontouchend' in document;\n\n return isIOS || isMacWithTouch;\n};\n","/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { getGlobalLocale } from '@adobe-commerce/elsie/lib';\n\nexport interface PriceFormatterOptions {\n currency?: string | null;\n locale?: string;\n formatOptions?: Intl.NumberFormatOptions;\n}\n\n/**\n * Determines the effective locale to use for price formatting\n * Priority: prop locale > global locale > browser locale > default 'en-US'\n */\nexport function getEffectiveLocale(locale?: string): string {\n if (locale) {\n return locale;\n }\n const globalLocale = getGlobalLocale();\n if (globalLocale) {\n return globalLocale;\n }\n // Fallback to browser locale or default\n return process.env.LOCALE && process.env.LOCALE !== 'undefined'\n ? process.env.LOCALE\n : 'en-US';\n}\n\n/**\n * Gets an Intl.NumberFormat instance for price formatting\n * Uses getEffectiveLocale internally to determine the best locale\n *\n * @example\n * // Single price formatting\n * const formatter = getPriceFormatter({ currency: 'USD', locale: 'en-US' });\n * const price = formatter.format(10.99); // \"$10.99\"\n *\n * @example\n * // Bulk price formatting (more efficient)\n * const formatter = getPriceFormatter({ currency: 'EUR', locale: 'fr-FR' });\n * const prices = [10.99, 25.50, 99.99].map(amount => formatter.format(amount));\n */\nexport function getPriceFormatter(\n options: PriceFormatterOptions = {},\n): Intl.NumberFormat {\n const { currency, locale, formatOptions = {} } = options;\n const effectiveLocale = getEffectiveLocale(locale);\n\n const params: Intl.NumberFormatOptions = {\n style: 'currency',\n currency: currency && currency !== 'NONE' ? currency : 'USD',\n // These options are needed to round to whole numbers if that's what you want.\n minimumFractionDigits: 2, // (this suffices for whole numbers, but will print 2500.10 as $2,500.1)\n maximumFractionDigits: 2, // (causes 2500.99 to be printed as $2,501)\n ...formatOptions,\n };\n\n try {\n return new Intl.NumberFormat(effectiveLocale, params);\n } catch (error) {\n console.error(\n `Error creating Intl.NumberFormat instance for locale ${effectiveLocale}. Falling back to en-US.`,\n error,\n );\n return new Intl.NumberFormat('en-US', params);\n }\n}\n","/********************************************************************\n * Copyright 2026 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nconst CALENDAR_DATE_FORMATTER = new Intl.DateTimeFormat(undefined, {\n timeZone: 'UTC',\n month: '2-digit',\n day: '2-digit',\n year: 'numeric',\n});\n\n/**\n * Formats a YYYY-MM-DD calendar date string for display in the user's\n * browser locale (e.g. MM/DD/YYYY in en-US, DD/MM/YYYY in en-GB,\n * YYYY/MM/DD in ja-JP). Useful for any \"calendar date\" value (birthdate,\n * appointment date, etc.) where the value must be interpreted as-is,\n * without shifting due to the viewer's timezone.\n *\n * @example\n * formatCalendarDate('2023-07-29'); // \"07/29/2023\" in en-US\n *\n * @param val a date string in YYYY-MM-DD format\n * @returns the locale-formatted date, or the original string if it isn't a valid YYYY-MM-DD date\n */\nexport const formatCalendarDate = (val: string): string => {\n if (!val) return '';\n\n const match = val.match(/^(\\d{4})-(\\d{2})-(\\d{2})$/);\n if (!match) return val;\n\n // Parse using UTC midnight to avoid timezone-induced date shifts\n const date = new Date(`${val}T00:00:00Z`);\n if (Number.isNaN(date.getTime())) return val;\n\n return CALENDAR_DATE_FORMATTER.format(date);\n};\n"],"names":["debounce","fn","ms","timeoutId","debouncedFn","args","isNumber","value","isIOSMobileDevice","userAgent","isIOS","isMacWithTouch","getEffectiveLocale","locale","globalLocale","getGlobalLocale","define_process_env_default","getPriceFormatter","options","currency","formatOptions","effectiveLocale","params","error","CALENDAR_DATE_FORMATTER","formatCalendarDate","val","date"],"mappings":"uCASO,MAAMA,EAAW,CAACC,EAAcC,IAAe,CACpD,IAAIC,EACJ,MAAMC,EAAc,YAAwBC,EAAa,CACvD,aAAaF,CAAS,EACtBA,EAAY,WAAW,IAAMF,EAAG,MAAM,KAAMI,CAAI,EAAGH,CAAE,CACvD,EACA,OAAAE,EAAY,OAAS,IAAM,CACzB,aAAaD,CAAS,CACxB,EACOC,CACT,ECVaE,EAAYC,GAChB,OAAOA,GAAU,SCDbC,EAAoB,IAAM,CACrC,MAAMC,EAAY,UAAU,UAAU,YAAA,EAChCC,EAAQ,mBAAmB,KAAKD,CAAS,EACzCE,EAAiBF,EAAU,SAAS,KAAK,GAAK,eAAgB,SAEpE,OAAOC,GAASC,CAClB,WCMO,SAASC,EAAmBC,EAAyB,CAC1D,GAAIA,EACF,OAAOA,EAET,MAAMC,EAAeC,EAAA,EACrB,OAAID,IAIGE,EAAY,QAAUA,EAAY,SAAW,YAChDA,EAAY,OACZ,QACN,CAgBO,SAASC,EACdC,EAAiC,GACd,CACnB,KAAM,CAAE,SAAAC,EAAU,OAAAN,EAAQ,cAAAO,EAAgB,CAAA,GAAOF,EAC3CG,EAAkBT,EAAmBC,CAAM,EAE3CS,EAAmC,CACvC,MAAO,WACP,SAAUH,GAAYA,IAAa,OAASA,EAAW,MAEvD,sBAAuB,EACvB,sBAAuB,EACvB,GAAGC,CAAA,EAGL,GAAI,CACF,OAAO,IAAI,KAAK,aAAaC,EAAiBC,CAAM,CACtD,OAASC,EAAO,CACd,eAAQ,MACN,wDAAwDF,CAAe,2BACvEE,CAAA,EAEK,IAAI,KAAK,aAAa,QAASD,CAAM,CAC9C,CACF,CChEA,MAAME,EAA0B,IAAI,KAAK,eAAe,OAAW,CACjE,SAAU,MACV,MAAO,UACP,IAAK,UACL,KAAM,SACR,CAAC,EAeYC,EAAsBC,GAAwB,CACzD,GAAI,CAACA,EAAK,MAAO,GAGjB,GAAI,CADUA,EAAI,MAAM,2BAA2B,EACvC,OAAOA,EAGnB,MAAMC,EAAO,IAAI,KAAK,GAAGD,CAAG,YAAY,EACxC,OAAI,OAAO,MAAMC,EAAK,QAAA,CAAS,EAAUD,EAElCF,EAAwB,OAAOG,CAAI,CAC5C"}