keycloakify 4.2.13 → 4.2.15
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/CHANGELOG.md +21 -0
- package/README.md +28 -46
- package/bin/build-keycloak-theme/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +290 -0
- package/bin/build-keycloak-theme/generateFtl/generateFtl.js +25 -25
- package/bin/build-keycloak-theme/generateFtl/generateFtl.js.map +1 -1
- package/lib/components/LoginOtp.js +2 -2
- package/lib/components/LoginOtp.js.map +1 -1
- package/lib/getKcContext/kcContextMocks/kcContextMocks.js +3 -3
- package/lib/getKcContext/kcContextMocks/kcContextMocks.js.map +1 -1
- package/lib/getKcContext/kcContextMocks/urlResourcesPath.js +3 -3
- package/lib/getKcContext/kcContextMocks/urlResourcesPath.js.map +1 -1
- package/lib/tools/pathJoin.d.ts +1 -0
- package/lib/tools/pathJoin.js +12 -0
- package/lib/tools/pathJoin.js.map +1 -0
- package/package.json +7 -5
- package/src/bin/build-keycloak-theme/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +290 -0
- package/src/bin/build-keycloak-theme/generateFtl/generateFtl.ts +14 -31
- package/src/lib/components/LoginOtp.tsx +1 -1
- package/src/lib/getKcContext/kcContextMocks/kcContextMocks.ts +1 -1
- package/src/lib/getKcContext/kcContextMocks/urlResourcesPath.ts +3 -3
- package/src/lib/tools/pathJoin.ts +3 -0
- package/bin/build-keycloak-theme/generateFtl/Object.deepAssign.js +0 -28
- package/bin/build-keycloak-theme/generateFtl/common.ftl +0 -208
- package/src/bin/build-keycloak-theme/generateFtl/Object.deepAssign.js +0 -28
- package/src/bin/build-keycloak-theme/generateFtl/common.ftl +0 -208
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
### **4.2.15** (2021-12-16)
|
2
|
+
|
3
|
+
- use custom polyfill for path.join (fix webpack 5 build)
|
4
|
+
|
5
|
+
### **4.2.14** (2021-12-12)
|
6
|
+
|
7
|
+
- Merge pull request #65 from InseeFrLab/doge_ftl_errors
|
8
|
+
|
9
|
+
Prevent ftl errors in Keycloak log
|
10
|
+
- Encourage users to report errors in logs
|
11
|
+
- Fix ftl error related to url.loginAction in saml-post-form.ftl
|
12
|
+
- Ftl prevent error with updateProfileCtx
|
13
|
+
- Ftl prevent error with auth.attemptedUsername
|
14
|
+
- Fix ftl error as comment formatting
|
15
|
+
- Merge remote-tracking branch 'origin/main' into doge_ftl_errors
|
16
|
+
- Update README, remove all instruction about errors in logs
|
17
|
+
- Avoid error in Keycloak logs, fix long template loading time
|
18
|
+
- Add missing collon in README sample code
|
19
|
+
|
20
|
+
Add miss ','
|
21
|
+
|
1
22
|
### **4.2.13** (2021-12-08)
|
2
23
|
|
3
24
|
- Fix broken link about how to import fonts #62
|
package/README.md
CHANGED
@@ -20,10 +20,10 @@
|
|
20
20
|
<img src="https://user-images.githubusercontent.com/6702424/110260457-a1c3d380-7fac-11eb-853a-80459b65626b.png">
|
21
21
|
</p>
|
22
22
|
|
23
|
-
**NEW in
|
23
|
+
**NEW in 4.2.14**
|
24
24
|
|
25
|
-
-
|
26
|
-
-
|
25
|
+
- No more error in Keycloak logs 🍾
|
26
|
+
- Templates now load in fraction of a second 🏎
|
27
27
|
|
28
28
|
# Motivations
|
29
29
|
|
@@ -71,13 +71,12 @@ If you already have a Keycloak custom theme, it can be easily ported to Keycloak
|
|
71
71
|
- [GitHub Actions](#github-actions)
|
72
72
|
- [Limitations](#limitations)
|
73
73
|
- [`process.env.PUBLIC_URL` not supported.](#processenvpublic_url-not-supported)
|
74
|
-
- [`@font-face` importing fonts from the
|
74
|
+
- [`@font-face` importing fonts from the `src/` dir](#font-face-importing-fonts-from-the-src-dir)
|
75
75
|
- [Example of setup that **won't** work](#example-of-setup-that-wont-work)
|
76
76
|
- [Possible workarounds](#possible-workarounds)
|
77
77
|
- [Implement context persistence (optional)](#implement-context-persistence-optional)
|
78
78
|
- [Kickstart video](#kickstart-video)
|
79
|
-
- [
|
80
|
-
- [The pages take too long to load ?](#the-pages-take-too-long-to-load-)
|
79
|
+
- [FTL errors related to `ftl_object_to_js_code_declaring_an_object` in Keycloak logs.](#ftl-errors-related-to-ftl_object_to_js_code_declaring_an_object-in-keycloak-logs)
|
81
80
|
- [Adding custom message (to `i18n/useKcMessage.tsx`)](#adding-custom-message-to-i18nusekcmessagetsx)
|
82
81
|
- [Email domain whitelist](#email-domain-whitelist)
|
83
82
|
- [Changelog highlights](#changelog-highlights)
|
@@ -107,7 +106,7 @@ For more information see [this issue](https://github.com/InseeFrLab/keycloakify/
|
|
107
106
|
**All this is defaults with [`create-react-app`](https://create-react-app.dev)** (tested with 4.0.3)
|
108
107
|
|
109
108
|
- `mvn` ([Maven](https://maven.apache.org/)), `rm`, `mkdir`, `curl`, `unzip` are assumed to be available.
|
110
|
-
- `docker` must be up and running when running `yarn keycloak
|
109
|
+
- `docker` must be up and running when running `start_keycloak_testing_container.sh` (Instructions provided after running `yarn keycloak`).
|
111
110
|
|
112
111
|
## My framework doesn’t seem to be supported, what can I do?
|
113
112
|
|
@@ -152,27 +151,23 @@ your index should look something like:
|
|
152
151
|
`src/index.tsx`
|
153
152
|
|
154
153
|
```tsx
|
155
|
-
import {
|
156
|
-
import {
|
157
|
-
|
158
|
-
defaultKcProps,
|
159
|
-
getKcContext
|
160
|
-
} from "keycloakify";
|
161
|
-
import { css } from "tss-react/@emotion/css";
|
154
|
+
import { App } from "./<wherever>/App";
|
155
|
+
import { KcApp, defaultKcProps, getKcContext } from "keycloakify";
|
156
|
+
import { css } from "tss-react/@emotion/css";
|
162
157
|
|
163
158
|
const { kcContext } = getKcContext();
|
164
159
|
|
165
160
|
const myClassName = css({ "color": "red" });
|
166
161
|
|
167
162
|
reactDom.render(
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
document.getElementById("root")
|
163
|
+
<KcApp
|
164
|
+
kcContext={kcContext}
|
165
|
+
{...{
|
166
|
+
...defaultKcProps,
|
167
|
+
"kcHeaderWrapperClass": myClassName,
|
168
|
+
}}
|
169
|
+
/>,
|
170
|
+
document.getElementById("root"),
|
176
171
|
);
|
177
172
|
```
|
178
173
|
|
@@ -358,7 +353,7 @@ the building and publishing of the theme (the .jar file).
|
|
358
353
|
You won't be able to [import things from your public directory **in your JavaScript code**](https://create-react-app.dev/docs/using-the-public-folder/#adding-assets-outside-of-the-module-system).
|
359
354
|
(This isn't recommended anyway).
|
360
355
|
|
361
|
-
## `@font-face` importing fonts from the
|
356
|
+
## `@font-face` importing fonts from the `src/` dir
|
362
357
|
|
363
358
|
If you are building the theme with [--external-assets](#enable-loading-in-a-blink-of-a-eye-of-login-pages-)
|
364
359
|
this limitation doesn't apply, you can import fonts however you see fit.
|
@@ -442,35 +437,22 @@ flash of the blank html before the js bundle have been evaluated
|
|
442
437
|
_NOTE: keycloak-react-theming was renamed keycloakify since this video was recorded_
|
443
438
|
[](https://youtu.be/xTz0Rj7i2v8)
|
444
439
|
|
445
|
-
#
|
440
|
+
# FTL errors related to `ftl_object_to_js_code_declaring_an_object` in Keycloak logs.
|
446
441
|
|
447
|
-
|
442
|
+
If you ever encounter one of these errors:
|
448
443
|
|
449
444
|
```log
|
450
445
|
FTL stack trace ("~" means nesting-related):
|
451
|
-
- Failed at: #local value = object[key] [in template "login.ftl" in macro "
|
452
|
-
- Reached through: @compress [in template "login.ftl" in macro "
|
453
|
-
- Reached through: @
|
454
|
-
- Reached through: @compress [in template "login.ftl" in macro "
|
455
|
-
- Reached through: @
|
446
|
+
- Failed at: #local value = object[key] [in template "login.ftl" in macro "ftl_object_to_js_code_declaring_an_object" at line 70, column 21]
|
447
|
+
- Reached through: @compress [in template "login.ftl" in macro "ftl_object_to_js_code_declaring_an_object" at line 36, column 5]
|
448
|
+
- Reached through: @ftl_object_to_js_code_declaring_an_object object=value depth=(dep... [in template "login.ftl" in macro "ftl_object_to_js_code_declaring_an_object" at line 81, column 27]
|
449
|
+
- Reached through: @compress [in template "login.ftl" in macro "ftl_object_to_js_code_declaring_an_object" at line 36, column 5]
|
450
|
+
- Reached through: @ftl_object_to_js_code_declaring_an_object object=(.data_model) de... [in template "login.ftl" at line 163, column 43]
|
456
451
|
```
|
457
452
|
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
To [converts the `.ftl` values into a JavaScript object](https://github.com/InseeFrLab/keycloakify/blob/main/src/bin/build-keycloak-theme/generateFtl/common.ftl)
|
463
|
-
without making assumptions on the `.data_model` we have to do things that throws.
|
464
|
-
It's all-right because every statement that can fail is inside an `<#attempt><#recorver>` block but it results in errors being printed to the logs.
|
465
|
-
|
466
|
-
# The pages take too long to load ?
|
467
|
-
|
468
|
-
The problem of templates taking a long time to load only happens in the test environment, when you have a console logging all the above-mentioned `.ftl` warnings in real time. Logging all those warnings is what takes time. Once in production page load is way faster.
|
469
|
-
|
470
|
-
If you run the docker container locally we acknowledge that the loading time is getting out of hand.
|
471
|
-
We are [in the process](https://github.com/InseeFrLab/keycloakify/pull/63) of resolving this issue.
|
472
|
-
|
473
|
-
In the meantime we recommend [to run the docker container as a background task](https://youtu.be/F29Z1GaH-jk).
|
453
|
+
It's just noise, they can be safely ignored.
|
454
|
+
You can, however, and are encouraged to, report any that you would spot.
|
455
|
+
Just open an issue about it and I will release a patched version of Keycloakify in the better delays.
|
474
456
|
|
475
457
|
# Adding custom message (to `i18n/useKcMessage.tsx`)
|
476
458
|
|
@@ -0,0 +1,290 @@
|
|
1
|
+
<script>const _=
|
2
|
+
<#assign pageId="PAGE_ID_xIgLsPgGId9D8e">
|
3
|
+
(()=>{
|
4
|
+
|
5
|
+
const out =
|
6
|
+
${ftl_object_to_js_code_declaring_an_object(.data_model, [])?no_esc};
|
7
|
+
|
8
|
+
out["msg"]= function(){ throw new Error("use import { useKcMessage } from 'keycloakify'"); };
|
9
|
+
out["advancedMsg"]= function(){ throw new Error("use import { useKcMessage } from 'keycloakify'"); };
|
10
|
+
|
11
|
+
out["messagesPerField"]= {
|
12
|
+
<#assign fieldNames = [
|
13
|
+
"global", "userLabel", "username", "email", "firstName", "lastName", "password", "password-confirm",
|
14
|
+
"totp", "totpSecret", "SAMLRequest", "SAMLResponse", "relayState", "device_user_code", "code",
|
15
|
+
"password-new", "rememberMe", "login", "authenticationExecution", "cancel-aia", "clientDataJSON",
|
16
|
+
"authenticatorData", "signature", "credentialId", "userHandle", "error", "authn_use_chk", "authenticationExecution",
|
17
|
+
"isSetRetry", "try-again", "attestationObject", "publicKeyCredentialId", "authenticatorLabel"
|
18
|
+
]>
|
19
|
+
|
20
|
+
<#attempt>
|
21
|
+
<#if profile?? && profile.attributes?? && profile.attributes?is_enumerable>
|
22
|
+
<#list profile.attributes as attribute>
|
23
|
+
<#if fieldNames?seq_contains(attribute.name)>
|
24
|
+
<#continue>
|
25
|
+
</#if>
|
26
|
+
<#assign fieldNames += [attribute.name]>
|
27
|
+
</#list>
|
28
|
+
</#if>
|
29
|
+
<#recover>
|
30
|
+
</#attempt>
|
31
|
+
|
32
|
+
"printIfExists": function (fieldName, x) {
|
33
|
+
<#list fieldNames as fieldName>
|
34
|
+
if(fieldName === "${fieldName}" ){
|
35
|
+
<#attempt>
|
36
|
+
return "${messagesPerField.printIfExists(fieldName,'1')}" ? x : undefined;
|
37
|
+
<#recover>
|
38
|
+
</#attempt>
|
39
|
+
}
|
40
|
+
</#list>
|
41
|
+
throw new Error("There is no " + fieldName + " field");
|
42
|
+
},
|
43
|
+
"existsError": function (fieldName) {
|
44
|
+
<#list fieldNames as fieldName>
|
45
|
+
if(fieldName === "${fieldName}" ){
|
46
|
+
<#attempt>
|
47
|
+
return <#if messagesPerField.existsError('${fieldName}')>true<#else>false</#if>;
|
48
|
+
<#recover>
|
49
|
+
</#attempt>
|
50
|
+
}
|
51
|
+
</#list>
|
52
|
+
throw new Error("There is no " + fieldName + " field");
|
53
|
+
},
|
54
|
+
"get": function (fieldName) {
|
55
|
+
<#list fieldNames as fieldName>
|
56
|
+
if(fieldName === "${fieldName}" ){
|
57
|
+
<#attempt>
|
58
|
+
<#if messagesPerField.existsError('${fieldName}')>
|
59
|
+
return "${messagesPerField.get('${fieldName}')?no_esc}";
|
60
|
+
</#if>
|
61
|
+
<#recover>
|
62
|
+
</#attempt>
|
63
|
+
}
|
64
|
+
</#list>
|
65
|
+
throw new Error("There is no " + fieldName + " field");
|
66
|
+
},
|
67
|
+
"exists": function (fieldName) {
|
68
|
+
<#list fieldNames as fieldName>
|
69
|
+
if(fieldName === "${fieldName}" ){
|
70
|
+
<#attempt>
|
71
|
+
return <#if messagesPerField.exists('${fieldName}')>true<#else>false</#if>;
|
72
|
+
<#recover>
|
73
|
+
</#attempt>
|
74
|
+
}
|
75
|
+
</#list>
|
76
|
+
throw new Error("There is no " + fieldName + " field");
|
77
|
+
}
|
78
|
+
};
|
79
|
+
|
80
|
+
out["pageId"] = "${pageId}";
|
81
|
+
|
82
|
+
return out;
|
83
|
+
|
84
|
+
})()
|
85
|
+
<#function ftl_object_to_js_code_declaring_an_object object path>
|
86
|
+
|
87
|
+
<#local isHash = "">
|
88
|
+
<#attempt>
|
89
|
+
<#local isHash = object?is_hash || object?is_hash_ex>
|
90
|
+
<#recover>
|
91
|
+
<#return "ABORT: Can't evaluate if " + path?join(".") + " is hash">
|
92
|
+
</#attempt>
|
93
|
+
|
94
|
+
<#if isHash>
|
95
|
+
|
96
|
+
<#if path?size gt 10>
|
97
|
+
<#return "ABORT: Too many recursive calls">
|
98
|
+
</#if>
|
99
|
+
|
100
|
+
<#local keys = "">
|
101
|
+
|
102
|
+
<#attempt>
|
103
|
+
<#local keys = object?keys>
|
104
|
+
<#recover>
|
105
|
+
<#return "ABORT: We can't list keys on this object">
|
106
|
+
</#attempt>
|
107
|
+
|
108
|
+
|
109
|
+
<#local out_seq = []>
|
110
|
+
|
111
|
+
<#list keys as key>
|
112
|
+
|
113
|
+
<#if ["class","declaredConstructors","superclass","declaringClass" ]?seq_contains(key) >
|
114
|
+
<#continue>
|
115
|
+
</#if>
|
116
|
+
|
117
|
+
<#if
|
118
|
+
(
|
119
|
+
["loginUpdatePasswordUrl", "loginUpdateProfileUrl", "loginUsernameReminderUrl", "loginUpdateTotpUrl"]?seq_contains(key) &&
|
120
|
+
are_same_path(path, ["url"])
|
121
|
+
) || (
|
122
|
+
key == "updateProfileCtx" &&
|
123
|
+
are_same_path(path, [])
|
124
|
+
) || (
|
125
|
+
<#-- https://github.com/InseeFrLab/keycloakify/pull/65#issuecomment-991896344 -->
|
126
|
+
key == "loginAction" &&
|
127
|
+
are_same_path(path, ["url"]) &&
|
128
|
+
pageId == "saml-post-form.ftl"
|
129
|
+
)
|
130
|
+
>
|
131
|
+
<#local out_seq += ["/*If you need '" + key + "' on " + pageId + ", please submit an issue to the Keycloakify repo*/"]>
|
132
|
+
<#continue>
|
133
|
+
</#if>
|
134
|
+
|
135
|
+
<#if key == "attemptedUsername" && are_same_path(path, ["auth"])>
|
136
|
+
|
137
|
+
<#attempt>
|
138
|
+
<#-- https://github.com/keycloak/keycloak/blob/3a2bf0c04bcde185e497aaa32d0bb7ab7520cf4a/themes/src/main/resources/theme/base/login/template.ftl#L63 -->
|
139
|
+
<#if !(auth?has_content && auth.showUsername() && !auth.showResetCredentials())>
|
140
|
+
<#continue>
|
141
|
+
</#if>
|
142
|
+
<#recover>
|
143
|
+
</#attempt>
|
144
|
+
|
145
|
+
</#if>
|
146
|
+
|
147
|
+
<#attempt>
|
148
|
+
<#if !object[key]??>
|
149
|
+
<#continue>
|
150
|
+
</#if>
|
151
|
+
<#recover>
|
152
|
+
<#local out_seq += ["/*Couldn't test if '" + key + "' is available on this object*/"]>
|
153
|
+
<#continue>
|
154
|
+
</#attempt>
|
155
|
+
|
156
|
+
<#local propertyValue = "">
|
157
|
+
|
158
|
+
<#attempt>
|
159
|
+
<#local propertyValue = object[key]>
|
160
|
+
<#recover>
|
161
|
+
<#local out_seq += ["/*Couldn't dereference '" + key + "' on this object*/"]>
|
162
|
+
<#continue>
|
163
|
+
</#attempt>
|
164
|
+
|
165
|
+
<#local rec_out = ftl_object_to_js_code_declaring_an_object(propertyValue, path + [ key ])>
|
166
|
+
|
167
|
+
<#if rec_out?starts_with("ABORT:")>
|
168
|
+
|
169
|
+
<#local errorMessage = rec_out?remove_beginning("ABORT:")>
|
170
|
+
|
171
|
+
<#if errorMessage != " It's a method" >
|
172
|
+
<#local out_seq += ["/*" + key + ": " + errorMessage + "*/"]>
|
173
|
+
</#if>
|
174
|
+
|
175
|
+
<#continue>
|
176
|
+
</#if>
|
177
|
+
|
178
|
+
<#local out_seq += ['"' + key + '": ' + rec_out + ","]>
|
179
|
+
|
180
|
+
</#list>
|
181
|
+
|
182
|
+
<#return (["{"] + out_seq?map(str -> ""?right_pad(4 * (path?size + 1)) + str) + [ ""?right_pad(4 * path?size) + "}"])?join("\n")>
|
183
|
+
|
184
|
+
</#if>
|
185
|
+
|
186
|
+
<#local isMethod = "">
|
187
|
+
<#attempt>
|
188
|
+
<#local isMethod = object?is_method>
|
189
|
+
<#recover>
|
190
|
+
<#return "ABORT: Can't test if it'sa method.">
|
191
|
+
</#attempt>
|
192
|
+
|
193
|
+
<#if isMethod>
|
194
|
+
<#return "ABORT: It's a method">
|
195
|
+
</#if>
|
196
|
+
|
197
|
+
<#local isBoolean = "">
|
198
|
+
<#attempt>
|
199
|
+
<#local isBoolean = object?is_boolean>
|
200
|
+
<#recover>
|
201
|
+
<#return "ABORT: Can't test if it's a boolean">
|
202
|
+
</#attempt>
|
203
|
+
|
204
|
+
<#if isBoolean>
|
205
|
+
<#return object?c>
|
206
|
+
</#if>
|
207
|
+
|
208
|
+
<#local isEnumerable = "">
|
209
|
+
<#attempt>
|
210
|
+
<#local isEnumerable = object?is_enumerable>
|
211
|
+
<#recover>
|
212
|
+
<#return "ABORT: Can't test if it's an enumerable">
|
213
|
+
</#attempt>
|
214
|
+
|
215
|
+
|
216
|
+
<#if isEnumerable>
|
217
|
+
|
218
|
+
<#local out_seq = []>
|
219
|
+
|
220
|
+
<#local i = 0>
|
221
|
+
|
222
|
+
<#list object as array_item>
|
223
|
+
|
224
|
+
<#local rec_out = ftl_object_to_js_code_declaring_an_object(array_item, path + [ i ])>
|
225
|
+
|
226
|
+
<#local i = i + 1>
|
227
|
+
|
228
|
+
<#if rec_out?starts_with("ABORT:")>
|
229
|
+
|
230
|
+
<#local errorMessage = rec_out?remove_beginning("ABORT:")>
|
231
|
+
|
232
|
+
<#if errorMessage != " It's a method" >
|
233
|
+
<#local out_seq += ["/*" + i?string + ": " + errorMessage + "*/"]>
|
234
|
+
</#if>
|
235
|
+
|
236
|
+
<#continue>
|
237
|
+
</#if>
|
238
|
+
|
239
|
+
<#local out_seq += [rec_out + ","]>
|
240
|
+
|
241
|
+
</#list>
|
242
|
+
|
243
|
+
<#return (["["] + out_seq?map(str -> ""?right_pad(4 * (path?size + 1)) + str) + [ ""?right_pad(4 * path?size) + "]"])?join("\n")>
|
244
|
+
|
245
|
+
</#if>
|
246
|
+
|
247
|
+
<#attempt>
|
248
|
+
<#return '"' + object?js_string + '"'>;
|
249
|
+
<#recover>
|
250
|
+
</#attempt>
|
251
|
+
|
252
|
+
<#return "ABORT: Couldn't convert into string non hash, non method, non boolean, non enumerable object">
|
253
|
+
|
254
|
+
</#function>
|
255
|
+
<#function are_same_path path searchedPath>
|
256
|
+
|
257
|
+
<#if path?size != path?size>
|
258
|
+
<#return false>
|
259
|
+
</#if>
|
260
|
+
|
261
|
+
<#local i=0>
|
262
|
+
|
263
|
+
<#list path as property>
|
264
|
+
|
265
|
+
<#local searchedProperty=searchedPath[i]>
|
266
|
+
|
267
|
+
<#if searchedProperty?is_string && searchedProperty == "*">
|
268
|
+
<#continue>
|
269
|
+
</#if>
|
270
|
+
|
271
|
+
<#if searchedProperty?is_string && !property?is_string>
|
272
|
+
<#return false>
|
273
|
+
</#if>
|
274
|
+
|
275
|
+
<#if searchedProperty?is_number && !property?is_number>
|
276
|
+
<#return false>
|
277
|
+
</#if>
|
278
|
+
|
279
|
+
<#if searchedProperty?string != property?string>
|
280
|
+
<#return false>
|
281
|
+
</#if>
|
282
|
+
|
283
|
+
<#local i+= 1>
|
284
|
+
|
285
|
+
</#list>
|
286
|
+
|
287
|
+
<#return true>
|
288
|
+
|
289
|
+
</#function>
|
290
|
+
</script>
|
@@ -1,4 +1,15 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
3
|
+
__assign = Object.assign || function(t) {
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5
|
+
s = arguments[i];
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
7
|
+
t[p] = s[p];
|
8
|
+
}
|
9
|
+
return t;
|
10
|
+
};
|
11
|
+
return __assign.apply(this, arguments);
|
12
|
+
};
|
2
13
|
var __read = (this && this.__read) || function (o, n) {
|
3
14
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
4
15
|
if (!m) return o;
|
@@ -48,9 +59,6 @@ exports.pageIds = [
|
|
48
59
|
"login-update-profile.ftl",
|
49
60
|
"login-idp-link-confirm.ftl",
|
50
61
|
];
|
51
|
-
function loadAdjacentFile(fileBasename) {
|
52
|
-
return fs_1.default.readFileSync((0, path_1.join)(__dirname, fileBasename)).toString("utf8");
|
53
|
-
}
|
54
62
|
function generateFtlFilesCodeFactory(params) {
|
55
63
|
var cssGlobalsToDefine = params.cssGlobalsToDefine, indexHtmlCode = params.indexHtmlCode, urlPathname = params.urlPathname, urlOrigin = params.urlOrigin;
|
56
64
|
var $ = cheerio_1.default.load(indexHtmlCode);
|
@@ -100,8 +108,11 @@ function generateFtlFilesCodeFactory(params) {
|
|
100
108
|
});
|
101
109
|
});
|
102
110
|
//FTL is no valid html, we can't insert with cheerio, we put placeholder for injecting later.
|
103
|
-
var
|
104
|
-
'{ "x": "vIdLqMeOed9sdLdIdOxdK0d" }':
|
111
|
+
var replaceValueBySearchValue = {
|
112
|
+
'{ "x": "vIdLqMeOed9sdLdIdOxdK0d" }': fs_1.default
|
113
|
+
.readFileSync((0, path_1.join)(__dirname, "ftl_object_to_js_code_declaring_an_object.ftl"))
|
114
|
+
.toString("utf8")
|
115
|
+
.match(/^<script>const _=((?:.|\n)+)<\/script>[\n]?$/)[1],
|
105
116
|
"<!-- xIdLqMeOedErIdLsPdNdI9dSlxI -->": [
|
106
117
|
"<#if scripts??>",
|
107
118
|
" <#list scripts as script>",
|
@@ -110,7 +121,6 @@ function generateFtlFilesCodeFactory(params) {
|
|
110
121
|
"</#if>",
|
111
122
|
].join("\n"),
|
112
123
|
};
|
113
|
-
var pageSpecificCodePlaceholder = "<!-- dIddLqMeOedErIdLsPdNdI9dSl42sw -->";
|
114
124
|
$("head").prepend(__spreadArray(__spreadArray([], __read((Object.keys(cssGlobalsToDefine).length === 0
|
115
125
|
? []
|
116
126
|
: [
|
@@ -124,32 +134,22 @@ function generateFtlFilesCodeFactory(params) {
|
|
124
134
|
"",
|
125
135
|
])), false), [
|
126
136
|
"<script>",
|
127
|
-
|
128
|
-
"</script>",
|
129
|
-
"<script>",
|
130
|
-
" window." + ftlValuesGlobalName_1.ftlValuesGlobalName + "= Object.assign(",
|
131
|
-
" {},",
|
132
|
-
" " + (0, objectKeys_1.objectKeys)(ftlPlaceholders)[0],
|
133
|
-
" );",
|
137
|
+
" window." + ftlValuesGlobalName_1.ftlValuesGlobalName + "= " + (0, objectKeys_1.objectKeys)(replaceValueBySearchValue)[0] + ";",
|
134
138
|
"</script>",
|
135
139
|
"",
|
136
|
-
|
137
|
-
"",
|
138
|
-
(0, objectKeys_1.objectKeys)(ftlPlaceholders)[1],
|
140
|
+
(0, objectKeys_1.objectKeys)(replaceValueBySearchValue)[1],
|
139
141
|
], false).join("\n"));
|
140
142
|
var partiallyFixedIndexHtmlCode = $.html();
|
141
143
|
function generateFtlFilesCode(params) {
|
142
144
|
var pageId = params.pageId;
|
143
145
|
var $ = cheerio_1.default.load(partiallyFixedIndexHtmlCode);
|
144
|
-
var ftlCode = $.html()
|
145
|
-
|
146
|
-
|
147
|
-
"
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
].join("\n"));
|
152
|
-
(0, objectKeys_1.objectKeys)(ftlPlaceholders).forEach(function (id) { return (ftlCode = ftlCode.replace(id, ftlPlaceholders[id])); });
|
146
|
+
var ftlCode = $.html();
|
147
|
+
Object.entries(__assign(__assign({}, replaceValueBySearchValue), {
|
148
|
+
//If updated, don't forget to change in the ftl script as well.
|
149
|
+
"PAGE_ID_xIgLsPgGId9D8e": pageId })).map(function (_a) {
|
150
|
+
var _b = __read(_a, 2), searchValue = _b[0], replaceValue = _b[1];
|
151
|
+
return (ftlCode = ftlCode.replace(searchValue, replaceValue));
|
152
|
+
});
|
153
153
|
return { ftlCode: ftlCode };
|
154
154
|
}
|
155
155
|
return { generateFtlFilesCode: generateFtlFilesCode };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generateFtl.js","sourceRoot":"","sources":["../../../src/bin/build-keycloak-theme/generateFtl/generateFtl.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"generateFtl.js","sourceRoot":"","sources":["../../../src/bin/build-keycloak-theme/generateFtl/generateFtl.ts"],"names":[],"mappings":"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"}
|
@@ -28,7 +28,7 @@ var react_1 = require("react");
|
|
28
28
|
var Template_1 = require("./Template");
|
29
29
|
var useKcMessage_1 = require("../i18n/useKcMessage");
|
30
30
|
var headInsert_1 = require("../tools/headInsert");
|
31
|
-
var
|
31
|
+
var pathJoin_1 = require("../tools/pathJoin");
|
32
32
|
var tss_react_1 = require("tss-react");
|
33
33
|
exports.LoginOtp = (0, react_1.memo)(function (_a) {
|
34
34
|
var kcContext = _a.kcContext, props = __rest(_a, ["kcContext"]);
|
@@ -39,7 +39,7 @@ exports.LoginOtp = (0, react_1.memo)(function (_a) {
|
|
39
39
|
var isCleanedUp = false;
|
40
40
|
(0, headInsert_1.headInsert)({
|
41
41
|
"type": "javascript",
|
42
|
-
"src": (0,
|
42
|
+
"src": (0, pathJoin_1.pathJoin)(kcContext.url.resourcesCommonPath, "node_modules/jquery/dist/jquery.min.js"),
|
43
43
|
}).then(function () {
|
44
44
|
if (isCleanedUp)
|
45
45
|
return;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LoginOtp.js","sourceRoot":"","sources":["../../src/lib/components/LoginOtp.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAwC;AACxC,uCAAsC;AAGtC,qDAAoD;AACpD,kDAAiD;AACjD,
|
1
|
+
{"version":3,"file":"LoginOtp.js","sourceRoot":"","sources":["../../src/lib/components/LoginOtp.tsx"],"names":[],"mappings":"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"}
|
@@ -44,13 +44,13 @@ var KcLanguageTag_1 = require("../../i18n/KcLanguageTag");
|
|
44
44
|
//NOTE: Aside because we want to be able to import them from node
|
45
45
|
var urlResourcesPath_1 = require("./urlResourcesPath");
|
46
46
|
var id_1 = require("tsafe/id");
|
47
|
-
var
|
47
|
+
var pathJoin_1 = require("../../tools/pathJoin");
|
48
48
|
var PUBLIC_URL = (_a = process.env["PUBLIC_URL"]) !== null && _a !== void 0 ? _a : "/";
|
49
49
|
exports.kcContextCommonMock = {
|
50
50
|
"url": {
|
51
51
|
"loginAction": "#",
|
52
|
-
"resourcesPath": (0,
|
53
|
-
"resourcesCommonPath": (0,
|
52
|
+
"resourcesPath": (0, pathJoin_1.pathJoin)(PUBLIC_URL, urlResourcesPath_1.resourcesPath),
|
53
|
+
"resourcesCommonPath": (0, pathJoin_1.pathJoin)(PUBLIC_URL, urlResourcesPath_1.resourcesCommonPath),
|
54
54
|
"loginRestartFlowUrl": "/auth/realms/myrealm/login-actions/restart?client_id=account&tab_id=HoAx28ja4xg",
|
55
55
|
"loginUrl": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg",
|
56
56
|
},
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../../src/lib/getKcContext/kcContextMocks/kcContextMocks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA8C;AAE9C,gEAA+D;AAC/D,0DAAiE;AACjE,iEAAiE;AACjE,uDAAwE;AACxE,+BAA8B;AAC9B,
|
1
|
+
{"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../../src/lib/getKcContext/kcContextMocks/kcContextMocks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA8C;AAE9C,gEAA+D;AAC/D,0DAAiE;AACjE,iEAAiE;AACjE,uDAAwE;AACxE,+BAA8B;AAC9B,iDAAgD;AAEhD,IAAM,UAAU,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,mCAAI,GAAG,CAAC;AAEvC,QAAA,mBAAmB,GAAyB;IACrD,KAAK,EAAE;QACH,aAAa,EAAE,GAAG;QAClB,eAAe,EAAE,IAAA,mBAAQ,EAAC,UAAU,EAAE,gCAAa,CAAC;QACpD,qBAAqB,EAAE,IAAA,mBAAQ,EAAC,UAAU,EAAE,sCAAmB,CAAC;QAChE,qBAAqB,EAAE,iFAAiF;QACxG,UAAU,EAAE,sFAAsF;KACrG;IACD,OAAO,EAAE;QACL,aAAa,EAAE,SAAS;QACxB,iBAAiB,EAAE,SAAS;QAC5B,6BAA6B,EAAE,IAAI;QACnC,6BAA6B,EAAE,KAAK;KACvC;IACD,kBAAkB,EAAE;QAChB,eAAe,EAAE;YAAC,YAAQ;iBAAR,UAAQ,EAAR,qBAAQ,EAAR,IAAQ;gBAAR,uBAAQ;;YAAR,IAAA,KAAA,aAAQ,EAAF,CAAC,QAAA,CAAC;YAAK,OAAA,CAAC;QAAD,CAAC;QAChC,aAAa,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI;QACzB,KAAK,EAAE,UAAA,GAAG,IAAI,OAAA,oBAAkB,GAAK,EAAvB,CAAuB;QACrC,QAAQ,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI;KACvB;IACD,QAAQ,EAAE;QACN,WAAW,EAAE;YACT;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,qJAAqJ;gBAC5J,aAAa,EAAE,OAAO;aACzB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,qJAAqJ;gBAC5J,aAAa,EAAE,OAAO;aACzB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,aAAa,EAAE,IAAI;aACtB;SACJ;QACD,wBAAwB;QACxB,SAAS,EAAE,SAAS;KACvB;IACD,MAAM,EAAE;QACJ,cAAc,EAAE,KAAK;QACrB,sBAAsB,EAAE,KAAK;QAC7B,uBAAuB,EAAE,KAAK;KACjC;IACD,QAAQ,EAAE;QACN,UAAU,EAAE,OAAO;KACtB;IACD,SAAS,EAAE,EAAE;IACb,SAAS,EAAE;QACP,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,wBAAwB;KACtC;IACD,sBAAsB,EAAE,KAAK;CAChC,CAAC;AAEF,MAAM,CAAC,cAAc,CAAC,2BAAmB,CAAC,MAAO,EAAE,SAAS,EAAE;IAC1D,KAAK,EAAE,cAAM,OAAA,IAAA,qCAAqB,EAAC,IAAA,mCAAgB,GAAE,CAAC,KAAK,CAAC,EAA/C,CAA+C;IAC5D,YAAY,EAAE,IAAI;CACrB,CAAC,CAAC;AAEH,IAAM,QAAQ,yBACP,2BAAmB,CAAC,GAAG,KAC1B,0BAA0B,EAAE,2FAA2F,EACvH,iBAAiB,EAAE,sFAAsF,GAC5G,CAAC;AAEW,QAAA,cAAc;IACvB,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,QAAQ,EACf,OAAO,wBACA,2BAAmB,CAAC,KAAK,KAC5B,uBAAuB,EAAE,IAAI,EAC7B,YAAY,EAAE,IAAI,EAClB,UAAU,EAAE,IAAI,EAChB,sBAAsB,EAAE,IAAI,EAC5B,qBAAqB,EAAE,IAAI,KAE/B,MAAM,EAAE,2BAAmB,CAAC,IAAK,EACjC,QAAQ,EAAE;YACN,aAAa,EAAE,IAAI;SACtB,EACD,sBAAsB,EAAE,KAAK,EAC7B,OAAO,EAAE;YACL,YAAY,EAAE,KAAK;SACtB,EACD,sBAAsB,EAAE,KAAK,IAC/B;UACC,CAAC;IACA,IAAM,cAAc,yBACb,2BAAmB,KACtB,KAAK,wBACE,QAAQ,KACX,oBAAoB,EAChB,mNAAmN,KAE3N,SAAS,EAAE,EAAE,EACb,sBAAsB,EAAE,KAAK,EAC7B,kBAAkB,EAAE,IAAI,EACxB,mBAAmB,EAAE,KAAK,EAC1B,QAAQ,EAAE;YACN,aAAa,EAAE,IAAI;SACtB,GACJ,CAAC;IAEF,OAAO;QACH,IAAA,OAAE,sBACE,QAAQ,EAAE,cAAc,IACrB,cAAc,KACjB,UAAU,EAAE;gBACR,UAAU,EAAE,EAAE;aACjB,IACH;QACF,IAAA,OAAE,sBACE,QAAQ,EAAE,2BAA2B,IAClC,cAAc,KACjB,SAAS,aACL,SAAS,EAAE,sBAA+B,IACvC,CAAC;gBACA,IAAM,UAAU,GAAgB;oBAC5B;wBACI,YAAY,EAAE;4BACV,gCAAgC,EAAE;gCAC9B,oBAAoB,EAAE,IAAI;6BAC7B;4BACD,uBAAuB,EAAE,EAAE;4BAC3B,QAAQ,EAAE;gCACN,oBAAoB,EAAE,IAAI;gCAC1B,KAAK,EAAE,GAAG;gCACV,KAAK,EAAE,KAAK;6BACf;4BACD,uBAAuB,EAAE,EAAE;4BAC3B,sBAAsB,EAAE,EAAE;yBAC7B;wBACD,aAAa,EAAE,aAAa;wBAC5B,aAAa,EAAE,EAAE;wBACjB,UAAU,EAAE,IAAI;wBAChB,kBAAkB,EAAE,EAAE;wBACtB,cAAc,EAAE,UAAU;wBAC1B,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE,MAAM;qBAClB;oBACD;wBACI,YAAY,EAAE;4BACV,6BAA6B,EAAE,EAAE;4BACjC,QAAQ,EAAE;gCACN,KAAK,EAAE,KAAK;gCACZ,oBAAoB,EAAE,IAAI;6BAC7B;4BACD,0BAA0B,EAAE;gCACxB,eAAe,EAAE,qBAAqB;gCACtC,cAAc,EAAE,KAAK;6BACxB;4BACD,oBAAoB,EAAE,EAAE;4BACxB,OAAO,EAAE;gCACL,oBAAoB,EAAE,IAAI;6BAC7B;4BACD,SAAS,EAAE;gCACP,oBAAoB,EAAE,IAAI;gCAC1B,SAAS,EAAE,cAAc;6BAC5B;yBACJ;wBACD,aAAa,EAAE,UAAU;wBACzB,aAAa,EAAE,EAAE;wBACjB,UAAU,EAAE,IAAI;wBAChB,kBAAkB,EAAE,EAAE;wBACtB,cAAc,EAAE,OAAO;wBACvB,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,OAAO;qBAClB;oBACD;wBACI,YAAY,EAAE;4BACV,QAAQ,EAAE;gCACN,KAAK,EAAE,KAAK;gCACZ,oBAAoB,EAAE,IAAI;6BAC7B;4BACD,mCAAmC,EAAE;gCACjC,oBAAoB,EAAE,IAAI;6BAC7B;4BACD,wBAAwB,EAAE,EAAE;4BAC5B,yCAAyC,EAAE,EAAE;yBAChD;wBACD,aAAa,EAAE,cAAc;wBAC7B,aAAa,EAAE,EAAE;wBACjB,UAAU,EAAE,IAAI;wBAChB,kBAAkB,EAAE,EAAE;wBACtB,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,WAAW;qBACtB;oBACD;wBACI,YAAY,EAAE;4BACV,QAAQ,EAAE;gCACN,KAAK,EAAE,KAAK;gCACZ,oBAAoB,EAAE,IAAI;6BAC7B;4BACD,mCAAmC,EAAE;gCACjC,oBAAoB,EAAE,IAAI;6BAC7B;4BACD,wBAAwB,EAAE,EAAE;4BAC5B,yCAAyC,EAAE,EAAE;yBAChD;wBACD,aAAa,EAAE,aAAa;wBAC5B,aAAa,EAAE,EAAE;wBACjB,UAAU,EAAE,IAAI;wBAChB,kBAAkB,EAAE,EAAE;wBACtB,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,UAAU;qBACrB;iBACJ,CAAC;gBAEF,OAAO;oBACH,UAAU,YAAA;oBACV,kBAAkB,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,UAAA,SAAS,IAAI,OAAA,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,EAA3B,CAA2B,CAAC,CAAQ;iBACnG,CAAC;YACb,CAAC,CAAC,EAAE,KAEV;KACL,CAAC;AACN,CAAC,CAAC,EAAE;IACJ,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,kBAAkB,EACnC,iBAAiB,EAAE,SAAS,EAC5B,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,GAAG,EAChB,QAAQ,EAAE;YACN,UAAU,EAAE,OAAO;YACnB,SAAS,EAAE,GAAG;SACjB,IACH;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE;YACN,UAAU,EAAE,OAAO;YACnB,SAAS,EAAE,GAAG;SACjB,EACD,SAAS,EAAE;YACP,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,2BAA2B;SACzC,IACH;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,0BAA0B,EACpC,OAAO,wBACA,2BAAmB,CAAC,KAAK,KAC5B,uBAAuB,EAAE,KAAK,OAEpC;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,wBAAwB,IACpC;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,WAAW,IACvB;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE;YACR,oBAAoB,EAAE;gBAClB;oBACI,IAAI,EAAE,KAAK;oBACX,WAAW,EAAE,QAAQ;iBACxB;gBACD;oBACI,IAAI,EAAE,KAAK;oBACX,WAAW,EAAE,QAAQ;iBACxB;aACJ;SACJ,IACH;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,0BAA0B,EACpC,MAAM,EAAE;YACJ,qBAAqB,EAAE,IAAI;YAC3B,UAAU,EAAE,YAAY;YACxB,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,YAAY;YACzB,UAAU,EAAE,WAAW;SAC1B,IACH;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,4BAA4B,EACtC,UAAU,EAAE,eAAe,IAC7B;UACJ"}
|