Version Description
Release Date - 31 March 2021
- IMPORTANT: Support for PHP 5.5 or lower has been discontinued. If you are running one of those versions, you MUST upgrade PHP before installing or upgrading to One Click Demo Import v3.0. Failure to do that will disable One Click Demo Import functionality.
- IMPORTANT: Support for WordPress core v4.9 or lower has been discontinued. If you are running one of those versions, you MUST upgrade WordPress core before installing or upgrading to One Click Demo Import v3.0. Failure to do that could cause issues with the One Click Demo Import functionality.
- Added support for recommended theme plugins.
- Added useful single page demo content imports.
- Added recommended plugins installer.
- Updated the UI/UX of the plugin.
- Fixed PHP8 warning.
- Fixed deprecated WP function
wp_slash_strings_only
.
Download this release
Release Info
Developer | capuderg |
Plugin | One Click Demo Import |
Version | 3.0.0 |
Comparing to | |
See all releases |
Code changes from version 2.6.1 to 3.0.0
- assets/css/main.css +1281 -216
- assets/css/main.min.css +1 -0
- assets/demo-content/about-page.xml +112 -0
- assets/demo-content/book-now-page.xml +568 -0
- assets/demo-content/contact-page.xml +167 -0
- assets/demo-content/faq-page.xml +157 -0
- assets/demo-content/meet-the-team-page.xml +287 -0
- assets/demo-content/menu-page.xml +684 -0
- assets/demo-content/portfolio-page.xml +254 -0
- assets/demo-content/services-page.xml +138 -0
- assets/demo-content/shop-page.xml +450 -0
- assets/demo-content/testimonials-page.xml +229 -0
- assets/images/error.svg +4 -0
- assets/images/icons/brush.svg +3 -0
- assets/images/icons/check-solid-white.svg +1 -0
- assets/images/icons/content.svg +3 -0
- assets/images/icons/copy.svg +3 -0
- assets/images/icons/info-circle.svg +3 -0
- assets/images/icons/layout.svg +3 -0
- assets/images/icons/lock.svg +3 -0
- assets/images/icons/long-arrow-alt-left-blue.svg +1 -0
- assets/images/icons/plugins.svg +3 -0
- assets/images/icons/question-circle.svg +3 -0
- assets/images/icons/redux.svg +4 -0
- assets/images/icons/star.svg +3 -0
- assets/images/icons/widgets.svg +3 -0
- assets/images/importing.svg +74 -0
- assets/images/loader.svg +5 -0
- assets/images/success.svg +4 -0
- assets/images/warning.svg +4 -0
- assets/js/main.js +504 -138
- assets/js/main.min.js +1 -0
- inc/CreateDemoContent/DemoContentCreator.php +436 -0
- inc/CustomizerImporter.php +9 -9
- inc/Downloader.php +6 -6
- inc/Helpers.php +136 -56
- inc/ImportActions.php +23 -23
- inc/Importer.php +4 -4
- inc/OneClickDemoImport.php +206 -100
- inc/PluginInstaller.php +587 -0
- inc/PluginInstallerSkin.php +66 -0
- inc/PluginInstallerSkinSilent.php +51 -0
- inc/ReduxImporter.php +8 -8
- inc/ViewHelpers.php +64 -0
- inc/WPCLICommands.php +33 -33
- inc/WXRImporter.php +1 -1
- inc/WidgetImporter.php +19 -19
- languages/one-click-demo-import.pot +939 -0
- languages/pt-ocdi.pot +0 -521
- one-click-demo-import.php +28 -13
- readme.txt +49 -69
- vendor/awesomemotive/wp-content-importer-v2/README.md +3 -0
- vendor/awesomemotive/wp-content-importer-v2/src/WXRImporter.php +1 -1
- vendor/composer/ClassLoader.php +1 -1
- vendor/composer/installed.json +7 -7
- views/create-content.php +77 -0
- views/import.php +126 -0
- views/install-plugins.php +68 -0
- views/plugin-page.php +308 -152
assets/css/main.css
CHANGED
@@ -1,365 +1,1430 @@
|
|
1 |
-
|
|
|
|
|
2 |
|
3 |
.ocdi {
|
4 |
-
|
5 |
}
|
6 |
|
7 |
.ocdi h2 {
|
8 |
-
|
|
|
|
|
|
|
|
|
9 |
}
|
10 |
|
11 |
.ocdi h2:first-child,
|
12 |
.ocdi h3:first-child {
|
13 |
-
|
14 |
}
|
15 |
|
16 |
.ocdi hr {
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
}
|
19 |
|
20 |
.feature-section + hr {
|
21 |
-
|
22 |
}
|
23 |
|
24 |
#wpbody select {
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
}
|
29 |
|
30 |
-
.
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
}
|
33 |
|
34 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
|
36 |
.ocdi__demo-import-files {
|
37 |
-
|
38 |
}
|
39 |
|
40 |
.ocdi__demo-import-preview-image-message {
|
41 |
-
|
42 |
}
|
43 |
|
44 |
-
/* Plugin title */
|
45 |
-
|
46 |
.ocdi__title:before {
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
}
|
51 |
|
52 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
|
54 |
-
.
|
55 |
-
|
56 |
-
|
|
|
57 |
}
|
58 |
|
59 |
-
|
60 |
-
|
61 |
-
|
|
|
62 |
}
|
63 |
|
64 |
-
|
|
|
|
|
|
|
|
|
65 |
|
66 |
-
.ocdi__file-upload
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
|
|
73 |
}
|
74 |
|
75 |
-
.ocdi__file-upload {
|
76 |
-
|
77 |
-
margin-bottom: -1px;
|
78 |
}
|
79 |
|
80 |
-
.ocdi__file-upload
|
81 |
-
|
82 |
-
|
83 |
-
opacity: .66;
|
84 |
}
|
85 |
|
86 |
-
.
|
87 |
-
|
88 |
-
border-left: 4px solid #00a0d2;
|
89 |
-
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
|
90 |
-
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
|
91 |
}
|
92 |
|
93 |
-
|
94 |
-
|
95 |
-
|
|
|
96 |
}
|
97 |
|
98 |
-
|
|
|
|
|
|
|
99 |
|
100 |
-
.
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
}
|
103 |
|
104 |
-
|
|
|
|
|
|
|
|
|
|
|
105 |
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
}
|
110 |
|
111 |
-
.
|
112 |
-
|
113 |
-
float: none;
|
114 |
-
visibility: visible;
|
115 |
-
margin-bottom: 6px;
|
116 |
}
|
117 |
|
|
|
|
|
|
|
118 |
|
119 |
-
|
|
|
|
|
|
|
|
|
|
|
120 |
|
121 |
.ocdi__gl-navigation li a {
|
122 |
-
|
123 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
}
|
125 |
|
126 |
.ocdi__gl-item {
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
}
|
138 |
|
139 |
.ocdi__gl-item-image-container {
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
}
|
147 |
|
148 |
.ocdi__gl-item-image-container::after {
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
}
|
153 |
|
154 |
.ocdi__gl-item-image {
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
}
|
163 |
|
164 |
.ocdi__gl-item-image--no-image {
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
}
|
173 |
|
174 |
.ocdi__gl-item-footer {
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
background: #ffffff;
|
181 |
-
background: rgba(255,255,255,0.65);
|
182 |
}
|
183 |
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
|
|
|
|
|
|
|
|
191 |
}
|
192 |
|
193 |
-
|
194 |
-
|
|
|
|
|
195 |
}
|
196 |
|
197 |
-
.ocdi__gl-item-
|
198 |
-
|
|
|
199 |
}
|
200 |
|
201 |
.ocdi__gl-item-button + .ocdi__gl-item-button {
|
202 |
-
|
203 |
}
|
204 |
|
205 |
@media (max-width: 782px) {
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
|
|
|
|
|
|
211 |
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
}
|
216 |
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
|
221 |
-
|
222 |
-
|
223 |
-
}
|
224 |
}
|
225 |
|
226 |
.ocdi__gl-header {
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
|
|
|
|
|
|
232 |
}
|
233 |
|
234 |
.ocdi__gl-navigation {
|
235 |
-
|
236 |
-
|
237 |
-
|
|
|
238 |
}
|
239 |
|
240 |
.ocdi__gl-navigation ul {
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
}
|
246 |
|
247 |
.ocdi__gl-navigation li {
|
248 |
-
|
249 |
-
margin: 0 15px;
|
250 |
}
|
251 |
|
252 |
-
.ocdi__gl-navigation li.active a,
|
253 |
-
.ocdi__gl-navigation li.active a:hover {
|
254 |
-
|
|
|
255 |
}
|
256 |
|
257 |
.ocdi__gl-navigation li a {
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
|
|
|
|
|
|
|
|
264 |
}
|
265 |
|
266 |
.ocdi__gl-navigation li a:hover {
|
267 |
-
|
268 |
-
|
269 |
-
|
|
|
|
|
|
|
270 |
}
|
271 |
|
272 |
.ocdi__gl-search-input {
|
273 |
-
|
274 |
-
|
|
|
|
|
|
|
275 |
}
|
276 |
|
277 |
@media (min-width: 640px) {
|
278 |
-
|
279 |
-
|
280 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
|
282 |
-
|
283 |
-
|
284 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
285 |
|
286 |
-
|
287 |
-
|
288 |
-
|
|
|
289 |
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
height: 30px;
|
294 |
-
margin: 0;
|
295 |
-
margin-top: 11px;
|
296 |
-
}
|
297 |
|
298 |
-
|
299 |
-
|
300 |
-
|
|
|
|
|
|
|
301 |
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
306 |
}
|
307 |
|
308 |
@media (min-width: 1120px) {
|
309 |
-
|
310 |
-
|
311 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
312 |
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
|
|
317 |
}
|
318 |
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
324 |
|
325 |
-
|
326 |
-
|
327 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
328 |
}
|
329 |
|
330 |
.ocdi-is-fadeout {
|
331 |
-
|
|
|
332 |
}
|
333 |
|
334 |
.ocdi-is-fadein {
|
335 |
-
|
336 |
}
|
337 |
|
338 |
-
/* Grid layout modal window */
|
339 |
-
|
340 |
.ocdi__modal-image-container {
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
}
|
346 |
|
347 |
-
.ocdi__modal-
|
348 |
-
|
349 |
-
font-weight: bold;
|
350 |
}
|
351 |
|
352 |
-
.ocdi__modal-
|
353 |
-
|
|
|
354 |
}
|
355 |
|
356 |
.ocdi__modal-notice.ocdi__demo-import-notice:not(:empty) {
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
}
|
361 |
|
362 |
-
|
363 |
-
.
|
364 |
-
|
365 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#wpcontent {
|
2 |
+
padding-left: 0;
|
3 |
+
}
|
4 |
|
5 |
.ocdi {
|
6 |
+
max-width: none;
|
7 |
}
|
8 |
|
9 |
.ocdi h2 {
|
10 |
+
text-align: inherit;
|
11 |
+
font-size: 32px;
|
12 |
+
line-height: 39px;
|
13 |
+
font-weight: 500;
|
14 |
+
margin-bottom: 20px;
|
15 |
}
|
16 |
|
17 |
.ocdi h2:first-child,
|
18 |
.ocdi h3:first-child {
|
19 |
+
margin-top: 0;
|
20 |
}
|
21 |
|
22 |
.ocdi hr {
|
23 |
+
margin: 30px 0;
|
24 |
+
}
|
25 |
+
|
26 |
+
.ocdi .notice,
|
27 |
+
.ocdi .update-nag,
|
28 |
+
.ocdi #update-nag {
|
29 |
+
display: block !important;
|
30 |
+
margin: 0 0 30px 0;
|
31 |
+
}
|
32 |
+
|
33 |
+
.ocdi-notices-wrapper {
|
34 |
+
display: none;
|
35 |
+
}
|
36 |
+
|
37 |
+
.ocdi-notices-wrapper .notice,
|
38 |
+
.ocdi-notices-wrapper .update-nag,
|
39 |
+
.ocdi-notices-wrapper #update-nag {
|
40 |
+
margin: 0 0 15px 0;
|
41 |
+
}
|
42 |
+
|
43 |
+
.ocdi-notices-wrapper .notice:last-child,
|
44 |
+
.ocdi-notices-wrapper .update-nag:last-child,
|
45 |
+
.ocdi-notices-wrapper #update-nag:last-child {
|
46 |
+
margin-bottom: 30px;
|
47 |
+
}
|
48 |
+
|
49 |
+
.ocdi__admin-notices .ocdi-notices-wrapper {
|
50 |
+
display: block;
|
51 |
+
}
|
52 |
+
|
53 |
+
.ocdi-button-disabled {
|
54 |
+
opacity: 0.6 !important;
|
55 |
+
cursor: not-allowed !important;
|
56 |
+
}
|
57 |
+
|
58 |
+
.ocdi-content-notice {
|
59 |
+
padding: 25px;
|
60 |
+
background: #E5F5FA;
|
61 |
+
border-radius: 6px;
|
62 |
+
margin: 30px;
|
63 |
+
}
|
64 |
+
|
65 |
+
.ocdi-content-notice p {
|
66 |
+
font-size: 14px;
|
67 |
+
line-height: 24px;
|
68 |
+
color: #444444;
|
69 |
+
margin: 0 0 10px 0;
|
70 |
+
}
|
71 |
+
|
72 |
+
.ocdi-content-notice p:last-child {
|
73 |
+
margin-bottom: 0;
|
74 |
+
}
|
75 |
+
|
76 |
+
.ocdi-importing, .ocdi-imported {
|
77 |
+
display: none;
|
78 |
+
text-align: center;
|
79 |
+
padding: 30px;
|
80 |
+
}
|
81 |
+
|
82 |
+
.ocdi-importing p, .ocdi-imported p {
|
83 |
+
font-size: 16px;
|
84 |
+
line-height: 19px;
|
85 |
+
font-weight: 300;
|
86 |
+
color: #444444;
|
87 |
+
margin: 0 0 10px 0;
|
88 |
+
}
|
89 |
+
|
90 |
+
.ocdi-importing p:last-child, .ocdi-imported p:last-child {
|
91 |
+
margin-bottom: 0;
|
92 |
+
}
|
93 |
+
|
94 |
+
.ocdi-importing-header h2, .ocdi-imported-header h2 {
|
95 |
+
font-size: 24px;
|
96 |
+
line-height: 29px;
|
97 |
+
margin-bottom: 10px;
|
98 |
+
}
|
99 |
+
|
100 |
+
.ocdi-importing-header p, .ocdi-imported-header p {
|
101 |
+
margin-bottom: 5px;
|
102 |
+
}
|
103 |
+
|
104 |
+
.ocdi-importing-header p:last-child, .ocdi-imported-header p:last-child {
|
105 |
+
margin-bottom: 0;
|
106 |
+
}
|
107 |
+
|
108 |
+
.ocdi-importing-content, .ocdi-imported-content {
|
109 |
+
margin: 0 20px;
|
110 |
+
}
|
111 |
+
|
112 |
+
.ocdi-importing-content-importing, .ocdi-imported-content-importing {
|
113 |
+
width: 415px;
|
114 |
+
height: 228px;
|
115 |
+
margin: 50px 0 20px 0;
|
116 |
+
}
|
117 |
+
|
118 |
+
.ocdi-importing-content-imported, .ocdi-imported-content-imported {
|
119 |
+
margin: 80px 0 50px 0;
|
120 |
+
}
|
121 |
+
|
122 |
+
.ocdi-importing-content-imported--success, .ocdi-imported-content-imported--success {
|
123 |
+
width: 156px;
|
124 |
+
height: 124px;
|
125 |
+
}
|
126 |
+
|
127 |
+
.ocdi-importing-content-imported--error, .ocdi-importing-content-imported--warning, .ocdi-imported-content-imported--error, .ocdi-imported-content-imported--warning {
|
128 |
+
width: 124px;
|
129 |
+
height: 124px;
|
130 |
+
}
|
131 |
+
|
132 |
+
.ocdi-importing-content .notice, .ocdi-imported-content .notice {
|
133 |
+
text-align: left;
|
134 |
+
margin: 30px 0;
|
135 |
+
}
|
136 |
+
|
137 |
+
.ocdi-importing-content .notice p, .ocdi-imported-content .notice p {
|
138 |
+
padding: 15px 3px;
|
139 |
+
font-size: 14px;
|
140 |
+
line-height: 22px;
|
141 |
+
color: #777777;
|
142 |
+
}
|
143 |
+
|
144 |
+
.ocdi-importing-footer, .ocdi-imported-footer {
|
145 |
+
display: -webkit-box;
|
146 |
+
display: -ms-flexbox;
|
147 |
+
display: flex;
|
148 |
+
-webkit-box-pack: center;
|
149 |
+
-ms-flex-pack: center;
|
150 |
+
justify-content: center;
|
151 |
+
-webkit-box-align: center;
|
152 |
+
-ms-flex-align: center;
|
153 |
+
align-items: center;
|
154 |
+
-ms-flex-wrap: wrap;
|
155 |
+
flex-wrap: wrap;
|
156 |
+
min-height: 100px;
|
157 |
+
background-color: #F8F8F8;
|
158 |
+
border-top: 1px solid #dddddd;
|
159 |
+
margin: 30px -30px -30px;
|
160 |
+
}
|
161 |
+
|
162 |
+
.ocdi-importing-footer a.button, .ocdi-imported-footer a.button {
|
163 |
+
-webkit-box-flex: 0;
|
164 |
+
-ms-flex: 0 1 25%;
|
165 |
+
flex: 0 1 25%;
|
166 |
+
margin-right: 30px;
|
167 |
+
}
|
168 |
+
|
169 |
+
.ocdi-importing-footer a.button:last-child, .ocdi-imported-footer a.button:last-child {
|
170 |
+
margin-right: 0;
|
171 |
+
}
|
172 |
+
|
173 |
+
.ocdi .button.button-hero {
|
174 |
+
font-size: 16px;
|
175 |
+
line-height: 20px;
|
176 |
+
font-weight: 500;
|
177 |
+
min-height: 40px;
|
178 |
+
padding: 9px 18px;
|
179 |
+
}
|
180 |
+
|
181 |
+
.ocdi .button.button-hero.ocdi__button.button-primary:disabled, .ocdi .button.button-hero.ocdi__button.button-primary[disabled] {
|
182 |
+
color: #ffffff !important;
|
183 |
+
background: #999999 !important;
|
184 |
+
border-color: #999999 !important;
|
185 |
+
opacity: 0.5;
|
186 |
+
}
|
187 |
+
|
188 |
+
.ocdi__redux-option-name-input {
|
189 |
+
margin-left: 10px;
|
190 |
+
width: 137px;
|
191 |
+
border-radius: 3px !important;
|
192 |
+
padding: 0 10px !important;
|
193 |
+
font-size: 13px !important;
|
194 |
+
line-height: 16px !important;
|
195 |
+
}
|
196 |
+
|
197 |
+
.ocdi-hide-input {
|
198 |
+
width: 0.1px !important;
|
199 |
+
height: 0.1px !important;
|
200 |
+
opacity: 0 !important;
|
201 |
+
overflow: hidden !important;
|
202 |
+
position: absolute !important;
|
203 |
+
z-index: -1 !important;
|
204 |
}
|
205 |
|
206 |
.feature-section + hr {
|
207 |
+
margin-top: 0;
|
208 |
}
|
209 |
|
210 |
#wpbody select {
|
211 |
+
height: auto;
|
212 |
+
padding: .62em;
|
213 |
+
line-height: inherit;
|
214 |
}
|
215 |
|
216 |
+
.ocdi__title-container {
|
217 |
+
height: 30px;
|
218 |
+
background-color: #ffffff;
|
219 |
+
padding: 20px 30px;
|
220 |
+
-webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.07);
|
221 |
+
box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.07);
|
222 |
+
display: -webkit-box;
|
223 |
+
display: -ms-flexbox;
|
224 |
+
display: flex;
|
225 |
+
-webkit-box-align: center;
|
226 |
+
-ms-flex-align: center;
|
227 |
+
align-items: center;
|
228 |
+
-webkit-box-pack: justify;
|
229 |
+
-ms-flex-pack: justify;
|
230 |
+
justify-content: space-between;
|
231 |
}
|
232 |
|
233 |
+
.ocdi__title-container-title {
|
234 |
+
margin: 0;
|
235 |
+
font-size: 24px;
|
236 |
+
line-height: 29px;
|
237 |
+
font-weight: 700;
|
238 |
+
}
|
239 |
+
|
240 |
+
.ocdi__title-container-icon {
|
241 |
+
width: 19px;
|
242 |
+
height: 19px;
|
243 |
+
}
|
244 |
+
|
245 |
+
.ocdi__content-container {
|
246 |
+
padding: 30px;
|
247 |
+
}
|
248 |
+
|
249 |
+
.ocdi__content-container-content {
|
250 |
+
display: -webkit-box;
|
251 |
+
display: -ms-flexbox;
|
252 |
+
display: flex;
|
253 |
+
}
|
254 |
+
|
255 |
+
.ocdi__content-container-content--main {
|
256 |
+
-webkit-box-flex: 1;
|
257 |
+
-ms-flex: 1;
|
258 |
+
flex: 1;
|
259 |
+
margin-right: 30px;
|
260 |
+
background: #ffffff;
|
261 |
+
-webkit-box-sizing: border-box;
|
262 |
+
box-sizing: border-box;
|
263 |
+
border: 1px solid #dddddd;
|
264 |
+
-webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.07);
|
265 |
+
box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.07);
|
266 |
+
}
|
267 |
+
|
268 |
+
.ocdi__content-container-content--side {
|
269 |
+
width: 373px;
|
270 |
+
}
|
271 |
+
|
272 |
+
.ocdi__content-container-content--side .ocdi__card-content {
|
273 |
+
padding: 0;
|
274 |
+
}
|
275 |
+
|
276 |
+
.ocdi__content-container-content--side .screenshot {
|
277 |
+
height: 278px;
|
278 |
+
}
|
279 |
+
|
280 |
+
.ocdi__content-container-content--side .screenshot.blank {
|
281 |
+
border: 1px solid #CCD0D4;
|
282 |
+
-webkit-filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.07));
|
283 |
+
filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.07));
|
284 |
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=);
|
285 |
+
}
|
286 |
+
|
287 |
+
.ocdi__content-container-content--side .ocdi__card-footer {
|
288 |
+
padding: 15px;
|
289 |
+
}
|
290 |
+
|
291 |
+
.ocdi__content-container-content--side .ocdi__card-footer h3 {
|
292 |
+
font-size: 16px;
|
293 |
+
line-height: 19px;
|
294 |
+
font-weight: 500;
|
295 |
+
margin: 0;
|
296 |
+
}
|
297 |
+
|
298 |
+
.ocdi__content-container-content--side img {
|
299 |
+
width: 100%;
|
300 |
+
}
|
301 |
+
|
302 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-header,
|
303 |
+
.ocdi__content-container-content .ocdi-create-content-header {
|
304 |
+
padding: 30px;
|
305 |
+
border-bottom: 1px solid #dddddd;
|
306 |
+
}
|
307 |
+
|
308 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-header h2,
|
309 |
+
.ocdi__content-container-content .ocdi-create-content-header h2 {
|
310 |
+
font-size: 22px;
|
311 |
+
line-height: 26px;
|
312 |
+
font-weight: normal;
|
313 |
+
margin: 0 0 6px 0;
|
314 |
+
}
|
315 |
+
|
316 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-header p,
|
317 |
+
.ocdi__content-container-content .ocdi-create-content-header p {
|
318 |
+
font-size: 16px;
|
319 |
+
line-height: 22px;
|
320 |
+
font-weight: 300;
|
321 |
+
color: #444444;
|
322 |
+
margin: 0 0 10px 0;
|
323 |
+
}
|
324 |
+
|
325 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-header p:last-child,
|
326 |
+
.ocdi__content-container-content .ocdi-create-content-header p:last-child {
|
327 |
+
margin: 0;
|
328 |
+
}
|
329 |
+
|
330 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-header .notice,
|
331 |
+
.ocdi__content-container-content .ocdi-create-content-header .notice {
|
332 |
+
margin: 30px 0 0;
|
333 |
+
}
|
334 |
+
|
335 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-header .notice p,
|
336 |
+
.ocdi__content-container-content .ocdi-create-content-header .notice p {
|
337 |
+
margin: .5em 0;
|
338 |
+
font-size: 13px;
|
339 |
+
line-height: 1.5;
|
340 |
+
color: #3c434a;
|
341 |
+
font-weight: normal;
|
342 |
+
}
|
343 |
+
|
344 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item,
|
345 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item,
|
346 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item,
|
347 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item {
|
348 |
+
display: -webkit-box;
|
349 |
+
display: -ms-flexbox;
|
350 |
+
display: flex;
|
351 |
+
-webkit-box-pack: justify;
|
352 |
+
-ms-flex-pack: justify;
|
353 |
+
justify-content: space-between;
|
354 |
+
-webkit-box-align: center;
|
355 |
+
-ms-flex-align: center;
|
356 |
+
align-items: center;
|
357 |
+
margin: 0 30px;
|
358 |
+
padding: 25px 0;
|
359 |
+
border-bottom: 1px solid #eeeeee;
|
360 |
+
}
|
361 |
+
|
362 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .ocdi-loading,
|
363 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .ocdi-loading,
|
364 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item .ocdi-loading,
|
365 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item .ocdi-loading {
|
366 |
+
display: none;
|
367 |
+
}
|
368 |
+
|
369 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--active,
|
370 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--active,
|
371 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item--active,
|
372 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item--active {
|
373 |
+
cursor: default;
|
374 |
+
}
|
375 |
+
|
376 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--active .plugin-item-checkbox input[type=checkbox]:checked + .checkbox,
|
377 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--active .content-item-checkbox input[type=checkbox]:checked + .checkbox,
|
378 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--active .plugin-item-checkbox input[type=checkbox]:checked + .checkbox,
|
379 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--active .content-item-checkbox input[type=checkbox]:checked + .checkbox,
|
380 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item--active .plugin-item-checkbox input[type=checkbox]:checked + .checkbox,
|
381 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item--active .content-item-checkbox input[type=checkbox]:checked + .checkbox,
|
382 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item--active .plugin-item-checkbox input[type=checkbox]:checked + .checkbox,
|
383 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item--active .content-item-checkbox input[type=checkbox]:checked + .checkbox {
|
384 |
+
border: none;
|
385 |
+
background: #64B450;
|
386 |
+
}
|
387 |
+
|
388 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--active .plugin-item-checkbox input[type=checkbox]:checked + .checkbox .ocdi-check-icon,
|
389 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--active .content-item-checkbox input[type=checkbox]:checked + .checkbox .ocdi-check-icon,
|
390 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--active .plugin-item-checkbox input[type=checkbox]:checked + .checkbox .ocdi-check-icon,
|
391 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--active .content-item-checkbox input[type=checkbox]:checked + .checkbox .ocdi-check-icon,
|
392 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item--active .plugin-item-checkbox input[type=checkbox]:checked + .checkbox .ocdi-check-icon,
|
393 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item--active .content-item-checkbox input[type=checkbox]:checked + .checkbox .ocdi-check-icon,
|
394 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item--active .plugin-item-checkbox input[type=checkbox]:checked + .checkbox .ocdi-check-icon,
|
395 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item--active .content-item-checkbox input[type=checkbox]:checked + .checkbox .ocdi-check-icon {
|
396 |
+
display: inline-block;
|
397 |
+
}
|
398 |
+
|
399 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--active .plugin-item-checkbox input[type=checkbox]:checked + .checkbox::after,
|
400 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--active .content-item-checkbox input[type=checkbox]:checked + .checkbox::after,
|
401 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--active .plugin-item-checkbox input[type=checkbox]:checked + .checkbox::after,
|
402 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--active .content-item-checkbox input[type=checkbox]:checked + .checkbox::after,
|
403 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item--active .plugin-item-checkbox input[type=checkbox]:checked + .checkbox::after,
|
404 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item--active .content-item-checkbox input[type=checkbox]:checked + .checkbox::after,
|
405 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item--active .plugin-item-checkbox input[type=checkbox]:checked + .checkbox::after,
|
406 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item--active .content-item-checkbox input[type=checkbox]:checked + .checkbox::after {
|
407 |
+
display: none !important;
|
408 |
+
}
|
409 |
+
|
410 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--required,
|
411 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--required,
|
412 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item--required,
|
413 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item--required {
|
414 |
+
cursor: default;
|
415 |
+
}
|
416 |
+
|
417 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--loading .ocdi-loading,
|
418 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--loading .ocdi-loading,
|
419 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item--loading .ocdi-loading,
|
420 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item--loading .ocdi-loading {
|
421 |
+
display: block;
|
422 |
+
}
|
423 |
+
|
424 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--loading .plugin-item-checkbox input[type=checkbox] + .checkbox,
|
425 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--loading .content-item-checkbox input[type=checkbox] + .checkbox,
|
426 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--loading .plugin-item-checkbox input[type=checkbox] + .checkbox,
|
427 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--loading .content-item-checkbox input[type=checkbox] + .checkbox,
|
428 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item--loading .plugin-item-checkbox input[type=checkbox] + .checkbox,
|
429 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item--loading .content-item-checkbox input[type=checkbox] + .checkbox,
|
430 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item--loading .plugin-item-checkbox input[type=checkbox] + .checkbox,
|
431 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item--loading .content-item-checkbox input[type=checkbox] + .checkbox {
|
432 |
+
border: none !important;
|
433 |
+
}
|
434 |
+
|
435 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--loading .plugin-item-checkbox input[type=checkbox] + .checkbox .ocdi-lock-icon,
|
436 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--loading .content-item-checkbox input[type=checkbox] + .checkbox .ocdi-lock-icon,
|
437 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--loading .plugin-item-checkbox input[type=checkbox] + .checkbox .ocdi-lock-icon,
|
438 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--loading .content-item-checkbox input[type=checkbox] + .checkbox .ocdi-lock-icon,
|
439 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item--loading .plugin-item-checkbox input[type=checkbox] + .checkbox .ocdi-lock-icon,
|
440 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item--loading .content-item-checkbox input[type=checkbox] + .checkbox .ocdi-lock-icon,
|
441 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item--loading .plugin-item-checkbox input[type=checkbox] + .checkbox .ocdi-lock-icon,
|
442 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item--loading .content-item-checkbox input[type=checkbox] + .checkbox .ocdi-lock-icon {
|
443 |
+
display: none !important;
|
444 |
+
}
|
445 |
+
|
446 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--loading .plugin-item-checkbox input[type=checkbox] + .checkbox::after,
|
447 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--loading .content-item-checkbox input[type=checkbox] + .checkbox::after,
|
448 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--loading .plugin-item-checkbox input[type=checkbox] + .checkbox::after,
|
449 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--loading .content-item-checkbox input[type=checkbox] + .checkbox::after,
|
450 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item--loading .plugin-item-checkbox input[type=checkbox] + .checkbox::after,
|
451 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item--loading .content-item-checkbox input[type=checkbox] + .checkbox::after,
|
452 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item--loading .plugin-item-checkbox input[type=checkbox] + .checkbox::after,
|
453 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item--loading .content-item-checkbox input[type=checkbox] + .checkbox::after {
|
454 |
+
display: none !important;
|
455 |
+
}
|
456 |
+
|
457 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item-content,
|
458 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item-content,
|
459 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item-content,
|
460 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item-content {
|
461 |
+
margin-right: 15px;
|
462 |
+
}
|
463 |
+
|
464 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item-content-title,
|
465 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item-content-title,
|
466 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item-content-title,
|
467 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item-content-title {
|
468 |
+
display: -webkit-box;
|
469 |
+
display: -ms-flexbox;
|
470 |
+
display: flex;
|
471 |
+
-webkit-box-align: center;
|
472 |
+
-ms-flex-align: center;
|
473 |
+
align-items: center;
|
474 |
+
margin: 0 0 4px 0;
|
475 |
+
}
|
476 |
+
|
477 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item-content-title span,
|
478 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item-content-title span,
|
479 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item-content-title span,
|
480 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item-content-title span {
|
481 |
+
margin-left: 5px;
|
482 |
+
background-color: #FFB900;
|
483 |
+
width: 16px;
|
484 |
+
height: 16px;
|
485 |
+
border-radius: 8px;
|
486 |
+
margin-top: -1px;
|
487 |
+
}
|
488 |
+
|
489 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item-content-title span img,
|
490 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item-content-title span img,
|
491 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item-content-title span img,
|
492 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item-content-title span img {
|
493 |
+
width: 10px;
|
494 |
+
height: 10px;
|
495 |
+
margin: 3px;
|
496 |
+
}
|
497 |
+
|
498 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item-info p,
|
499 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item-info p,
|
500 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item-info p,
|
501 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item-info p {
|
502 |
+
color: #00a32a !important;
|
503 |
+
}
|
504 |
+
|
505 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item-error p,
|
506 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item-error p,
|
507 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item-error p,
|
508 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item-error p {
|
509 |
+
color: #d63638 !important;
|
510 |
+
}
|
511 |
+
|
512 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item:last-child,
|
513 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item:last-child,
|
514 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item:last-child,
|
515 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item:last-child {
|
516 |
+
padding-bottom: 30px;
|
517 |
+
border-bottom: none;
|
518 |
+
}
|
519 |
+
|
520 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item label,
|
521 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item label,
|
522 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item label,
|
523 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item label {
|
524 |
+
display: block;
|
525 |
+
}
|
526 |
+
|
527 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item h3,
|
528 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item h3,
|
529 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item h3,
|
530 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item h3 {
|
531 |
+
font-size: 18px;
|
532 |
+
line-height: 22px;
|
533 |
+
color: #444444;
|
534 |
+
font-weight: 500;
|
535 |
+
margin: 0;
|
536 |
+
}
|
537 |
+
|
538 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item p,
|
539 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item p,
|
540 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item p,
|
541 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item p {
|
542 |
+
font-size: 14px;
|
543 |
+
line-height: 17px;
|
544 |
+
color: #777777;
|
545 |
+
margin: 0 0 6px 0;
|
546 |
+
}
|
547 |
+
|
548 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item p:last-child,
|
549 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item p:last-child,
|
550 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item p:last-child,
|
551 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item p:last-child {
|
552 |
+
margin: 0;
|
553 |
+
}
|
554 |
+
|
555 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .plugin-item-checkbox .checkbox,
|
556 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .content-item-checkbox .checkbox,
|
557 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .plugin-item-checkbox .checkbox,
|
558 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .content-item-checkbox .checkbox,
|
559 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item .plugin-item-checkbox .checkbox,
|
560 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item .content-item-checkbox .checkbox,
|
561 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item .plugin-item-checkbox .checkbox,
|
562 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item .content-item-checkbox .checkbox {
|
563 |
+
-webkit-box-sizing: border-box;
|
564 |
+
box-sizing: border-box;
|
565 |
+
position: relative;
|
566 |
+
display: block;
|
567 |
+
background: #f1f1f1;
|
568 |
+
width: 32px;
|
569 |
+
height: 32px;
|
570 |
+
border-radius: 16px;
|
571 |
+
border: 1px solid #dddddd;
|
572 |
+
}
|
573 |
+
|
574 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .plugin-item-checkbox .checkbox .ocdi-check-icon,
|
575 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .content-item-checkbox .checkbox .ocdi-check-icon,
|
576 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .plugin-item-checkbox .checkbox .ocdi-check-icon,
|
577 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .content-item-checkbox .checkbox .ocdi-check-icon,
|
578 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item .plugin-item-checkbox .checkbox .ocdi-check-icon,
|
579 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item .content-item-checkbox .checkbox .ocdi-check-icon,
|
580 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item .plugin-item-checkbox .checkbox .ocdi-check-icon,
|
581 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item .content-item-checkbox .checkbox .ocdi-check-icon {
|
582 |
+
display: none;
|
583 |
+
width: 20px;
|
584 |
+
height: 20px;
|
585 |
+
margin: 6px;
|
586 |
+
}
|
587 |
+
|
588 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .plugin-item-checkbox .checkbox .ocdi-lock-icon,
|
589 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .content-item-checkbox .checkbox .ocdi-lock-icon,
|
590 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .plugin-item-checkbox .checkbox .ocdi-lock-icon,
|
591 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .content-item-checkbox .checkbox .ocdi-lock-icon,
|
592 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item .plugin-item-checkbox .checkbox .ocdi-lock-icon,
|
593 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item .content-item-checkbox .checkbox .ocdi-lock-icon,
|
594 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item .plugin-item-checkbox .checkbox .ocdi-lock-icon,
|
595 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item .content-item-checkbox .checkbox .ocdi-lock-icon {
|
596 |
+
position: absolute;
|
597 |
+
width: 14px;
|
598 |
+
height: 17px;
|
599 |
+
bottom: -5px;
|
600 |
+
right: -2px;
|
601 |
+
}
|
602 |
+
|
603 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .plugin-item-checkbox input[type=checkbox],
|
604 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .content-item-checkbox input[type=checkbox],
|
605 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .plugin-item-checkbox input[type=checkbox],
|
606 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .content-item-checkbox input[type=checkbox],
|
607 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item .plugin-item-checkbox input[type=checkbox],
|
608 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item .content-item-checkbox input[type=checkbox],
|
609 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item .plugin-item-checkbox input[type=checkbox],
|
610 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item .content-item-checkbox input[type=checkbox] {
|
611 |
+
display: none;
|
612 |
+
}
|
613 |
+
|
614 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .plugin-item-checkbox input[type=checkbox]:checked + .checkbox::after,
|
615 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .content-item-checkbox input[type=checkbox]:checked + .checkbox::after,
|
616 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .plugin-item-checkbox input[type=checkbox]:checked + .checkbox::after,
|
617 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .content-item-checkbox input[type=checkbox]:checked + .checkbox::after,
|
618 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item .plugin-item-checkbox input[type=checkbox]:checked + .checkbox::after,
|
619 |
+
.ocdi__content-container-content .ocdi-create-content-content .plugin-item .content-item-checkbox input[type=checkbox]:checked + .checkbox::after,
|
620 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item .plugin-item-checkbox input[type=checkbox]:checked + .checkbox::after,
|
621 |
+
.ocdi__content-container-content .ocdi-create-content-content .content-item .content-item-checkbox input[type=checkbox]:checked + .checkbox::after {
|
622 |
+
content: '';
|
623 |
+
display: block;
|
624 |
+
font-size: 10px;
|
625 |
+
background: #007cba;
|
626 |
+
width: 20px;
|
627 |
+
height: 20px;
|
628 |
+
border-radius: 10px;
|
629 |
+
margin: 5px;
|
630 |
+
}
|
631 |
+
|
632 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content-notice,
|
633 |
+
.ocdi__content-container-content .ocdi-create-content-content-notice {
|
634 |
+
display: none;
|
635 |
+
padding: 25px;
|
636 |
+
background: #E5F5FA;
|
637 |
+
border-radius: 6px;
|
638 |
+
margin: -10px 30px 30px 30px;
|
639 |
+
}
|
640 |
+
|
641 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content-notice p,
|
642 |
+
.ocdi__content-container-content .ocdi-create-content-content-notice p {
|
643 |
+
font-size: 14px;
|
644 |
+
line-height: 24px;
|
645 |
+
color: #444444;
|
646 |
+
margin: 0 0 10px 0;
|
647 |
+
}
|
648 |
+
|
649 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-content-notice p:last-child,
|
650 |
+
.ocdi__content-container-content .ocdi-create-content-content-notice p:last-child {
|
651 |
+
margin-bottom: 0;
|
652 |
+
}
|
653 |
+
|
654 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-footer,
|
655 |
+
.ocdi__content-container-content .ocdi-create-content-footer {
|
656 |
+
padding: 30px;
|
657 |
+
background: #fafafa;
|
658 |
+
border-top: 1px solid #dddddd;
|
659 |
+
display: -webkit-box;
|
660 |
+
display: -ms-flexbox;
|
661 |
+
display: flex;
|
662 |
+
-webkit-box-pack: justify;
|
663 |
+
-ms-flex-pack: justify;
|
664 |
+
justify-content: space-between;
|
665 |
+
-webkit-box-align: center;
|
666 |
+
-ms-flex-align: center;
|
667 |
+
align-items: center;
|
668 |
+
}
|
669 |
+
|
670 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-footer .button,
|
671 |
+
.ocdi__content-container-content .ocdi-create-content-footer .button {
|
672 |
+
font-size: 16px;
|
673 |
+
line-height: 19px;
|
674 |
+
padding: 10px 18px;
|
675 |
+
display: -webkit-box;
|
676 |
+
display: -ms-flexbox;
|
677 |
+
display: flex;
|
678 |
+
-webkit-box-align: center;
|
679 |
+
-ms-flex-align: center;
|
680 |
+
align-items: center;
|
681 |
+
}
|
682 |
+
|
683 |
+
.ocdi__content-container-content .ocdi-install-plugins-content-footer .button img,
|
684 |
+
.ocdi__content-container-content .ocdi-create-content-footer .button img {
|
685 |
+
width: 16px;
|
686 |
+
height: auto;
|
687 |
+
margin-right: 5px;
|
688 |
+
}
|
689 |
+
|
690 |
+
.ocdi__intro-text p {
|
691 |
+
font-size: 18px;
|
692 |
+
line-height: 26px;
|
693 |
+
font-weight: 300;
|
694 |
+
color: #666666;
|
695 |
+
margin: 0 0 24px;
|
696 |
+
}
|
697 |
+
|
698 |
+
.ocdi__intro-text ul {
|
699 |
+
padding: 0 4%;
|
700 |
+
list-style-type: square;
|
701 |
+
}
|
702 |
+
|
703 |
+
.ocdi__theme-about {
|
704 |
+
margin-bottom: 30px;
|
705 |
+
display: -webkit-box;
|
706 |
+
display: -ms-flexbox;
|
707 |
+
display: flex;
|
708 |
+
-webkit-box-pack: justify;
|
709 |
+
-ms-flex-pack: justify;
|
710 |
+
justify-content: space-between;
|
711 |
+
}
|
712 |
+
|
713 |
+
.ocdi__theme-about-screenshots {
|
714 |
+
-webkit-box-flex: 11;
|
715 |
+
-ms-flex: 11;
|
716 |
+
flex: 11;
|
717 |
+
margin-right: 30px;
|
718 |
+
}
|
719 |
+
|
720 |
+
.ocdi__theme-about-screenshots .screenshot {
|
721 |
+
-webkit-box-sizing: border-box;
|
722 |
+
box-sizing: border-box;
|
723 |
+
}
|
724 |
+
|
725 |
+
.ocdi__theme-about-screenshots .screenshot img {
|
726 |
+
border: 1px solid #CCD0D4;
|
727 |
+
-webkit-filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.07));
|
728 |
+
filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.07));
|
729 |
+
}
|
730 |
+
|
731 |
+
.ocdi__theme-about-screenshots .screenshot.blank {
|
732 |
+
border: 1px solid #CCD0D4;
|
733 |
+
-webkit-filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.07));
|
734 |
+
filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.07));
|
735 |
+
min-height: 500px;
|
736 |
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=);
|
737 |
+
}
|
738 |
+
|
739 |
+
.ocdi__theme-about-screenshots img {
|
740 |
+
width: 100%;
|
741 |
+
}
|
742 |
+
|
743 |
+
.ocdi__theme-about-info {
|
744 |
+
-webkit-box-flex: 10;
|
745 |
+
-ms-flex: 10;
|
746 |
+
flex: 10;
|
747 |
+
display: -webkit-box;
|
748 |
+
display: -ms-flexbox;
|
749 |
+
display: flex;
|
750 |
+
-webkit-box-orient: vertical;
|
751 |
+
-webkit-box-direction: normal;
|
752 |
+
-ms-flex-direction: column;
|
753 |
+
flex-direction: column;
|
754 |
+
-webkit-box-pack: justify;
|
755 |
+
-ms-flex-pack: justify;
|
756 |
+
justify-content: space-between;
|
757 |
+
}
|
758 |
+
|
759 |
+
.ocdi__theme-about-info .theme-title {
|
760 |
+
display: -webkit-box;
|
761 |
+
display: -ms-flexbox;
|
762 |
+
display: flex;
|
763 |
+
-webkit-box-align: baseline;
|
764 |
+
-ms-flex-align: baseline;
|
765 |
+
align-items: baseline;
|
766 |
+
}
|
767 |
+
|
768 |
+
.ocdi__theme-about-info .theme-title .theme-name {
|
769 |
+
margin-bottom: 16px;
|
770 |
+
}
|
771 |
+
|
772 |
+
.ocdi__theme-about-info .theme-title .theme-version {
|
773 |
+
margin-left: 10px;
|
774 |
+
color: #72777C;
|
775 |
+
font-size: 13px;
|
776 |
+
line-height: 16px;
|
777 |
+
}
|
778 |
+
|
779 |
+
.ocdi__theme-about-info .theme-author {
|
780 |
+
font-size: 16px;
|
781 |
+
line-height: 19px;
|
782 |
+
color: #72777C;
|
783 |
+
margin: 0 0 20px;
|
784 |
+
}
|
785 |
+
|
786 |
+
.ocdi__theme-about-info .theme-description {
|
787 |
+
font-size: 16px;
|
788 |
+
line-height: 24px;
|
789 |
+
color: #555555;
|
790 |
+
margin: 0 0 20px;
|
791 |
+
}
|
792 |
+
|
793 |
+
.ocdi__theme-about-info .theme-tags {
|
794 |
+
font-size: 13px;
|
795 |
+
line-height: 20px;
|
796 |
+
color: #555555;
|
797 |
+
margin: 4px 0 0;
|
798 |
+
}
|
799 |
+
|
800 |
+
.ocdi__theme-about-info .theme-tags span {
|
801 |
+
font-weight: 700;
|
802 |
+
}
|
803 |
+
|
804 |
+
.ocdi__theme-about-info .ocdi-import-mode-switch {
|
805 |
+
float: right;
|
806 |
+
font-size: 14px;
|
807 |
+
line-height: 17px;
|
808 |
+
}
|
809 |
+
|
810 |
+
@media (max-width: 880px) {
|
811 |
+
.ocdi__theme-about {
|
812 |
+
-webkit-box-orient: vertical;
|
813 |
+
-webkit-box-direction: normal;
|
814 |
+
-ms-flex-direction: column;
|
815 |
+
flex-direction: column;
|
816 |
+
}
|
817 |
+
.ocdi__theme-about-screenshots {
|
818 |
+
margin: 0 0 30px 0;
|
819 |
+
}
|
820 |
+
}
|
821 |
|
822 |
.ocdi__demo-import-files {
|
823 |
+
width: 100%;
|
824 |
}
|
825 |
|
826 |
.ocdi__demo-import-preview-image-message {
|
827 |
+
font-style: italic;
|
828 |
}
|
829 |
|
|
|
|
|
830 |
.ocdi__title:before {
|
831 |
+
width: auto;
|
832 |
+
height: auto;
|
833 |
+
font-size: inherit;
|
834 |
}
|
835 |
|
836 |
+
.ocdi__multi-select-import, .ocdi__demo-import-notice:not(:empty) {
|
837 |
+
padding: 20px;
|
838 |
+
margin: 30px 0;
|
839 |
+
font-size: 14px;
|
840 |
+
line-height: 19px;
|
841 |
+
background-color: #ffffff;
|
842 |
+
border: 1px solid #e5e5e5;
|
843 |
+
}
|
844 |
|
845 |
+
.ocdi__file-upload-container {
|
846 |
+
border: 1px solid #dddddd;
|
847 |
+
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.07);
|
848 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.07);
|
849 |
}
|
850 |
|
851 |
+
.ocdi__file-upload-container--header {
|
852 |
+
padding: 30px;
|
853 |
+
border-bottom: 1px solid #dddddd;
|
854 |
+
background-color: #ffffff;
|
855 |
}
|
856 |
|
857 |
+
.ocdi__file-upload-container--header h2 {
|
858 |
+
font-size: 22px;
|
859 |
+
line-height: 27px;
|
860 |
+
margin: 0;
|
861 |
+
}
|
862 |
|
863 |
+
.ocdi__file-upload-container-items {
|
864 |
+
padding: 30px 30px 0 30px;
|
865 |
+
background-color: #ffffff;
|
866 |
+
display: -webkit-box;
|
867 |
+
display: -ms-flexbox;
|
868 |
+
display: flex;
|
869 |
+
-ms-flex-wrap: wrap;
|
870 |
+
flex-wrap: wrap;
|
871 |
}
|
872 |
|
873 |
+
.ocdi__file-upload-container-items--second-row {
|
874 |
+
padding-top: 0;
|
|
|
875 |
}
|
876 |
|
877 |
+
.ocdi__file-upload-container-items .ocdi__card {
|
878 |
+
-webkit-box-shadow: none;
|
879 |
+
box-shadow: none;
|
|
|
880 |
}
|
881 |
|
882 |
+
.ocdi__file-upload-container-items .ocdi__card-content {
|
883 |
+
position: relative;
|
|
|
|
|
|
|
884 |
}
|
885 |
|
886 |
+
.ocdi__file-upload-container-items .ocdi__card-content-info {
|
887 |
+
position: absolute;
|
888 |
+
right: 10px;
|
889 |
+
top: 10px;
|
890 |
}
|
891 |
|
892 |
+
.ocdi__file-upload-container-items .ocdi__card-content-info img {
|
893 |
+
width: 16px;
|
894 |
+
height: 16px;
|
895 |
+
}
|
896 |
|
897 |
+
.ocdi__file-upload-container--footer {
|
898 |
+
padding: 30px;
|
899 |
+
background-color: #fafafa;
|
900 |
+
border-top: 1px solid #dddddd;
|
901 |
+
display: -webkit-box;
|
902 |
+
display: -ms-flexbox;
|
903 |
+
display: flex;
|
904 |
+
-webkit-box-pack: justify;
|
905 |
+
-ms-flex-pack: justify;
|
906 |
+
justify-content: space-between;
|
907 |
+
-webkit-box-align: center;
|
908 |
+
-ms-flex-align: center;
|
909 |
+
align-items: center;
|
910 |
}
|
911 |
|
912 |
+
.ocdi__demo-import-notice:not(:empty) {
|
913 |
+
border: 0;
|
914 |
+
border-left: 4px solid #00a0d2;
|
915 |
+
-webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
|
916 |
+
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
|
917 |
+
}
|
918 |
|
919 |
+
[dir="rtl"] .ocdi__demo-import-notice:not(:empty) {
|
920 |
+
border: 0;
|
921 |
+
border-right: 4px solid #00a0d2;
|
922 |
}
|
923 |
|
924 |
+
.ocdi__button-container {
|
925 |
+
margin-top: 30px;
|
|
|
|
|
|
|
926 |
}
|
927 |
|
928 |
+
.ocdi__ajax-loader {
|
929 |
+
font-size: 1.5em;
|
930 |
+
}
|
931 |
|
932 |
+
.ocdi__ajax-loader .spinner {
|
933 |
+
display: inline-block;
|
934 |
+
float: none;
|
935 |
+
visibility: visible;
|
936 |
+
margin-bottom: 6px;
|
937 |
+
}
|
938 |
|
939 |
.ocdi__gl-navigation li a {
|
940 |
+
-webkit-box-shadow: none;
|
941 |
+
box-shadow: none;
|
942 |
+
}
|
943 |
+
|
944 |
+
.ocdi__gl-item-container {
|
945 |
+
display: -webkit-box;
|
946 |
+
display: -ms-flexbox;
|
947 |
+
display: flex;
|
948 |
+
-ms-flex-wrap: wrap;
|
949 |
+
flex-wrap: wrap;
|
950 |
}
|
951 |
|
952 |
.ocdi__gl-item {
|
953 |
+
-webkit-box-flex: 0;
|
954 |
+
-ms-flex: 0 0 100%;
|
955 |
+
flex: 0 0 100%;
|
956 |
+
margin-bottom: 20px;
|
957 |
+
border: 1px solid #ddd;
|
958 |
+
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.07);
|
959 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.07);
|
960 |
+
-webkit-box-sizing: border-box;
|
961 |
+
box-sizing: border-box;
|
962 |
+
background-color: #fafafa;
|
963 |
}
|
964 |
|
965 |
.ocdi__gl-item-image-container {
|
966 |
+
display: block;
|
967 |
+
overflow: hidden;
|
968 |
+
position: relative;
|
969 |
+
-webkit-backface-visibility: hidden;
|
970 |
+
-webkit-transition: opacity 0.2s ease-in-out;
|
971 |
+
transition: opacity 0.2s ease-in-out;
|
972 |
}
|
973 |
|
974 |
.ocdi__gl-item-image-container::after {
|
975 |
+
content: "";
|
976 |
+
display: block;
|
977 |
+
padding-top: 66.66666%;
|
978 |
}
|
979 |
|
980 |
.ocdi__gl-item-image {
|
981 |
+
height: auto;
|
982 |
+
position: absolute;
|
983 |
+
left: 0;
|
984 |
+
top: 0;
|
985 |
+
width: 100%;
|
986 |
+
-webkit-transition: opacity 0.2s ease-in-out;
|
987 |
+
transition: opacity 0.2s ease-in-out;
|
988 |
}
|
989 |
|
990 |
.ocdi__gl-item-image--no-image {
|
991 |
+
display: inline-block;
|
992 |
+
width: 50%;
|
993 |
+
text-align: center;
|
994 |
+
position: absolute;
|
995 |
+
top: 45%;
|
996 |
+
right: 25%;
|
997 |
+
left: 25%;
|
998 |
}
|
999 |
|
1000 |
.ocdi__gl-item-footer {
|
1001 |
+
margin: 0;
|
1002 |
+
padding: 8px 10px;
|
1003 |
+
border-top: 1px solid #dddddd;
|
1004 |
+
background: #ffffff;
|
1005 |
+
background: rgba(255, 255, 255, 0.65);
|
|
|
|
|
1006 |
}
|
1007 |
|
1008 |
+
.ocdi__gl-item-title {
|
1009 |
+
white-space: nowrap;
|
1010 |
+
text-overflow: ellipsis;
|
1011 |
+
display: block;
|
1012 |
+
margin: 0;
|
1013 |
+
font-size: 16px;
|
1014 |
+
line-height: 19px;
|
1015 |
+
text-align: center;
|
1016 |
+
font-weight: 500;
|
1017 |
+
color: #23282d;
|
1018 |
+
padding: 5px 0 6px;
|
1019 |
}
|
1020 |
|
1021 |
+
@media (max-width: 782px) {
|
1022 |
+
.ocdi__gl-item-title {
|
1023 |
+
padding: 12px 0 13px;
|
1024 |
+
}
|
1025 |
}
|
1026 |
|
1027 |
+
.ocdi__gl-item-buttons {
|
1028 |
+
display: none;
|
1029 |
+
text-align: center;
|
1030 |
}
|
1031 |
|
1032 |
.ocdi__gl-item-button + .ocdi__gl-item-button {
|
1033 |
+
margin-left: 15px;
|
1034 |
}
|
1035 |
|
1036 |
@media (max-width: 782px) {
|
1037 |
+
.ocdi__gl-item-button {
|
1038 |
+
width: calc(50% - 10px);
|
1039 |
+
margin-bottom: 10px;
|
1040 |
+
}
|
1041 |
+
.ocdi__gl-item-button + .ocdi__gl-item-button {
|
1042 |
+
float: left;
|
1043 |
+
}
|
1044 |
+
}
|
1045 |
|
1046 |
+
.ocdi__gl-item:hover .ocdi__gl-item-buttons {
|
1047 |
+
display: block;
|
1048 |
+
}
|
|
|
1049 |
|
1050 |
+
.ocdi__gl-item:hover .ocdi__gl-item-title {
|
1051 |
+
display: none;
|
1052 |
+
}
|
1053 |
|
1054 |
+
.ocdi__gl-item:hover .ocdi__gl-item-footer {
|
1055 |
+
background: #ffffff;
|
|
|
1056 |
}
|
1057 |
|
1058 |
.ocdi__gl-header {
|
1059 |
+
display: inline-block;
|
1060 |
+
width: calc(100% - 24px);
|
1061 |
+
background-color: #ffffff;
|
1062 |
+
border: 1px solid #ccd0d4;
|
1063 |
+
-webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.07);
|
1064 |
+
box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.07);
|
1065 |
+
margin-bottom: 30px;
|
1066 |
+
padding: 0 11px;
|
1067 |
}
|
1068 |
|
1069 |
.ocdi__gl-navigation {
|
1070 |
+
font-size: 13px;
|
1071 |
+
line-height: 16px;
|
1072 |
+
width: 100%;
|
1073 |
+
float: left;
|
1074 |
}
|
1075 |
|
1076 |
.ocdi__gl-navigation ul {
|
1077 |
+
list-style-type: none;
|
1078 |
+
margin: 0;
|
1079 |
+
padding: 0;
|
1080 |
+
overflow: hidden;
|
1081 |
}
|
1082 |
|
1083 |
.ocdi__gl-navigation li {
|
1084 |
+
margin: 0;
|
|
|
1085 |
}
|
1086 |
|
1087 |
+
.ocdi__gl-navigation li.active a span,
|
1088 |
+
.ocdi__gl-navigation li.active a:hover span {
|
1089 |
+
padding-bottom: 14px;
|
1090 |
+
border-bottom: 4px solid #666666;
|
1091 |
}
|
1092 |
|
1093 |
.ocdi__gl-navigation li a {
|
1094 |
+
display: block;
|
1095 |
+
text-align: center;
|
1096 |
+
text-decoration: none;
|
1097 |
+
color: #23282D;
|
1098 |
+
padding: 18px 10px;
|
1099 |
+
}
|
1100 |
+
|
1101 |
+
.ocdi__gl-navigation li a span {
|
1102 |
+
padding-bottom: 14px;
|
1103 |
+
border-bottom: 4px solid #ffffff;
|
1104 |
}
|
1105 |
|
1106 |
.ocdi__gl-navigation li a:hover {
|
1107 |
+
color: #00a0d2;
|
1108 |
+
cursor: pointer;
|
1109 |
+
}
|
1110 |
+
|
1111 |
+
.ocdi__gl-navigation li a:hover span {
|
1112 |
+
border-bottom: 4px solid #ffffff;
|
1113 |
}
|
1114 |
|
1115 |
.ocdi__gl-search-input {
|
1116 |
+
width: 100%;
|
1117 |
+
margin: 10px 0;
|
1118 |
+
font-size: 13px;
|
1119 |
+
line-height: 16px;
|
1120 |
+
color: #72777C !important;
|
1121 |
}
|
1122 |
|
1123 |
@media (min-width: 640px) {
|
1124 |
+
.ocdi__gl-navigation {
|
1125 |
+
width: calc(100% - 280px);
|
1126 |
+
}
|
1127 |
+
.ocdi__gl-navigation li {
|
1128 |
+
margin: 0 15px;
|
1129 |
+
float: left;
|
1130 |
+
}
|
1131 |
+
.ocdi__gl-navigation li a {
|
1132 |
+
padding: 18px 10px;
|
1133 |
+
}
|
1134 |
+
.ocdi__gl-search-input {
|
1135 |
+
display: inline-block;
|
1136 |
+
width: 280px;
|
1137 |
+
height: 30px;
|
1138 |
+
margin: 0;
|
1139 |
+
margin-top: 11px;
|
1140 |
+
}
|
1141 |
+
.ocdi__gl-item-container {
|
1142 |
+
margin-right: -20px;
|
1143 |
+
}
|
1144 |
+
.ocdi__gl-item {
|
1145 |
+
-webkit-box-flex: 0;
|
1146 |
+
-ms-flex: 0 0 calc(50% - 20px);
|
1147 |
+
flex: 0 0 calc(50% - 20px);
|
1148 |
+
margin-right: 20px;
|
1149 |
+
}
|
1150 |
+
}
|
1151 |
+
|
1152 |
+
@media (min-width: 1120px) {
|
1153 |
+
.ocdi__gl-item-container {
|
1154 |
+
margin-right: -30px;
|
1155 |
+
}
|
1156 |
+
.ocdi__gl-item {
|
1157 |
+
-webkit-box-flex: 0;
|
1158 |
+
-ms-flex: 0 0 calc(33.33% - 30px);
|
1159 |
+
flex: 0 0 calc(33.33% - 30px);
|
1160 |
+
margin-bottom: 30px;
|
1161 |
+
margin-right: 30px;
|
1162 |
+
}
|
1163 |
+
}
|
1164 |
+
|
1165 |
+
.ocdi__card {
|
1166 |
+
background: #ffffff;
|
1167 |
+
text-align: center;
|
1168 |
+
-webkit-box-sizing: border-box;
|
1169 |
+
box-sizing: border-box;
|
1170 |
+
border: 1px solid #dddddd;
|
1171 |
+
-webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.07);
|
1172 |
+
box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.07);
|
1173 |
+
display: -webkit-box;
|
1174 |
+
display: -ms-flexbox;
|
1175 |
+
display: flex;
|
1176 |
+
-webkit-box-orient: vertical;
|
1177 |
+
-webkit-box-direction: normal;
|
1178 |
+
-ms-flex-direction: column;
|
1179 |
+
flex-direction: column;
|
1180 |
+
-webkit-box-pack: justify;
|
1181 |
+
-ms-flex-pack: justify;
|
1182 |
+
justify-content: space-between;
|
1183 |
+
}
|
1184 |
+
|
1185 |
+
.ocdi__card-content {
|
1186 |
+
padding: 30px;
|
1187 |
+
}
|
1188 |
+
|
1189 |
+
.ocdi__card-content .ocdi-icon--content {
|
1190 |
+
width: 53px;
|
1191 |
+
height: 53px;
|
1192 |
+
}
|
1193 |
+
|
1194 |
+
.ocdi__card-content .ocdi-icon--widgets {
|
1195 |
+
width: 56px;
|
1196 |
+
height: 49px;
|
1197 |
+
}
|
1198 |
+
|
1199 |
+
.ocdi__card-content .ocdi-icon--brush {
|
1200 |
+
width: 55px;
|
1201 |
+
height: 52px;
|
1202 |
+
}
|
1203 |
+
|
1204 |
+
.ocdi__card-content .ocdi-icon--redux {
|
1205 |
+
width: 82px;
|
1206 |
+
height: 70px;
|
1207 |
+
}
|
1208 |
+
|
1209 |
+
.ocdi__card-content .ocdi-icon--plugins {
|
1210 |
+
width: 65px;
|
1211 |
+
height: 64px;
|
1212 |
+
}
|
1213 |
+
|
1214 |
+
.ocdi__card-content .ocdi-icon--copy {
|
1215 |
+
width: 42px;
|
1216 |
+
height: 52px;
|
1217 |
+
}
|
1218 |
+
|
1219 |
+
.ocdi__card-content .ocdi-icon--layout {
|
1220 |
+
width: 53px;
|
1221 |
+
height: 52px;
|
1222 |
+
}
|
1223 |
|
1224 |
+
.ocdi__card-content .ocdi-icon-container {
|
1225 |
+
height: 70px;
|
1226 |
+
display: -webkit-box;
|
1227 |
+
display: -ms-flexbox;
|
1228 |
+
display: flex;
|
1229 |
+
-webkit-box-align: center;
|
1230 |
+
-ms-flex-align: center;
|
1231 |
+
align-items: center;
|
1232 |
+
-webkit-box-pack: center;
|
1233 |
+
-ms-flex-pack: center;
|
1234 |
+
justify-content: center;
|
1235 |
+
}
|
1236 |
+
|
1237 |
+
.ocdi__card-content h3 {
|
1238 |
+
margin: 5px 0;
|
1239 |
+
font-size: 16px;
|
1240 |
+
line-height: 20px;
|
1241 |
+
font-weight: 500;
|
1242 |
+
}
|
1243 |
+
|
1244 |
+
.ocdi__card-content p {
|
1245 |
+
margin: 0;
|
1246 |
+
font-size: 13px;
|
1247 |
+
line-height: 16px;
|
1248 |
+
color: #666666;
|
1249 |
+
}
|
1250 |
+
|
1251 |
+
.ocdi__card-footer {
|
1252 |
+
background: #fafafa;
|
1253 |
+
-webkit-box-shadow: 0px -1px 0px #DDDDDD;
|
1254 |
+
box-shadow: 0px -1px 0px #DDDDDD;
|
1255 |
+
padding: 10px;
|
1256 |
+
display: -webkit-box;
|
1257 |
+
display: -ms-flexbox;
|
1258 |
+
display: flex;
|
1259 |
+
-webkit-box-pack: center;
|
1260 |
+
-ms-flex-pack: center;
|
1261 |
+
justify-content: center;
|
1262 |
+
-webkit-box-align: center;
|
1263 |
+
-ms-flex-align: center;
|
1264 |
+
align-items: center;
|
1265 |
+
}
|
1266 |
+
|
1267 |
+
.ocdi__card-footer .button-secondary {
|
1268 |
+
background: #fafafa;
|
1269 |
+
}
|
1270 |
|
1271 |
+
.ocdi__card-footer input[type="file"] {
|
1272 |
+
width: 200px;
|
1273 |
+
padding: 4px 0;
|
1274 |
+
}
|
1275 |
|
1276 |
+
.ocdi__card-footer .button-disabled {
|
1277 |
+
cursor: not-allowed;
|
1278 |
+
}
|
|
|
|
|
|
|
|
|
1279 |
|
1280 |
+
.ocdi__card--three {
|
1281 |
+
-webkit-box-flex: 0;
|
1282 |
+
-ms-flex: 0 0 100%;
|
1283 |
+
flex: 0 0 100%;
|
1284 |
+
margin-bottom: 20px;
|
1285 |
+
}
|
1286 |
|
1287 |
+
@media (min-width: 768px) {
|
1288 |
+
.ocdi__card--three {
|
1289 |
+
-webkit-box-flex: 0;
|
1290 |
+
-ms-flex: 0 0 calc(50% - 10px);
|
1291 |
+
flex: 0 0 calc(50% - 10px);
|
1292 |
+
margin-right: 20px;
|
1293 |
+
}
|
1294 |
+
.ocdi__card--three:nth-child(2n) {
|
1295 |
+
margin-right: 0;
|
1296 |
+
}
|
1297 |
}
|
1298 |
|
1299 |
@media (min-width: 1120px) {
|
1300 |
+
.ocdi__card--three {
|
1301 |
+
-webkit-box-flex: 0;
|
1302 |
+
-ms-flex: 0 0 calc(33.33% - 20px);
|
1303 |
+
flex: 0 0 calc(33.33% - 20px);
|
1304 |
+
margin-bottom: 30px;
|
1305 |
+
margin-right: 30px;
|
1306 |
+
}
|
1307 |
+
.ocdi__card--three:nth-child(2n) {
|
1308 |
+
margin-right: 30px;
|
1309 |
+
}
|
1310 |
+
.ocdi__card--three:nth-child(3n) {
|
1311 |
+
margin-right: 0;
|
1312 |
+
}
|
1313 |
+
}
|
1314 |
|
1315 |
+
.ocdi__card--four {
|
1316 |
+
-webkit-box-flex: 0;
|
1317 |
+
-ms-flex: 0 0 100%;
|
1318 |
+
flex: 0 0 100%;
|
1319 |
+
margin-bottom: 20px;
|
1320 |
}
|
1321 |
|
1322 |
+
@media (min-width: 768px) {
|
1323 |
+
.ocdi__card--four {
|
1324 |
+
-webkit-box-flex: 0;
|
1325 |
+
-ms-flex: 0 0 calc(50% - 10px);
|
1326 |
+
flex: 0 0 calc(50% - 10px);
|
1327 |
+
margin-right: 20px;
|
1328 |
+
}
|
1329 |
+
.ocdi__card--four:nth-child(2n) {
|
1330 |
+
margin-right: 0;
|
1331 |
+
}
|
1332 |
+
}
|
1333 |
+
|
1334 |
+
@media (min-width: 1120px) {
|
1335 |
+
.ocdi__card--four {
|
1336 |
+
-webkit-box-flex: 0;
|
1337 |
+
-ms-flex: 0 0 calc(50% - 15px);
|
1338 |
+
flex: 0 0 calc(50% - 15px);
|
1339 |
+
margin-bottom: 30px;
|
1340 |
+
margin-right: 30px;
|
1341 |
+
}
|
1342 |
+
}
|
1343 |
|
1344 |
+
@-webkit-keyframes ocdi-fade {
|
1345 |
+
from {
|
1346 |
+
opacity: 1;
|
1347 |
+
}
|
1348 |
+
to {
|
1349 |
+
opacity: 0;
|
1350 |
+
}
|
1351 |
+
}
|
1352 |
+
|
1353 |
+
@keyframes ocdi-fade {
|
1354 |
+
from {
|
1355 |
+
opacity: 1;
|
1356 |
+
}
|
1357 |
+
to {
|
1358 |
+
opacity: 0;
|
1359 |
+
}
|
1360 |
}
|
1361 |
|
1362 |
.ocdi-is-fadeout {
|
1363 |
+
-webkit-animation: ocdi-fade linear 200ms 1 forwards;
|
1364 |
+
animation: ocdi-fade linear 200ms 1 forwards;
|
1365 |
}
|
1366 |
|
1367 |
.ocdi-is-fadein {
|
1368 |
+
animation: ocdi-fade linear 200ms 1 reverse forwards;
|
1369 |
}
|
1370 |
|
|
|
|
|
1371 |
.ocdi__modal-image-container {
|
1372 |
+
width: 100%;
|
1373 |
+
height: 180px;
|
1374 |
+
margin: 0;
|
1375 |
+
overflow: hidden;
|
1376 |
}
|
1377 |
|
1378 |
+
.ocdi__modal-image-container img {
|
1379 |
+
width: 100%;
|
|
|
1380 |
}
|
1381 |
|
1382 |
+
.ocdi__modal-item-title {
|
1383 |
+
margin-top: 0.5em;
|
1384 |
+
font-weight: bold;
|
1385 |
}
|
1386 |
|
1387 |
.ocdi__modal-notice.ocdi__demo-import-notice:not(:empty) {
|
1388 |
+
border: 1px solid #e5e5e5;
|
1389 |
+
border-left: 4px solid #00a0d2;
|
1390 |
+
margin: 20px 0 0;
|
1391 |
}
|
1392 |
|
1393 |
+
.ocdi-loading {
|
1394 |
+
-webkit-animation: 0.65s linear infinite ocdi-loading-spin;
|
1395 |
+
animation: 0.65s linear infinite ocdi-loading-spin;
|
1396 |
}
|
1397 |
+
|
1398 |
+
.ocdi-loading-md {
|
1399 |
+
width: 32px;
|
1400 |
+
height: 32px;
|
1401 |
+
}
|
1402 |
+
|
1403 |
+
.ocdi-loading-sm {
|
1404 |
+
width: 16px;
|
1405 |
+
height: 16px;
|
1406 |
+
}
|
1407 |
+
|
1408 |
+
@-webkit-keyframes ocdi-loading-spin {
|
1409 |
+
0% {
|
1410 |
+
-webkit-transform: rotateZ(270deg);
|
1411 |
+
transform: rotateZ(270deg);
|
1412 |
+
}
|
1413 |
+
100% {
|
1414 |
+
-webkit-transform: rotateZ(630deg);
|
1415 |
+
transform: rotateZ(630deg);
|
1416 |
+
}
|
1417 |
+
}
|
1418 |
+
|
1419 |
+
@keyframes ocdi-loading-spin {
|
1420 |
+
0% {
|
1421 |
+
-webkit-transform: rotateZ(270deg);
|
1422 |
+
transform: rotateZ(270deg);
|
1423 |
+
}
|
1424 |
+
100% {
|
1425 |
+
-webkit-transform: rotateZ(630deg);
|
1426 |
+
transform: rotateZ(630deg);
|
1427 |
+
}
|
1428 |
+
}
|
1429 |
+
|
1430 |
+
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIm1haW4uY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBO0VBQ0MsZUFBZTtBQ0FoQjs7QURHQTtFQUNDLGVBQWU7QUNBaEI7O0FEREE7RUFJRSxtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsbUJBQW1CO0FDQ3JCOztBRFRBOztFQWFFLGFBQWE7QUNDZjs7QURkQTtFQWlCRSxjQUFjO0FDQ2hCOztBRGxCQTs7O0VBdUJFLHlCQUF5QjtFQUN6QixrQkFBa0I7QUNDcEI7O0FERUM7RUFDQyxhQUFhO0FDQ2Y7O0FERkU7OztFQU1DLGtCQUFrQjtBQ0VyQjs7QURSRTs7O0VBU0UsbUJBQW1CO0FDS3ZCOztBREFFO0VBRUMsY0FBYztBQ0VqQjs7QURFQztFQUNDLHVCQUF1QjtFQUN2Qiw4QkFBOEI7QUNDaEM7O0FERUM7RUFDQyxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixZQUFZO0FDQ2Q7O0FETEU7RUFPQyxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxrQkFBa0I7QUNFckI7O0FEWkU7RUFhRSxnQkFBZ0I7QUNHcEI7O0FERUM7RUFFQyxhQUFhO0VBQ2Isa0JBQWtCO0VBQ2xCLGFBQWE7QUNBZjs7QURKRTtFQU9DLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCxrQkFBa0I7QUNDckI7O0FEWkU7RUFjRSxnQkFBZ0I7QUNFcEI7O0FERUc7RUFFQyxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLG1CQUFtQjtBQ0F2Qjs7QURKRztFQVFDLGtCQUFrQjtBQ0F0Qjs7QURSRztFQVdFLGdCQUFnQjtBQ0NyQjs7QURJRTtFQUNDLGNBQWM7QUNEakI7O0FER0c7RUFDQyxZQUFZO0VBQ1osYUFBYTtFQUNiLHFCQUFxQjtBQ0F6Qjs7QURHRztFQUNDLHFCQUFxQjtBQ0F6Qjs7QURFSTtFQUNDLFlBQVk7RUFDWixhQUFhO0FDQ2xCOztBREVJO0VBRUMsWUFBWTtFQUNaLGFBQWE7QUNBbEI7O0FEcEJHO0VBeUJDLGdCQUFnQjtFQUNoQixjQUFjO0FDRGxCOztBRHpCRztFQTZCRSxpQkFBaUI7RUFDakIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixjQUFjO0FDQW5COztBREtFO0VBQ0Msb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixtQkFBZTtNQUFmLGVBQWU7RUFDZixpQkFBaUI7RUFDakIseUJBQXlCO0VBQ3pCLDZCQUE2QjtFQUM3Qix3QkFBd0I7QUNGM0I7O0FETkc7RUFXQyxtQkFBYTtNQUFiLGlCQUFhO1VBQWIsYUFBYTtFQUNiLGtCQUFrQjtBQ0R0Qjs7QURYRztFQWVFLGVBQWU7QUNBcEI7O0FENUpBO0VBbUtFLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixpQkFBaUI7QUNIbkI7O0FEcEtBO0VBMktHLHlCQUF5QjtFQUN6Qiw4QkFBOEI7RUFDOUIsZ0NBQWdDO0VBQ2hDLFlBQVk7QUNIZjs7QURTRTtFQUNDLGlCQUFpQjtFQUNqQixZQUFZO0VBQ1osNkJBQTZCO0VBQzdCLDBCQUEwQjtFQUMxQiwwQkFBMEI7RUFDMUIsNEJBQTRCO0FDTi9COztBRFVDO0VBQ0MsdUJBQXVCO0VBQ3ZCLHdCQUF3QjtFQUN4QixxQkFBcUI7RUFDckIsMkJBQTJCO0VBQzNCLDZCQUE2QjtFQUM3QixzQkFBc0I7QUNQeEI7O0FEV0E7RUFDQyxhQUFhO0FDUmQ7O0FEV0E7RUFDQyxZQUFZO0VBQ1osY0FBYztFQUNkLG9CQUFvQjtBQ1JyQjs7QURhQztFQUNDLFlBQVk7RUFDWix5QkFBeUI7RUFDekIsa0JBQWtCO0VBQ2xCLG1EQUEyQztVQUEzQywyQ0FBMkM7RUFDM0Msb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix5QkFBOEI7TUFBOUIsc0JBQThCO1VBQTlCLDhCQUE4QjtBQ1ZoQzs7QURZRTtFQUNDLFNBQVM7RUFDVCxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGdCQUFnQjtBQ1RuQjs7QURZRTtFQUNDLFdBQVc7RUFDWCxZQUFZO0FDVGY7O0FEYUM7RUFDQyxhQUFhO0FDVmY7O0FEWUU7RUFDQyxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtBQ1RoQjs7QURXRztFQUNDLG1CQUFPO01BQVAsV0FBTztVQUFQLE9BQU87RUFDUCxrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIseUJBQXlCO0VBQ3pCLG1EQUEyQztVQUEzQywyQ0FBMkM7QUNSL0M7O0FEV0c7RUFDQyxZQUFZO0FDUmhCOztBRE9JO0VBSUMsVUFBVTtBQ1BmOztBREdJO0VBUUMsYUFBYTtBQ1BsQjs7QURESTtFQVdFLHlCQUF5QjtFQUN6Qiw0REFBb0Q7VUFBcEQsb0RBQW9EO0VBQ3BELHFMQUFxTDtBQ04zTDs7QURQSTtFQWtCQyxhQUFhO0FDUGxCOztBRFhJO0VBcUJFLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLFNBQVM7QUNOZjs7QURsQkk7RUE2QkMsV0FBVztBQ1BoQjs7QURsQ0c7O0VBK0NDLGFBQWE7RUFDYixnQ0FBZ0M7QUNScEM7O0FEeENHOztFQW1ERSxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLG1CQUFtQjtFQUNuQixpQkFBaUI7QUNOdEI7O0FEaERHOztFQTBERSxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2Qsa0JBQWtCO0FDTHZCOztBRHpERzs7RUFpRUcsU0FBUztBQ0hmOztBRDlERzs7RUFzRUUsZ0JBQWdCO0FDSHJCOztBRG5FRzs7RUF5RUcsY0FBYztFQUNkLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLG1CQUFtQjtBQ0R6Qjs7QUQ1RUc7Ozs7RUFzRkUsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBOEI7TUFBOUIsc0JBQThCO1VBQTlCLDhCQUE4QjtFQUM5Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixjQUFjO0VBQ2QsZUFBZTtFQUNmLGdDQUFnQztBQ0hyQzs7QUR4Rkc7Ozs7RUE4RkcsYUFBYTtBQ0NuQjs7QUQvRkc7Ozs7RUFrR0csZUFBZTtBQ0lyQjs7QUR0R0c7Ozs7Ozs7O0VBd0dLLFlBQVk7RUFDWixtQkFBbUI7QUNTM0I7O0FEbEhHOzs7Ozs7OztFQTRHTSxxQkFBcUI7QUNpQjlCOztBRDdIRzs7Ozs7Ozs7RUFnSE0sd0JBQXdCO0FDd0JqQzs7QUR4SUc7Ozs7RUF1SEcsZUFBZTtBQ3dCckI7O0FEL0lHOzs7O0VBNEhJLGNBQWM7QUMwQnJCOztBRHRKRzs7Ozs7Ozs7RUFtSUssdUJBQXVCO0FDOEIvQjs7QURqS0c7Ozs7Ozs7O0VBc0lNLHdCQUF3QjtBQ3NDakM7O0FENUtHOzs7Ozs7OztFQTBJTSx3QkFBd0I7QUM2Q2pDOztBRHZMRzs7OztFQWlKRyxrQkFBa0I7QUM2Q3hCOztBRDlMRzs7OztFQW9KSSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGlCQUFpQjtBQ2lEeEI7O0FEdk1HOzs7O0VBeUpLLGdCQUFnQjtFQUNoQix5QkFBeUI7RUFDekIsV0FBVztFQUNYLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsZ0JBQWdCO0FDcUR4Qjs7QURuTkc7Ozs7RUFpS00sV0FBVztFQUNYLFlBQVk7RUFDWixXQUFXO0FDeURwQjs7QUQ1Tkc7Ozs7RUEyS0kseUJBQXlCO0FDd0RoQzs7QURuT0c7Ozs7RUFpTEkseUJBQXlCO0FDeURoQzs7QUQxT0c7Ozs7RUFzTEcsb0JBQW9CO0VBQ3BCLG1CQUFtQjtBQzJEekI7O0FEbFBHOzs7O0VBMkxHLGNBQWM7QUM4RHBCOztBRHpQRzs7OztFQStMRyxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsU0FBUztBQ2lFZjs7QURwUUc7Ozs7RUF1TUcsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsaUJBQWlCO0FDb0V2Qjs7QUQ5UUc7Ozs7RUE2TUksU0FBUztBQ3dFaEI7O0FEclJHOzs7Ozs7OztFQW9OSSw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLHlCQUF5QjtBQzRFaEM7O0FEdlNHOzs7Ozs7OztFQThOSyxhQUFhO0VBQ2IsV0FBVztFQUNYLFlBQVk7RUFDWixXQUFXO0FDb0ZuQjs7QURyVEc7Ozs7Ozs7O0VBcU9LLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsWUFBWTtFQUNaLFlBQVk7RUFDWixXQUFXO0FDMkZuQjs7QURwVUc7Ozs7Ozs7O0VBOE9JLGFBQWE7QUNpR3BCOztBRC9VRzs7Ozs7Ozs7RUFtUEssV0FBVztFQUNYLGNBQWM7RUFDZCxlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLFdBQVc7QUN1R25COztBRGpXRzs7RUFpUUUsYUFBYTtFQUNiLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLDRCQUE0QjtBQ3FHakM7O0FEMVdHOztFQXdRRyxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxrQkFBa0I7QUN1R3hCOztBRGxYRzs7RUE4UUksZ0JBQWdCO0FDeUd2Qjs7QUR2WEc7O0VBc1JDLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsNkJBQTZCO0VBQzdCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQThCO01BQTlCLHNCQUE4QjtVQUE5Qiw4QkFBOEI7RUFDOUIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7QUNzR3ZCOztBRGpZRzs7RUE4UkUsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtBQ3dHeEI7O0FEMVlHOztFQXFTRyxXQUFXO0VBQ1gsWUFBWTtFQUNaLGlCQUFpQjtBQzBHdkI7O0FEbkdFO0VBRUMsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLGdCQUFnQjtBQ3FHbkI7O0FEM0dFO0VBVUMsYUFBYTtFQUNiLHVCQUF1QjtBQ3FHMUI7O0FEakdDO0VBQ0MsbUJBQW1CO0VBQ25CLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQThCO01BQTlCLHNCQUE4QjtVQUE5Qiw4QkFBOEI7QUNvR2hDOztBRGxHRTtFQUNDLG9CQUFRO01BQVIsWUFBUTtVQUFSLFFBQVE7RUFDUixrQkFBa0I7QUNxR3JCOztBRHZHRztFQUtDLDhCQUFzQjtVQUF0QixzQkFBc0I7QUNzRzFCOztBRDNHRztFQVFFLHlCQUF5QjtFQUN6Qiw0REFBb0Q7VUFBcEQsb0RBQW9EO0FDdUd6RDs7QURoSEc7RUFhRSx5QkFBeUI7RUFDekIsNERBQW9EO1VBQXBELG9EQUFvRDtFQUNwRCxpQkFBaUI7RUFDakIscUxBQXFMO0FDdUcxTDs7QUR2SEc7RUFxQkMsV0FBVztBQ3NHZjs7QURsR0U7RUFDQyxvQkFBUTtNQUFSLFlBQVE7VUFBUixRQUFRO0VBQ1Isb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIseUJBQThCO01BQTlCLHNCQUE4QjtVQUE5Qiw4QkFBOEI7QUNxR2pDOztBRHpHRztFQU9DLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsMkJBQXFCO01BQXJCLHdCQUFxQjtVQUFyQixxQkFBcUI7QUNzR3pCOztBRDlHRztFQVdFLG1CQUFtQjtBQ3VHeEI7O0FEbEhHO0VBZUUsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxlQUFlO0VBQ2YsaUJBQWlCO0FDdUd0Qjs7QUR6SEc7RUF1QkMsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsZ0JBQWdCO0FDc0dwQjs7QURoSUc7RUE4QkMsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsZ0JBQWdCO0FDc0dwQjs7QUR2SUc7RUFxQ0MsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsZUFBZTtBQ3NHbkI7O0FEOUlHO0VBMkNFLGdCQUFnQjtBQ3VHckI7O0FEbEpHO0VBZ0RDLFlBQVk7RUFDWixlQUFlO0VBQ2YsaUJBQWlCO0FDc0dyQjs7QURsR0U7RUFwRkE7SUFzRkUsNEJBQXNCO0lBQXRCLDZCQUFzQjtRQUF0QiwwQkFBc0I7WUFBdEIsc0JBQXNCO0VDcUd4QjtFRG5HRTtJQUNDLGtCQUFrQjtFQ3FHckI7QUFDRjs7QUQvRkM7RUFDQyxXQUFXO0FDa0diOztBRC9GQztFQUNDLGtCQUFrQjtBQ2tHcEI7O0FEOUZDO0VBQ0MsV0FBVztFQUNYLFlBQVk7RUFDWixrQkFBa0I7QUNpR3BCOztBRDdGQztFQUVDLGFBQWE7RUFDYixjQUFjO0VBQ2QsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQix5QkFBeUI7RUFDekIseUJBQXlCO0FDK0YzQjs7QUQ1RkM7RUFDQyx5QkFBeUI7RUFDekIsaURBQXlDO1VBQXpDLHlDQUF5QztBQytGM0M7O0FEN0ZFO0VBQ0MsYUFBYTtFQUNiLGdDQUFnQztFQUNoQyx5QkFBeUI7QUNnRzVCOztBRG5HRztFQU1DLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsU0FBUztBQ2lHYjs7QUQ3RkU7RUFDQyx5QkFBeUI7RUFDekIseUJBQXlCO0VBRXpCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsbUJBQWU7TUFBZixlQUFlO0FDK0ZsQjs7QUQ3Rkc7RUFDQyxjQUFjO0FDZ0dsQjs7QUR4R0c7RUFZQyx3QkFBZ0I7VUFBaEIsZ0JBQWdCO0FDZ0dwQjs7QUQ1R0c7RUFlRSxrQkFBa0I7QUNpR3ZCOztBRGhIRztFQWtCRyxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFNBQVM7QUNrR2Y7O0FEdEhHO0VBdUJJLFdBQVc7RUFDWCxZQUFZO0FDbUduQjs7QUQ1RkU7RUFDQyxhQUFhO0VBQ2IseUJBQXlCO0VBQ3pCLDZCQUE2QjtFQUM3QixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUE4QjtNQUE5QixzQkFBOEI7VUFBOUIsOEJBQThCO0VBQzlCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0FDK0Z0Qjs7QUQzRkM7RUFDQyxTQUFTO0VBQ1QsOEJBQThCO0VBQzlCLGtEQUFzQztVQUF0QywwQ0FBc0M7QUM4RnhDOztBQUVBO0VENUZFLFNBQVM7RUFDVCwrQkFBK0I7QUM4RmpDOztBRDFGQztFQUNDLGdCQUFnQjtBQzZGbEI7O0FEekZDO0VBQ0MsZ0JBQWdCO0FDNEZsQjs7QUQ3RkU7RUFJQyxxQkFBcUI7RUFDckIsV0FBVztFQUNYLG1CQUFtQjtFQUNuQixrQkFBa0I7QUM2RnJCOztBRHZGRTtFQUNDLHdCQUFnQjtVQUFoQixnQkFBZ0I7QUMwRm5COztBRHZGRTtFQUNDLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsbUJBQWU7TUFBZixlQUFlO0FDMEZsQjs7QUR2RkU7RUFDQyxtQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYztFQUNkLG1CQUFtQjtFQUNuQixzQkFBc0I7RUFDdEIsaURBQXNDO1VBQXRDLHlDQUFzQztFQUN0Qyw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHlCQUF5QjtBQzBGNUI7O0FEeEZHO0VBQ0MsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsbUNBQW1DO0VBQ25DLDRDQUFvQztFQUFwQyxvQ0FBb0M7QUMyRnhDOztBRGhHSTtFQVFDLFdBQVc7RUFDWCxjQUFjO0VBQ2Qsc0JBQXNCO0FDNEYzQjs7QUR4Rkc7RUFDQyxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLE9BQU87RUFDUCxNQUFNO0VBQ04sV0FBVztFQUNYLDRDQUFvQztFQUFwQyxvQ0FBb0M7QUMyRnhDOztBRHpGSTtFQUNDLHFCQUFxQjtFQUNyQixVQUFVO0VBQ1Ysa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsVUFBVTtFQUNWLFNBQVM7QUM0RmQ7O0FEeEZHO0VBQ0MsU0FBUztFQUNULGlCQUFpQjtFQUNqQiw2QkFBNkI7RUFDN0IsbUJBQW1CO0VBQ25CLHFDQUFrQztBQzJGdEM7O0FEeEZHO0VBQ0MsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixjQUFjO0VBQ2QsU0FBUztFQUNULGVBQWU7RUFDZixpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2Qsa0JBQWtCO0FDMkZ0Qjs7QUR6Rkk7RUFaQTtJQWNFLG9CQUFvQjtFQzRGeEI7QUFDRjs7QUR4Rkc7RUFDQyxhQUFhO0VBQ2Isa0JBQWtCO0FDMkZ0Qjs7QUR4Rkk7RUFHQyxpQkFBaUI7QUN5RnRCOztBRHJGRztFQUNDO0lBQ0MsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtFQ3dGdEI7RUQxRkc7SUFLQyxXQUFXO0VDd0ZmO0FBQ0Y7O0FEL0tHO0VBNkZFLGNBQWM7QUNzRm5COztBRG5MRztFQWlHRSxhQUFhO0FDc0ZsQjs7QUR2TEc7RUFxR0UsbUJBQW1CO0FDc0Z4Qjs7QURqRkU7RUFDQyxxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLHlCQUF5QjtFQUN6Qix5QkFBeUI7RUFDekIsbURBQTJDO1VBQTNDLDJDQUEyQztFQUMzQyxtQkFBbUI7RUFDbkIsZUFBZTtBQ29GbEI7O0FEakZFO0VBQ0MsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixXQUFXO0VBQ1gsV0FBVztBQ29GZDs7QUR4Rkc7RUFPQyxxQkFBcUI7RUFDckIsU0FBUztFQUNULFVBQVU7RUFDVixnQkFBZ0I7QUNxRnBCOztBRC9GRztFQWNDLFNBQVM7QUNxRmI7O0FEbkdHOztFQW9CRyxvQkFBb0I7RUFDcEIsZ0NBQWdDO0FDb0Z0Qzs7QUR6R0c7RUEwQkUsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsY0FBYztFQUNkLGtCQUFrQjtBQ21GdkI7O0FEakhHO0VBaUNHLG9CQUFvQjtFQUNwQixnQ0FBZ0M7QUNvRnRDOztBRHRIRztFQXNDRyxjQUFjO0VBQ2QsZUFBYztBQ29GcEI7O0FEM0hHO0VBMENJLGdDQUFnQztBQ3FGdkM7O0FEOUVFO0VBQ0MsV0FBVztFQUNYLGNBQWM7RUFDZCxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLHlCQUF5QjtBQ2lGNUI7O0FEOUVFO0VBQ0M7SUFDQyx5QkFBeUI7RUNpRjNCO0VEbEZFO0lBSUMsY0FBYztJQUNkLFdBQVc7RUNpRmQ7RUR0RkU7SUFRRSxrQkFBa0I7RUNpRnRCO0VENUVDO0lBQ0MscUJBQXFCO0lBQ3JCLFlBQVk7SUFDWixZQUFZO0lBQ1osU0FBUztJQUNULGdCQUFnQjtFQzhFbEI7RUQzRUM7SUFDQyxtQkFBbUI7RUM2RXJCO0VEMUVDO0lBQ0MsbUJBQTBCO1FBQTFCLDhCQUEwQjtZQUExQiwwQkFBMEI7SUFDMUIsa0JBQWtCO0VDNEVwQjtBQUNGOztBRHpFRTtFQUNDO0lBQ0MsbUJBQW1CO0VDNEVyQjtFRHpFQztJQUNDLG1CQUE2QjtRQUE3QixpQ0FBNkI7WUFBN0IsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQixrQkFBa0I7RUMyRXBCO0FBQ0Y7O0FEdkVDO0VBQ0MsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQiw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHlCQUF5QjtFQUN6QixtREFBMkM7VUFBM0MsMkNBQTJDO0VBQzNDLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHlCQUE4QjtNQUE5QixzQkFBOEI7VUFBOUIsOEJBQThCO0FDMEVoQzs7QUR4RUU7RUFDQyxhQUFhO0FDMkVoQjs7QUQ1RUc7RUFNRSxXQUFXO0VBQ1gsWUFBWTtBQzBFakI7O0FEakZHO0VBV0UsV0FBVztFQUNYLFlBQVk7QUMwRWpCOztBRHRGRztFQWdCRSxXQUFXO0VBQ1gsWUFBWTtBQzBFakI7O0FEM0ZHO0VBcUJFLFdBQVc7RUFDWCxZQUFZO0FDMEVqQjs7QURoR0c7RUEwQkUsV0FBVztFQUNYLFlBQVk7QUMwRWpCOztBRHJHRztFQStCRSxXQUFXO0VBQ1gsWUFBWTtBQzBFakI7O0FEMUdHO0VBb0NFLFdBQVc7RUFDWCxZQUFZO0FDMEVqQjs7QUQvR0c7RUF5Q0UsWUFBWTtFQUNaLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7QUMwRTVCOztBRHRIRztFQWlEQyxhQUFhO0VBQ2IsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixnQkFBZ0I7QUN5RXBCOztBRDdIRztFQXdEQyxTQUFTO0VBQ1QsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixjQUFjO0FDeUVsQjs7QURyRUU7RUFDQyxtQkFBbUI7RUFDbkIsd0NBQWdDO1VBQWhDLGdDQUFnQztFQUNoQyxhQUFhO0VBQ2Isb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtBQ3dFdEI7O0FEOUVHO0VBU0MsbUJBQW1CO0FDeUV2Qjs7QURsRkc7RUFhQyxZQUFZO0VBQ1osY0FBYztBQ3lFbEI7O0FEdkZHO0VBa0JDLG1CQUFtQjtBQ3lFdkI7O0FEckVFO0VBQ0MsbUJBQWM7TUFBZCxrQkFBYztVQUFkLGNBQWM7RUFDZCxtQkFBbUI7QUN3RXRCOztBRHRFRztFQUpEO0lBS0UsbUJBQTBCO1FBQTFCLDhCQUEwQjtZQUExQiwwQkFBMEI7SUFDMUIsa0JBQWtCO0VDMEVwQjtFRGhGQztJQVNFLGVBQWU7RUMwRWxCO0FBQ0Y7O0FEdkVHO0VBYkQ7SUFjRSxtQkFBNkI7UUFBN0IsaUNBQTZCO1lBQTdCLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsa0JBQWtCO0VDMkVwQjtFRDNGQztJQW1CRSxrQkFBa0I7RUMyRXJCO0VEOUZDO0lBdUJFLGVBQWU7RUMwRWxCO0FBQ0Y7O0FEdEVFO0VBQ0MsbUJBQWM7TUFBZCxrQkFBYztVQUFkLGNBQWM7RUFDZCxtQkFBbUI7QUN5RXRCOztBRHZFRztFQUpEO0lBS0UsbUJBQTBCO1FBQTFCLDhCQUEwQjtZQUExQiwwQkFBMEI7SUFDMUIsa0JBQWtCO0VDMkVwQjtFRGpGQztJQVNFLGVBQWU7RUMyRWxCO0FBQ0Y7O0FEeEVHO0VBYkQ7SUFjRSxtQkFBMEI7UUFBMUIsOEJBQTBCO1lBQTFCLDBCQUEwQjtJQUMxQixtQkFBbUI7SUFDbkIsa0JBQWtCO0VDNEVwQjtBQUNGOztBRHRFQTtFQUNDO0lBQ0MsVUFBVTtFQ3lFVjtFRHRFRDtJQUNDLFVBQVU7RUN3RVY7QUFDRjs7QUQvRUE7RUFDQztJQUNDLFVBQVU7RUN5RVY7RUR0RUQ7SUFDQyxVQUFVO0VDd0VWO0FBQ0Y7O0FEckVBO0VBQ0Msb0RBQTRDO1VBQTVDLDRDQUE0QztBQ3dFN0M7O0FEckVBO0VBQ0Msb0RBQW9EO0FDd0VyRDs7QURuRUM7RUFDQyxXQUFXO0VBQ1gsYUFBYTtFQUNiLFNBQVM7RUFDVCxnQkFBZ0I7QUNzRWxCOztBRDFFRTtFQU9DLFdBQVc7QUN1RWQ7O0FEbkVDO0VBQ0MsaUJBQWlCO0VBQ2pCLGlCQUFpQjtBQ3NFbkI7O0FEbkVDO0VBQ0MseUJBQXlCO0VBQ3pCLDhCQUE4QjtFQUM5QixnQkFBZ0I7QUNzRWxCOztBRGpFQTtFQUNDLDBEQUFrRDtVQUFsRCxrREFBa0Q7QUNvRW5EOztBRGpFQTtFQUNDLFdBQVc7RUFDWCxZQUFZO0FDb0ViOztBRGpFQTtFQUNDLFdBQVc7RUFDWCxZQUFZO0FDb0ViOztBRGpFQTtFQUNDO0lBQ0Msa0NBQTBCO1lBQTFCLDBCQUEwQjtFQ29FMUI7RURsRUQ7SUFDQyxrQ0FBMEI7WUFBMUIsMEJBQTBCO0VDb0UxQjtBQUNGOztBRDFFQTtFQUNDO0lBQ0Msa0NBQTBCO1lBQTFCLDBCQUEwQjtFQ29FMUI7RURsRUQ7SUFDQyxrQ0FBMEI7WUFBMUIsMEJBQTBCO0VDb0UxQjtBQUNGIiwiZmlsZSI6ImFzc2V0cy9jc3MvbWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBPdmVycmlkaW5nIFdvcmRQcmVzcyBuYXRpdmUgc3R5bGVzLlxuI3dwY29udGVudCB7XG5cdHBhZGRpbmctbGVmdDogMDtcbn1cblxuLm9jZGkge1xuXHRtYXgtd2lkdGg6IG5vbmU7XG5cblx0aDIge1xuXHRcdHRleHQtYWxpZ246IGluaGVyaXQ7XG5cdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAzOXB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0fVxuXG5cdGgyOmZpcnN0LWNoaWxkLFxuXHRoMzpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXG5cdGhyIHtcblx0XHRtYXJnaW46IDMwcHggMDtcblx0fVxuXG5cdC5ub3RpY2UsXG5cdC51cGRhdGUtbmFnLFxuXHQjdXBkYXRlLW5hZyB7XG5cdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0XHRtYXJnaW46IDAgMCAzMHB4IDA7XG5cdH1cblxuXHQmLW5vdGljZXMtd3JhcHBlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdC5ub3RpY2UsXG5cdFx0LnVwZGF0ZS1uYWcsXG5cdFx0I3VwZGF0ZS1uYWcge1xuXHRcdFx0bWFyZ2luOiAwIDAgMTVweCAwO1xuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX2FkbWluLW5vdGljZXMge1xuXHRcdC5vY2RpLW5vdGljZXMtd3JhcHBlciB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblxuXHQmLWJ1dHRvbi1kaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC42ICFpbXBvcnRhbnQ7XG5cdFx0Y3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xuXHR9XG5cblx0Ji1jb250ZW50LW5vdGljZSB7XG5cdFx0cGFkZGluZzogMjVweDtcblx0XHRiYWNrZ3JvdW5kOiAjRTVGNUZBO1xuXHRcdGJvcmRlci1yYWRpdXM6IDZweDtcblx0XHRtYXJnaW46IDMwcHg7XG5cblx0XHRwIHtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHRcdFx0Y29sb3I6ICM0NDQ0NDQ7XG5cdFx0XHRtYXJnaW46IDAgMCAxMHB4IDA7XG5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji1pbXBvcnRpbmcsXG5cdCYtaW1wb3J0ZWQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHBhZGRpbmc6IDMwcHg7XG5cblx0XHRwIHtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxOXB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdGNvbG9yOiAjNDQ0NDQ0O1xuXHRcdFx0bWFyZ2luOiAwIDAgMTBweCAwO1xuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtaGVhZGVyIHtcblx0XHRcdGgyIHtcblx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjlweDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRcdH1cblxuXHRcdFx0cCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcblxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLWNvbnRlbnQge1xuXHRcdFx0bWFyZ2luOiAwIDIwcHg7XG5cblx0XHRcdCYtaW1wb3J0aW5nIHtcblx0XHRcdFx0d2lkdGg6IDQxNXB4O1xuXHRcdFx0XHRoZWlnaHQ6IDIyOHB4O1xuXHRcdFx0XHRtYXJnaW46IDUwcHggMCAyMHB4IDA7XG5cdFx0XHR9XG5cblx0XHRcdCYtaW1wb3J0ZWQge1xuXHRcdFx0XHRtYXJnaW46IDgwcHggMCA1MHB4IDA7XG5cblx0XHRcdFx0Ji0tc3VjY2VzcyB7XG5cdFx0XHRcdFx0d2lkdGg6IDE1NnB4O1xuXHRcdFx0XHRcdGhlaWdodDogMTI0cHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLS1lcnJvcixcblx0XHRcdFx0Ji0td2FybmluZyB7XG5cdFx0XHRcdFx0d2lkdGg6IDEyNHB4O1xuXHRcdFx0XHRcdGhlaWdodDogMTI0cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Lm5vdGljZSB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdG1hcmdpbjogMzBweCAwO1xuXG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDE1cHggM3B4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjJweDtcblx0XHRcdFx0XHRjb2xvcjogIzc3Nzc3Nztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtZm9vdGVyIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRtaW4taGVpZ2h0OiAxMDBweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2RkZGRkZDtcblx0XHRcdG1hcmdpbjogMzBweCAtMzBweCAtMzBweDtcblxuXHRcdFx0YS5idXR0b24ge1xuXHRcdFx0XHRmbGV4OiAwIDEgMjUlO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDMwcHg7XG5cblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuYnV0dG9uLmJ1dHRvbi1oZXJvIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRtaW4taGVpZ2h0OiA0MHB4O1xuXHRcdHBhZGRpbmc6IDlweCAxOHB4O1xuXG5cdFx0Ji5vY2RpX19idXR0b24uYnV0dG9uLXByaW1hcnk6ZGlzYWJsZWQsXG5cdFx0Ji5vY2RpX19idXR0b24uYnV0dG9uLXByaW1hcnlbZGlzYWJsZWRdIHtcblx0XHRcdGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjOTk5OTk5ICFpbXBvcnRhbnQ7XG5cdFx0XHRib3JkZXItY29sb3I6ICM5OTk5OTkgIWltcG9ydGFudDtcblx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHR9XG5cdH1cblxuXHQvLyBSZWR1eC5cblx0Jl9fcmVkdXgtb3B0aW9uLW5hbWUge1xuXHRcdCYtaW5wdXQge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdFx0XHR3aWR0aDogMTM3cHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcblx0XHRcdHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuXHRcdFx0Zm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG5cdFx0XHRsaW5lLWhlaWdodDogMTZweCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdCYtaGlkZS1pbnB1dCB7XG5cdFx0d2lkdGg6IDAuMXB4ICFpbXBvcnRhbnQ7XG5cdFx0aGVpZ2h0OiAwLjFweCAhaW1wb3J0YW50O1xuXHRcdG9wYWNpdHk6IDAgIWltcG9ydGFudDtcblx0XHRvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG5cdFx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdFx0ei1pbmRleDogLTEgIWltcG9ydGFudDtcblx0fVxufVxuXG4uZmVhdHVyZS1zZWN0aW9uICsgaHIge1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4jd3Bib2R5IHNlbGVjdCB7XG5cdGhlaWdodDogYXV0bztcblx0cGFkZGluZzogLjYyZW07XG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4ub2NkaSB7XG5cblx0Jl9fdGl0bGUtY29udGFpbmVyIHtcblx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcblx0XHRwYWRkaW5nOiAyMHB4IDMwcHg7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA3KTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdFx0Ji10aXRsZSB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjlweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0fVxuXG5cdFx0Ji1pY29uIHtcblx0XHRcdHdpZHRoOiAxOXB4O1xuXHRcdFx0aGVpZ2h0OiAxOXB4O1xuXHRcdH1cblx0fVxuXG5cdCZfX2NvbnRlbnQtY29udGFpbmVyIHtcblx0XHRwYWRkaW5nOiAzMHB4O1xuXG5cdFx0Ji1jb250ZW50IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHRcdCYtLW1haW4ge1xuXHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDMwcHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG5cdFx0XHR9XG5cblx0XHRcdCYtLXNpZGUge1xuXHRcdFx0XHR3aWR0aDogMzczcHg7XG5cblx0XHRcdFx0Lm9jZGlfX2NhcmQtY29udGVudCB7XG5cdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5zY3JlZW5zaG90IHtcblx0XHRcdFx0XHRoZWlnaHQ6IDI3OHB4O1xuXG5cdFx0XHRcdFx0Ji5ibGFuayB7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjQ0NEMEQ0O1xuXHRcdFx0XHRcdFx0ZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDcpKTtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBTEVsRVFWUVlHV084ZCsvZWZ3WWtvS2lvaU1SallHQkM0V0hoVUs2QThUOFFJSnQ4Ly81OVpDNDkzQUFBUXNzS3BCSzRGNUFBQUFBQVNVVk9SSzVDWUlJPSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Lm9jZGlfX2NhcmQtZm9vdGVyIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAxNXB4O1xuXG5cdFx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE5cHg7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Lm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtaGVhZGVyLFxuXHRcdFx0Lm9jZGktY3JlYXRlLWNvbnRlbnQtaGVhZGVyIHtcblx0XHRcdFx0cGFkZGluZzogMzBweDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGRkZGQ7XG5cblx0XHRcdFx0aDIge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjZweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdFx0XHRcdG1hcmdpbjogMCAwIDZweCAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdFx0Y29sb3I6ICM0NDQ0NDQ7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIDAgMTBweCAwO1xuXG5cdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQubm90aWNlIHtcblx0XHRcdFx0XHRtYXJnaW46IDMwcHggMCAwO1xuXG5cdFx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0XHRtYXJnaW46IC41ZW0gMDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzNjNDM0YTtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQsXG5cdFx0XHQub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IHtcblx0XHRcdFx0LnBsdWdpbi1pdGVtLFxuXHRcdFx0XHQuY29udGVudC1pdGVtIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdG1hcmdpbjogMCAzMHB4O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDI1cHggMDtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTtcblxuXHRcdFx0XHRcdC5vY2RpLWxvYWRpbmcge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLS1hY3RpdmUge1xuXHRcdFx0XHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXG5cdFx0XHRcdFx0XHQucGx1Z2luLWl0ZW0tY2hlY2tib3gsXG5cdFx0XHRcdFx0XHQuY29udGVudC1pdGVtLWNoZWNrYm94IHtcblxuXHRcdFx0XHRcdFx0XHRpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94IHtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogIzY0QjQ1MDtcblxuXHRcdFx0XHRcdFx0XHRcdC5vY2RpLWNoZWNrLWljb24ge1xuXHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLS1yZXF1aXJlZCB7XG5cdFx0XHRcdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji0tbG9hZGluZyB7XG5cdFx0XHRcdFx0XHQub2NkaS1sb2FkaW5nIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC5wbHVnaW4taXRlbS1jaGVja2JveCxcblx0XHRcdFx0XHRcdC5jb250ZW50LWl0ZW0tY2hlY2tib3gge1xuXG5cdFx0XHRcdFx0XHRcdGlucHV0W3R5cGU9Y2hlY2tib3hdICsgLmNoZWNrYm94IHtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblxuXHRcdFx0XHRcdFx0XHRcdC5vY2RpLWxvY2staWNvbiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYtY29udGVudCB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cblx0XHRcdFx0XHRcdCYtdGl0bGUge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDAgMCA0cHggMDtcblxuXHRcdFx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogNXB4O1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkI5MDA7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtMXB4O1xuXG5cdFx0XHRcdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxMHB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMHB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luOiAzcHg7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji1pbmZvIHtcblx0XHRcdFx0XHRcdHAge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogIzAwYTMyYSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYtZXJyb3Ige1xuXHRcdFx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjZDYzNjM4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjJweDtcblx0XHRcdFx0XHRcdGNvbG9yOiAjNDQ0NDQ0O1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxN3B4O1xuXHRcdFx0XHRcdFx0Y29sb3I6ICM3Nzc3Nzc7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgMCA2cHggMDtcblxuXHRcdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5wbHVnaW4taXRlbS1jaGVja2JveCxcblx0XHRcdFx0XHQuY29udGVudC1pdGVtLWNoZWNrYm94IHtcblx0XHRcdFx0XHRcdC5jaGVja2JveCB7XG5cdFx0XHRcdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmMWYxZjE7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAzMnB4O1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDMycHg7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDE2cHg7XG5cdFx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG5cblx0XHRcdFx0XHRcdFx0Lm9jZGktY2hlY2staWNvbiB7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMjBweDtcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luOiA2cHg7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQub2NkaS1sb2NrLWljb24ge1xuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTRweDtcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDE3cHg7XG5cdFx0XHRcdFx0XHRcdFx0Ym90dG9tOiAtNXB4O1xuXHRcdFx0XHRcdFx0XHRcdHJpZ2h0OiAtMnB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0aW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveCB7XG5cdFx0XHRcdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogIzAwN2NiYTtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMjBweDtcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW46IDVweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYtbm90aWNlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDI1cHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI0U1RjVGQTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdFx0XHRcdFx0bWFyZ2luOiAtMTBweCAzMHB4IDMwcHggMzBweDtcblxuXHRcdFx0XHRcdHAge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzQ0NDQ0NDtcblx0XHRcdFx0XHRcdG1hcmdpbjogMCAwIDEwcHggMDtcblxuXHRcdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Lm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtZm9vdGVyLFxuXHRcdFx0Lm9jZGktY3JlYXRlLWNvbnRlbnQtZm9vdGVyIHtcblx0XHRcdFx0cGFkZGluZzogMzBweDtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZhZmFmYTtcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGRkZGQ7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0XHQuYnV0dG9uIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE5cHg7XG5cdFx0XHRcdFx0cGFkZGluZzogMTBweCAxOHB4O1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX2ludHJvLXRleHQge1xuXHRcdHAge1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI2cHg7XG5cdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdFx0Y29sb3I6ICM2NjY2NjY7XG5cdFx0XHRtYXJnaW46IDAgMCAyNHB4O1xuXHRcdH1cblxuXHRcdHVsIHtcblx0XHRcdHBhZGRpbmc6IDAgNCU7XG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcblx0XHR9XG5cdH1cblxuXHQmX190aGVtZS1hYm91dCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRcdCYtc2NyZWVuc2hvdHMge1xuXHRcdFx0ZmxleDogMTE7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDMwcHg7XG5cblx0XHRcdC5zY3JlZW5zaG90IHtcblx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNDQ0QwRDQ7XG5cdFx0XHRcdFx0ZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDcpKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuYmxhbmsge1xuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNDQ0QwRDQ7XG5cdFx0XHRcdFx0ZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDcpKTtcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiA1MDBweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FZQUFBREVENzZMQUFBQUxFbEVRVlFZR1dPOGQrL2Vmd1lrb0tpb2lNUmpZR0JDNFdIaFVLNkE4VDhRSUp0OC8vNTlaQzQ5M0FBQVFzc0twQks0RjVBQUFBQUFTVVZPUks1Q1lJST0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtaW5mbyB7XG5cdFx0XHRmbGV4OiAxMDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdFx0XHQudGhlbWUtdGl0bGUge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cblx0XHRcdFx0LnRoZW1lLW5hbWUge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDE2cHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQudGhlbWUtdmVyc2lvbiB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdFx0XHRcdFx0Y29sb3I6ICM3Mjc3N0M7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC50aGVtZS1hdXRob3Ige1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxOXB4O1xuXHRcdFx0XHRjb2xvcjogIzcyNzc3Qztcblx0XHRcdFx0bWFyZ2luOiAwIDAgMjBweDtcblx0XHRcdH1cblxuXHRcdFx0LnRoZW1lLWRlc2NyaXB0aW9uIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblx0XHRcdFx0Y29sb3I6ICM1NTU1NTU7XG5cdFx0XHRcdG1hcmdpbjogMCAwIDIwcHg7XG5cdFx0XHR9XG5cblx0XHRcdC50aGVtZS10YWdzIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRcdFx0Y29sb3I6ICM1NTU1NTU7XG5cdFx0XHRcdG1hcmdpbjogNHB4IDAgMDtcblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5vY2RpLWltcG9ydC1tb2RlLXN3aXRjaCB7XG5cdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTdweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAbWVkaWEgKG1heC13aWR0aDogODgwcHgpIHtcblx0XHRcdCYge1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG5cdFx0XHRcdCYtc2NyZWVuc2hvdHMge1xuXHRcdFx0XHRcdG1hcmdpbjogMCAwIDMwcHggMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIFBsdWdpbiBlbGVtZW50cy5cblx0Jl9fZGVtby1pbXBvcnQtZmlsZXMge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0Jl9fZGVtby1pbXBvcnQtcHJldmlldy1pbWFnZS1tZXNzYWdlIHtcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdH1cblxuXHQvLyBQbHVnaW4gdGl0bGUuXG5cdCZfX3RpdGxlOmJlZm9yZSB7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0fVxuXG5cdC8vIFBsdWdpbiBtdWx0aSBzZWxlY3QgaW1wb3J0IGFuZCBQbHVnaW4gZmlsZSB1cGxvYWQgY29udGFpbmVycy5cblx0Jl9fbXVsdGktc2VsZWN0LWltcG9ydCxcblx0Jl9fZGVtby1pbXBvcnQtbm90aWNlOm5vdCg6ZW1wdHkpIHtcblx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdG1hcmdpbjogMzBweCAwO1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRsaW5lLWhlaWdodDogMTlweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7XG5cdH1cblxuXHQmX19maWxlLXVwbG9hZC1jb250YWluZXIge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG5cdFx0Ym94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG5cblx0XHQmLS1oZWFkZXIge1xuXHRcdFx0cGFkZGluZzogMzBweDtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkZGRkO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcblxuXHRcdFx0aDIge1xuXHRcdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyN3B4O1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji1pdGVtcyB7XG5cdFx0XHRwYWRkaW5nOiAzMHB4IDMwcHggMCAzMHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcblxuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblxuXHRcdFx0Ji0tc2Vjb25kLXJvdyB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQub2NkaV9fY2FyZCB7XG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cblx0XHRcdFx0Ji1jb250ZW50IHtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0XHQmLWluZm8ge1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0cmlnaHQ6IDEwcHg7XG5cdFx0XHRcdFx0XHR0b3A6IDEwcHg7XG5cblx0XHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxNnB4O1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji0tZm9vdGVyIHtcblx0XHRcdHBhZGRpbmc6IDMwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGRkZGQ7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR9XG5cdH1cblxuXHQmX19kZW1vLWltcG9ydC1ub3RpY2U6bm90KDplbXB0eSkge1xuXHRcdGJvcmRlcjogMDtcblx0XHRib3JkZXItbGVmdDogNHB4IHNvbGlkICMwMGEwZDI7XG5cdFx0Ym94LXNoYWRvdzogMCAxcHggMXB4IDAgcmdiYSgwLDAsMCwuMSk7XG5cdH1cblxuXHRbZGlyPVwicnRsXCJdICZfX2RlbW8taW1wb3J0LW5vdGljZTpub3QoOmVtcHR5KSB7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGJvcmRlci1yaWdodDogNHB4IHNvbGlkICMwMGEwZDI7XG5cdH1cblxuXHQvLyBQbHVnaW4gYnV0dG9uLlxuXHQmX19idXR0b24tY29udGFpbmVyIHtcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHR9XG5cblx0Ly8gQUpBWCBsb2FkZXIuXG5cdCZfX2FqYXgtbG9hZGVyIHtcblx0XHRmb250LXNpemU6IDEuNWVtO1xuXG5cdFx0LnNwaW5uZXIge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNnB4O1xuXHRcdH1cblx0fVxuXG5cdC8vIE5ldyBncmlkIGxheW91dC5cblx0Jl9fZ2wge1xuXHRcdCYtbmF2aWdhdGlvbiBsaSBhIHtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Ji1pdGVtLWNvbnRhaW5lciB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdH1cblxuXHRcdCYtaXRlbSB7XG5cdFx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwwLDAsMC4wNyk7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcblxuXHRcdFx0Ji1pbWFnZS1jb250YWluZXIge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuXG5cdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiA2Ni42NjY2NiU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji1pbWFnZSB7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG5cblx0XHRcdFx0Ji0tbm8taW1hZ2Uge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiA0NSU7XG5cdFx0XHRcdFx0cmlnaHQ6IDI1JTtcblx0XHRcdFx0XHRsZWZ0OiAyNSU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji1mb290ZXIge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDhweCAxMHB4O1xuXHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2RkZGRkZDtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjY1KTtcblx0XHRcdH1cblxuXHRcdFx0Ji10aXRsZSB7XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxOXB4O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRcdGNvbG9yOiAjMjMyODJkO1xuXHRcdFx0XHRwYWRkaW5nOiA1cHggMCA2cHg7XG5cblx0XHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6IDc4MnB4KSB7XG5cdFx0XHRcdFx0JiB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAxMnB4IDAgMTNweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji1idXR0b25zIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXG5cdFx0XHQmLWJ1dHRvbiB7XG5cblx0XHRcdFx0JiArICYge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxNXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiA3ODJweCkge1xuXHRcdFx0XHQmLWJ1dHRvbiB7XG5cdFx0XHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblxuXHRcdFx0XHRcdCYgKyAmIHtcblx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Lm9jZGlfX2dsLWl0ZW0tYnV0dG9ucyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQub2NkaV9fZ2wtaXRlbS10aXRsZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5vY2RpX19nbC1pdGVtLWZvb3RlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtaGVhZGVyIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAyNHB4KTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjY2NkMGQ0O1xuXHRcdFx0Ym94LXNoYWRvdzogMHB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA3KTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdFx0XHRwYWRkaW5nOiAwIDExcHg7XG5cdFx0fVxuXG5cdFx0Ji1uYXZpZ2F0aW9uIHtcblx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRmbG9hdDogbGVmdDtcblxuXHRcdFx0dWwge1xuXHRcdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdH1cblxuXHRcdFx0bGkge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdFx0Ji5hY3RpdmUgYSxcblx0XHRcdFx0Ji5hY3RpdmUgYTpob3ZlciB7XG5cblx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxNHB4O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICM2NjY2NjY7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRjb2xvcjogIzIzMjgyRDtcblx0XHRcdFx0XHRwYWRkaW5nOiAxOHB4IDEwcHg7XG5cblx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxNHB4O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNmZmZmZmY7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzAwYTBkMjtcblx0XHRcdFx0XHRcdGN1cnNvcjpwb2ludGVyO1xuXG5cdFx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNmZmZmZmY7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji1zZWFyY2gtaW5wdXQge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW46IDEwcHggMDtcblx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXHRcdFx0Y29sb3I6ICM3Mjc3N0MgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHRAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcblx0XHRcdCYtbmF2aWdhdGlvbiB7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAyODBweCk7XG5cblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdG1hcmdpbjogMCAxNXB4O1xuXHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAxOHB4IDEwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYtc2VhcmNoLWlucHV0IHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMjgwcHg7XG5cdFx0XHRcdGhlaWdodDogMzBweDtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAxMXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmLWl0ZW0tY29udGFpbmVyIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAtMjBweDtcblx0XHRcdH1cblxuXHRcdFx0Ji1pdGVtIHtcblx0XHRcdFx0ZmxleDogMCAwIGNhbGMoNTAlIC0gMjBweCk7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAbWVkaWEgKG1pbi13aWR0aDogMTEyMHB4KSB7XG5cdFx0XHQmLWl0ZW0tY29udGFpbmVyIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAtMzBweDtcblx0XHRcdH1cblxuXHRcdFx0Ji1pdGVtIHtcblx0XHRcdFx0ZmxleDogMCAwIGNhbGMoMzMuMzMlIC0gMzBweCk7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMzBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19jYXJkIHtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3KTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdFx0Ji1jb250ZW50IHtcblx0XHRcdHBhZGRpbmc6IDMwcHg7XG5cblx0XHRcdC5vY2RpLWljb24ge1xuXG5cdFx0XHRcdCYtLWNvbnRlbnQge1xuXHRcdFx0XHRcdHdpZHRoOiA1M3B4O1xuXHRcdFx0XHRcdGhlaWdodDogNTNweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYtLXdpZGdldHMge1xuXHRcdFx0XHRcdHdpZHRoOiA1NnB4O1xuXHRcdFx0XHRcdGhlaWdodDogNDlweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYtLWJydXNoIHtcblx0XHRcdFx0XHR3aWR0aDogNTVweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDUycHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLS1yZWR1eCB7XG5cdFx0XHRcdFx0d2lkdGg6IDgycHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA3MHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji0tcGx1Z2lucyB7XG5cdFx0XHRcdFx0d2lkdGg6IDY1cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA2NHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji0tY29weSB7XG5cdFx0XHRcdFx0d2lkdGg6IDQycHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA1MnB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji0tbGF5b3V0IHtcblx0XHRcdFx0XHR3aWR0aDogNTNweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDUycHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLWNvbnRhaW5lciB7XG5cdFx0XHRcdFx0aGVpZ2h0OiA3MHB4O1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRoMyB7XG5cdFx0XHRcdG1hcmdpbjogNXB4IDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHR9XG5cblx0XHRcdHAge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdFx0XHRcdGNvbG9yOiAjNjY2NjY2O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtZm9vdGVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICNmYWZhZmE7XG5cdFx0XHRib3gtc2hhZG93OiAwcHggLTFweCAwcHggI0RERERERDtcblx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHQuYnV0dG9uLXNlY29uZGFyeSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmYWZhZmE7XG5cdFx0XHR9XG5cblx0XHRcdGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcblx0XHRcdFx0d2lkdGg6IDIwMHB4O1xuXHRcdFx0XHRwYWRkaW5nOiA0cHggMDtcblx0XHRcdH1cblxuXHRcdFx0LmJ1dHRvbi1kaXNhYmxlZCB7XG5cdFx0XHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji0tdGhyZWUge1xuXHRcdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0XHRcdFx0ZmxleDogMCAwIGNhbGMoNTAlIC0gMTBweCk7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblxuXHRcdFx0XHQmOm50aC1jaGlsZCgybikge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogMTEyMHB4KSB7XG5cdFx0XHRcdGZsZXg6IDAgMCBjYWxjKDMzLjMzJSAtIDIwcHgpO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDMwcHg7XG5cblx0XHRcdFx0JjpudGgtY2hpbGQoMm4pIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDMwcHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOm50aC1jaGlsZCgzbikge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLWZvdXIge1xuXHRcdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0XHRcdFx0ZmxleDogMCAwIGNhbGMoNTAlIC0gMTBweCk7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblxuXHRcdFx0XHQmOm50aC1jaGlsZCgybikge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogMTEyMHB4KSB7XG5cdFx0XHRcdGZsZXg6IDAgMCBjYWxjKDUwJSAtIDE1cHgpO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDMwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIEdyaWQgYW5pbWF0aW9ucy5cbkBrZXlmcmFtZXMgb2NkaS1mYWRlIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi5vY2RpLWlzLWZhZGVvdXQge1xuXHRhbmltYXRpb246IG9jZGktZmFkZSBsaW5lYXIgMjAwbXMgMSBmb3J3YXJkcztcbn1cblxuLm9jZGktaXMtZmFkZWluIHtcblx0YW5pbWF0aW9uOiBvY2RpLWZhZGUgbGluZWFyIDIwMG1zIDEgcmV2ZXJzZSBmb3J3YXJkcztcbn1cblxuLy8gR3JpZCBsYXlvdXQgbW9kYWwgd2luZG93LlxuLm9jZGlfX21vZGFsIHtcblx0Ji1pbWFnZS1jb250YWluZXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTgwcHg7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRpbWcge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0Ji1pdGVtLXRpdGxlIHtcblx0XHRtYXJnaW4tdG9wOiAwLjVlbTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxuXG5cdCYtbm90aWNlLm9jZGlfX2RlbW8taW1wb3J0LW5vdGljZTpub3QoOmVtcHR5KSB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcblx0XHRib3JkZXItbGVmdDogNHB4IHNvbGlkICMwMGEwZDI7XG5cdFx0bWFyZ2luOiAyMHB4IDAgMDtcblx0fVxufVxuXG4vLyBDdXN0b20gc3R5bGUgZm9yIHRoZSBwbHVnaW4gU1ZHIGxvYWRlci5cbi5vY2RpLWxvYWRpbmcge1xuXHRhbmltYXRpb246IDAuNjVzIGxpbmVhciBpbmZpbml0ZSBvY2RpLWxvYWRpbmctc3Bpbjtcbn1cblxuLm9jZGktbG9hZGluZy1tZCB7XG5cdHdpZHRoOiAzMnB4O1xuXHRoZWlnaHQ6IDMycHg7XG59XG5cbi5vY2RpLWxvYWRpbmctc20ge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG5Aa2V5ZnJhbWVzIG9jZGktbG9hZGluZy1zcGluIHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlWigyNzBkZWcpO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlWig2MzBkZWcpXG5cdH1cbn1cbiIsIiN3cGNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5vY2RpIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4ub2NkaSBoMiB7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgbGluZS1oZWlnaHQ6IDM5cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5vY2RpIGgyOmZpcnN0LWNoaWxkLFxuLm9jZGkgaDM6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ub2NkaSBociB7XG4gIG1hcmdpbjogMzBweCAwO1xufVxuXG4ub2NkaSAubm90aWNlLFxuLm9jZGkgLnVwZGF0ZS1uYWcsXG4ub2NkaSAjdXBkYXRlLW5hZyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAwIDMwcHggMDtcbn1cblxuLm9jZGktbm90aWNlcy13cmFwcGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm9jZGktbm90aWNlcy13cmFwcGVyIC5ub3RpY2UsXG4ub2NkaS1ub3RpY2VzLXdyYXBwZXIgLnVwZGF0ZS1uYWcsXG4ub2NkaS1ub3RpY2VzLXdyYXBwZXIgI3VwZGF0ZS1uYWcge1xuICBtYXJnaW46IDAgMCAxNXB4IDA7XG59XG5cbi5vY2RpLW5vdGljZXMtd3JhcHBlciAubm90aWNlOmxhc3QtY2hpbGQsXG4ub2NkaS1ub3RpY2VzLXdyYXBwZXIgLnVwZGF0ZS1uYWc6bGFzdC1jaGlsZCxcbi5vY2RpLW5vdGljZXMtd3JhcHBlciAjdXBkYXRlLW5hZzpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLm9jZGlfX2FkbWluLW5vdGljZXMgLm9jZGktbm90aWNlcy13cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5vY2RpLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNiAhaW1wb3J0YW50O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG59XG5cbi5vY2RpLWNvbnRlbnQtbm90aWNlIHtcbiAgcGFkZGluZzogMjVweDtcbiAgYmFja2dyb3VuZDogI0U1RjVGQTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBtYXJnaW46IDMwcHg7XG59XG5cbi5vY2RpLWNvbnRlbnQtbm90aWNlIHAge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBjb2xvcjogIzQ0NDQ0NDtcbiAgbWFyZ2luOiAwIDAgMTBweCAwO1xufVxuXG4ub2NkaS1jb250ZW50LW5vdGljZSBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ub2NkaS1pbXBvcnRpbmcsIC5vY2RpLWltcG9ydGVkIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAzMHB4O1xufVxuXG4ub2NkaS1pbXBvcnRpbmcgcCwgLm9jZGktaW1wb3J0ZWQgcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjNDQ0NDQ0O1xuICBtYXJnaW46IDAgMCAxMHB4IDA7XG59XG5cbi5vY2RpLWltcG9ydGluZyBwOmxhc3QtY2hpbGQsIC5vY2RpLWltcG9ydGVkIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5vY2RpLWltcG9ydGluZy1oZWFkZXIgaDIsIC5vY2RpLWltcG9ydGVkLWhlYWRlciBoMiB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5vY2RpLWltcG9ydGluZy1oZWFkZXIgcCwgLm9jZGktaW1wb3J0ZWQtaGVhZGVyIHAge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5vY2RpLWltcG9ydGluZy1oZWFkZXIgcDpsYXN0LWNoaWxkLCAub2NkaS1pbXBvcnRlZC1oZWFkZXIgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm9jZGktaW1wb3J0aW5nLWNvbnRlbnQsIC5vY2RpLWltcG9ydGVkLWNvbnRlbnQge1xuICBtYXJnaW46IDAgMjBweDtcbn1cblxuLm9jZGktaW1wb3J0aW5nLWNvbnRlbnQtaW1wb3J0aW5nLCAub2NkaS1pbXBvcnRlZC1jb250ZW50LWltcG9ydGluZyB7XG4gIHdpZHRoOiA0MTVweDtcbiAgaGVpZ2h0OiAyMjhweDtcbiAgbWFyZ2luOiA1MHB4IDAgMjBweCAwO1xufVxuXG4ub2NkaS1pbXBvcnRpbmctY29udGVudC1pbXBvcnRlZCwgLm9jZGktaW1wb3J0ZWQtY29udGVudC1pbXBvcnRlZCB7XG4gIG1hcmdpbjogODBweCAwIDUwcHggMDtcbn1cblxuLm9jZGktaW1wb3J0aW5nLWNvbnRlbnQtaW1wb3J0ZWQtLXN1Y2Nlc3MsIC5vY2RpLWltcG9ydGVkLWNvbnRlbnQtaW1wb3J0ZWQtLXN1Y2Nlc3Mge1xuICB3aWR0aDogMTU2cHg7XG4gIGhlaWdodDogMTI0cHg7XG59XG5cbi5vY2RpLWltcG9ydGluZy1jb250ZW50LWltcG9ydGVkLS1lcnJvciwgLm9jZGktaW1wb3J0aW5nLWNvbnRlbnQtaW1wb3J0ZWQtLXdhcm5pbmcsIC5vY2RpLWltcG9ydGVkLWNvbnRlbnQtaW1wb3J0ZWQtLWVycm9yLCAub2NkaS1pbXBvcnRlZC1jb250ZW50LWltcG9ydGVkLS13YXJuaW5nIHtcbiAgd2lkdGg6IDEyNHB4O1xuICBoZWlnaHQ6IDEyNHB4O1xufVxuXG4ub2NkaS1pbXBvcnRpbmctY29udGVudCAubm90aWNlLCAub2NkaS1pbXBvcnRlZC1jb250ZW50IC5ub3RpY2Uge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW46IDMwcHggMDtcbn1cblxuLm9jZGktaW1wb3J0aW5nLWNvbnRlbnQgLm5vdGljZSBwLCAub2NkaS1pbXBvcnRlZC1jb250ZW50IC5ub3RpY2UgcCB7XG4gIHBhZGRpbmc6IDE1cHggM3B4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBjb2xvcjogIzc3Nzc3Nztcbn1cblxuLm9jZGktaW1wb3J0aW5nLWZvb3RlciwgLm9jZGktaW1wb3J0ZWQtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkZGRkO1xuICBtYXJnaW46IDMwcHggLTMwcHggLTMwcHg7XG59XG5cbi5vY2RpLWltcG9ydGluZy1mb290ZXIgYS5idXR0b24sIC5vY2RpLWltcG9ydGVkLWZvb3RlciBhLmJ1dHRvbiB7XG4gIGZsZXg6IDAgMSAyNSU7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbn1cblxuLm9jZGktaW1wb3J0aW5nLWZvb3RlciBhLmJ1dHRvbjpsYXN0LWNoaWxkLCAub2NkaS1pbXBvcnRlZC1mb290ZXIgYS5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLm9jZGkgLmJ1dHRvbi5idXR0b24taGVybyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDlweCAxOHB4O1xufVxuXG4ub2NkaSAuYnV0dG9uLmJ1dHRvbi1oZXJvLm9jZGlfX2J1dHRvbi5idXR0b24tcHJpbWFyeTpkaXNhYmxlZCwgLm9jZGkgLmJ1dHRvbi5idXR0b24taGVyby5vY2RpX19idXR0b24uYnV0dG9uLXByaW1hcnlbZGlzYWJsZWRdIHtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogIzk5OTk5OSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICM5OTk5OTkgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4ub2NkaV9fcmVkdXgtb3B0aW9uLW5hbWUtaW5wdXQge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgd2lkdGg6IDEzN3B4O1xuICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAxMHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4ub2NkaS1oaWRlLWlucHV0IHtcbiAgd2lkdGg6IDAuMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMC4xcHggIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAtMSAhaW1wb3J0YW50O1xufVxuXG4uZmVhdHVyZS1zZWN0aW9uICsgaHIge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4jd3Bib2R5IHNlbGVjdCB7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogLjYyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4ub2NkaV9fdGl0bGUtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLm9jZGlfX3RpdGxlLWNvbnRhaW5lci10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMjlweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLm9jZGlfX3RpdGxlLWNvbnRhaW5lci1pY29uIHtcbiAgd2lkdGg6IDE5cHg7XG4gIGhlaWdodDogMTlweDtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMzBweDtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudC0tbWFpbiB7XG4gIGZsZXg6IDE7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3KTtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQtLXNpZGUge1xuICB3aWR0aDogMzczcHg7XG59XG5cbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50LS1zaWRlIC5vY2RpX19jYXJkLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwO1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudC0tc2lkZSAuc2NyZWVuc2hvdCB7XG4gIGhlaWdodDogMjc4cHg7XG59XG5cbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50LS1zaWRlIC5zY3JlZW5zaG90LmJsYW5rIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDRDBENDtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDcpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQWdBQUFBSUNBWUFBQURFRDc2TEFBQUFMRWxFUVZRWUdXTzhkKy9lZndZa29LaW9pTVJqWUdCQzRXSGhVSzZBOFQ4UUlKdDgvLzU5WkM0OTNBQUFRc3NLcEJLNEY1QUFBQUFBU1VWT1JLNUNZSUk9KTtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQtLXNpZGUgLm9jZGlfX2NhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogMTVweDtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQtLXNpZGUgLm9jZGlfX2NhcmQtZm9vdGVyIGgzIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMTlweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudC0tc2lkZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtaGVhZGVyLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtaGVhZGVyIHtcbiAgcGFkZGluZzogMzBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGRkZGQ7XG59XG5cbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWhlYWRlciBoMixcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWhlYWRlciBoMiB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMCAwIDZweCAwO1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1oZWFkZXIgcCxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWhlYWRlciBwIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6ICM0NDQ0NDQ7XG4gIG1hcmdpbjogMCAwIDEwcHggMDtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtaGVhZGVyIHA6bGFzdC1jaGlsZCxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWhlYWRlciBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW46IDA7XG59XG5cbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWhlYWRlciAubm90aWNlLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtaGVhZGVyIC5ub3RpY2Uge1xuICBtYXJnaW46IDMwcHggMCAwO1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1oZWFkZXIgLm5vdGljZSBwLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtaGVhZGVyIC5ub3RpY2UgcCB7XG4gIG1hcmdpbjogLjVlbSAwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjM2M0MzRhO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbSxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbSxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgMzBweDtcbiAgcGFkZGluZzogMjVweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0gLm9jZGktbG9hZGluZyxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbSAub2NkaS1sb2FkaW5nLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0gLm9jZGktbG9hZGluZyxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbSAub2NkaS1sb2FkaW5nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0tLWFjdGl2ZSxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbS0tYWN0aXZlLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0tLWFjdGl2ZSxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbS0tYWN0aXZlIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbS0tYWN0aXZlIC5wbHVnaW4taXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94LFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0tLWFjdGl2ZSAuY29udGVudC1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3gsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0tLWFjdGl2ZSAucGx1Z2luLWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveCxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbS0tYWN0aXZlIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveCxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtLS1hY3RpdmUgLnBsdWdpbi1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3gsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbS0tYWN0aXZlIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveCxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbS0tYWN0aXZlIC5wbHVnaW4taXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94LFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtLS1hY3RpdmUgLmNvbnRlbnQtaXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94IHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjNjRCNDUwO1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbS0tYWN0aXZlIC5wbHVnaW4taXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94IC5vY2RpLWNoZWNrLWljb24sXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbS0tYWN0aXZlIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveCAub2NkaS1jaGVjay1pY29uLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtLS1hY3RpdmUgLnBsdWdpbi1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3ggLm9jZGktY2hlY2staWNvbixcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbS0tYWN0aXZlIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveCAub2NkaS1jaGVjay1pY29uLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0tLWFjdGl2ZSAucGx1Z2luLWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveCAub2NkaS1jaGVjay1pY29uLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0tLWFjdGl2ZSAuY29udGVudC1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3ggLm9jZGktY2hlY2staWNvbixcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbS0tYWN0aXZlIC5wbHVnaW4taXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94IC5vY2RpLWNoZWNrLWljb24sXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0tLWFjdGl2ZSAuY29udGVudC1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3ggLm9jZGktY2hlY2staWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0tLWFjdGl2ZSAucGx1Z2luLWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveDo6YWZ0ZXIsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbS0tYWN0aXZlIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveDo6YWZ0ZXIsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0tLWFjdGl2ZSAucGx1Z2luLWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveDo6YWZ0ZXIsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0tLWFjdGl2ZSAuY29udGVudC1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3g6OmFmdGVyLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0tLWFjdGl2ZSAucGx1Z2luLWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveDo6YWZ0ZXIsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbS0tYWN0aXZlIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveDo6YWZ0ZXIsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0tLWFjdGl2ZSAucGx1Z2luLWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveDo6YWZ0ZXIsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0tLWFjdGl2ZSAuY29udGVudC1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3g6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbS0tcmVxdWlyZWQsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0tLXJlcXVpcmVkLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0tLXJlcXVpcmVkLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtLS1yZXF1aXJlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0tLWxvYWRpbmcgLm9jZGktbG9hZGluZyxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbS0tbG9hZGluZyAub2NkaS1sb2FkaW5nLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0tLWxvYWRpbmcgLm9jZGktbG9hZGluZyxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbS0tbG9hZGluZyAub2NkaS1sb2FkaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtLS1sb2FkaW5nIC5wbHVnaW4taXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSArIC5jaGVja2JveCxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtLS1sb2FkaW5nIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gKyAuY2hlY2tib3gsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0tLWxvYWRpbmcgLnBsdWdpbi1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdICsgLmNoZWNrYm94LFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtLS1sb2FkaW5nIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gKyAuY2hlY2tib3gsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbS0tbG9hZGluZyAucGx1Z2luLWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gKyAuY2hlY2tib3gsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbS0tbG9hZGluZyAuY29udGVudC1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdICsgLmNoZWNrYm94LFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtLS1sb2FkaW5nIC5wbHVnaW4taXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSArIC5jaGVja2JveCxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbS0tbG9hZGluZyAuY29udGVudC1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdICsgLmNoZWNrYm94IHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtLS1sb2FkaW5nIC5wbHVnaW4taXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSArIC5jaGVja2JveCAub2NkaS1sb2NrLWljb24sXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbS0tbG9hZGluZyAuY29udGVudC1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdICsgLmNoZWNrYm94IC5vY2RpLWxvY2staWNvbixcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbS0tbG9hZGluZyAucGx1Z2luLWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gKyAuY2hlY2tib3ggLm9jZGktbG9jay1pY29uLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtLS1sb2FkaW5nIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gKyAuY2hlY2tib3ggLm9jZGktbG9jay1pY29uLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0tLWxvYWRpbmcgLnBsdWdpbi1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdICsgLmNoZWNrYm94IC5vY2RpLWxvY2staWNvbixcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtLS1sb2FkaW5nIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gKyAuY2hlY2tib3ggLm9jZGktbG9jay1pY29uLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtLS1sb2FkaW5nIC5wbHVnaW4taXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSArIC5jaGVja2JveCAub2NkaS1sb2NrLWljb24sXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0tLWxvYWRpbmcgLmNvbnRlbnQtaXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSArIC5jaGVja2JveCAub2NkaS1sb2NrLWljb24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtLS1sb2FkaW5nIC5wbHVnaW4taXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSArIC5jaGVja2JveDo6YWZ0ZXIsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbS0tbG9hZGluZyAuY29udGVudC1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdICsgLmNoZWNrYm94OjphZnRlcixcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbS0tbG9hZGluZyAucGx1Z2luLWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gKyAuY2hlY2tib3g6OmFmdGVyLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtLS1sb2FkaW5nIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gKyAuY2hlY2tib3g6OmFmdGVyLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0tLWxvYWRpbmcgLnBsdWdpbi1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdICsgLmNoZWNrYm94OjphZnRlcixcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtLS1sb2FkaW5nIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gKyAuY2hlY2tib3g6OmFmdGVyLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtLS1sb2FkaW5nIC5wbHVnaW4taXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSArIC5jaGVja2JveDo6YWZ0ZXIsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0tLWxvYWRpbmcgLmNvbnRlbnQtaXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSArIC5jaGVja2JveDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtLWNvbnRlbnQsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0tY29udGVudCxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtLWNvbnRlbnQsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0tY29udGVudCB7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0tY29udGVudC10aXRsZSxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbS1jb250ZW50LXRpdGxlLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0tY29udGVudC10aXRsZSxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbS1jb250ZW50LXRpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgNHB4IDA7XG59XG5cbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtLWNvbnRlbnQtdGl0bGUgc3Bhbixcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbS1jb250ZW50LXRpdGxlIHNwYW4sXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbS1jb250ZW50LXRpdGxlIHNwYW4sXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0tY29udGVudC10aXRsZSBzcGFuIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQjkwMDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbS1jb250ZW50LXRpdGxlIHNwYW4gaW1nLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtLWNvbnRlbnQtdGl0bGUgc3BhbiBpbWcsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbS1jb250ZW50LXRpdGxlIHNwYW4gaW1nLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtLWNvbnRlbnQtdGl0bGUgc3BhbiBpbWcge1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBtYXJnaW46IDNweDtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0taW5mbyBwLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtLWluZm8gcCxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtLWluZm8gcCxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbS1pbmZvIHAge1xuICBjb2xvcjogIzAwYTMyYSAhaW1wb3J0YW50O1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbS1lcnJvciBwLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtLWVycm9yIHAsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbS1lcnJvciBwLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtLWVycm9yIHAge1xuICBjb2xvcjogI2Q2MzYzOCAhaW1wb3J0YW50O1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbTpsYXN0LWNoaWxkLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtOmxhc3QtY2hpbGQsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbTpsYXN0LWNoaWxkLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0gbGFiZWwsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0gbGFiZWwsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbSBsYWJlbCxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbSBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbSBoMyxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbSBoMyxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtIGgzLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtIGgzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgY29sb3I6ICM0NDQ0NDQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0gcCxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbSBwLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0gcCxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbSBwIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTdweDtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIG1hcmdpbjogMCAwIDZweCAwO1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbSBwOmxhc3QtY2hpbGQsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0gcDpsYXN0LWNoaWxkLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0gcDpsYXN0LWNoaWxkLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0gLnBsdWdpbi1pdGVtLWNoZWNrYm94IC5jaGVja2JveCxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggLmNoZWNrYm94LFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtIC5wbHVnaW4taXRlbS1jaGVja2JveCAuY2hlY2tib3gsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0gLmNvbnRlbnQtaXRlbS1jaGVja2JveCAuY2hlY2tib3gsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbSAucGx1Z2luLWl0ZW0tY2hlY2tib3ggLmNoZWNrYm94LFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0gLmNvbnRlbnQtaXRlbS1jaGVja2JveCAuY2hlY2tib3gsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0gLnBsdWdpbi1pdGVtLWNoZWNrYm94IC5jaGVja2JveCxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbSAuY29udGVudC1pdGVtLWNoZWNrYm94IC5jaGVja2JveCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG59XG5cbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtIC5wbHVnaW4taXRlbS1jaGVja2JveCAuY2hlY2tib3ggLm9jZGktY2hlY2staWNvbixcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggLmNoZWNrYm94IC5vY2RpLWNoZWNrLWljb24sXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0gLnBsdWdpbi1pdGVtLWNoZWNrYm94IC5jaGVja2JveCAub2NkaS1jaGVjay1pY29uLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggLmNoZWNrYm94IC5vY2RpLWNoZWNrLWljb24sXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbSAucGx1Z2luLWl0ZW0tY2hlY2tib3ggLmNoZWNrYm94IC5vY2RpLWNoZWNrLWljb24sXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbSAuY29udGVudC1pdGVtLWNoZWNrYm94IC5jaGVja2JveCAub2NkaS1jaGVjay1pY29uLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtIC5wbHVnaW4taXRlbS1jaGVja2JveCAuY2hlY2tib3ggLm9jZGktY2hlY2staWNvbixcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbSAuY29udGVudC1pdGVtLWNoZWNrYm94IC5jaGVja2JveCAub2NkaS1jaGVjay1pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgbWFyZ2luOiA2cHg7XG59XG5cbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtIC5wbHVnaW4taXRlbS1jaGVja2JveCAuY2hlY2tib3ggLm9jZGktbG9jay1pY29uLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0gLmNvbnRlbnQtaXRlbS1jaGVja2JveCAuY2hlY2tib3ggLm9jZGktbG9jay1pY29uLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtIC5wbHVnaW4taXRlbS1jaGVja2JveCAuY2hlY2tib3ggLm9jZGktbG9jay1pY29uLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggLmNoZWNrYm94IC5vY2RpLWxvY2staWNvbixcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtIC5wbHVnaW4taXRlbS1jaGVja2JveCAuY2hlY2tib3ggLm9jZGktbG9jay1pY29uLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0gLmNvbnRlbnQtaXRlbS1jaGVja2JveCAuY2hlY2tib3ggLm9jZGktbG9jay1pY29uLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtIC5wbHVnaW4taXRlbS1jaGVja2JveCAuY2hlY2tib3ggLm9jZGktbG9jay1pY29uLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggLmNoZWNrYm94IC5vY2RpLWxvY2staWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTdweDtcbiAgYm90dG9tOiAtNXB4O1xuICByaWdodDogLTJweDtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0gLnBsdWdpbi1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0gLmNvbnRlbnQtaXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbSAucGx1Z2luLWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0sXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0gLmNvbnRlbnQtaXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtIC5wbHVnaW4taXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLnBsdWdpbi1pdGVtIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0sXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0gLnBsdWdpbi1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtIC5jb250ZW50LWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbSAucGx1Z2luLWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveDo6YWZ0ZXIsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50IC5wbHVnaW4taXRlbSAuY29udGVudC1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3g6OmFmdGVyLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudCAuY29udGVudC1pdGVtIC5wbHVnaW4taXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94OjphZnRlcixcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWluc3RhbGwtcGx1Z2lucy1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbSAuY29udGVudC1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3g6OmFmdGVyLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0gLnBsdWdpbi1pdGVtLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3g6OmFmdGVyLFxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktY3JlYXRlLWNvbnRlbnQtY29udGVudCAucGx1Z2luLWl0ZW0gLmNvbnRlbnQtaXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94OjphZnRlcixcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQgLmNvbnRlbnQtaXRlbSAucGx1Z2luLWl0ZW0tY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveDo6YWZ0ZXIsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50IC5jb250ZW50LWl0ZW0gLmNvbnRlbnQtaXRlbS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94OjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjMDA3Y2JhO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBtYXJnaW46IDVweDtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudC1ub3RpY2UsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50LW5vdGljZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDI1cHg7XG4gIGJhY2tncm91bmQ6ICNFNUY1RkE7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgbWFyZ2luOiAtMTBweCAzMHB4IDMwcHggMzBweDtcbn1cblxuLm9jZGlfX2NvbnRlbnQtY29udGFpbmVyLWNvbnRlbnQgLm9jZGktaW5zdGFsbC1wbHVnaW5zLWNvbnRlbnQtY29udGVudC1ub3RpY2UgcCxcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWNvbnRlbnQtbm90aWNlIHAge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBjb2xvcjogIzQ0NDQ0NDtcbiAgbWFyZ2luOiAwIDAgMTBweCAwO1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1jb250ZW50LW5vdGljZSBwOmxhc3QtY2hpbGQsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1jb250ZW50LW5vdGljZSBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1mb290ZXIsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1mb290ZXIge1xuICBwYWRkaW5nOiAzMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZGRkZDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1mb290ZXIgLmJ1dHRvbixcbi5vY2RpX19jb250ZW50LWNvbnRhaW5lci1jb250ZW50IC5vY2RpLWNyZWF0ZS1jb250ZW50LWZvb3RlciAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMTlweDtcbiAgcGFkZGluZzogMTBweCAxOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1pbnN0YWxsLXBsdWdpbnMtY29udGVudC1mb290ZXIgLmJ1dHRvbiBpbWcsXG4ub2NkaV9fY29udGVudC1jb250YWluZXItY29udGVudCAub2NkaS1jcmVhdGUtY29udGVudC1mb290ZXIgLmJ1dHRvbiBpbWcge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLm9jZGlfX2ludHJvLXRleHQgcCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBtYXJnaW46IDAgMCAyNHB4O1xufVxuXG4ub2NkaV9faW50cm8tdGV4dCB1bCB7XG4gIHBhZGRpbmc6IDAgNCU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlO1xufVxuXG4ub2NkaV9fdGhlbWUtYWJvdXQge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5vY2RpX190aGVtZS1hYm91dC1zY3JlZW5zaG90cyB7XG4gIGZsZXg6IDExO1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG59XG5cbi5vY2RpX190aGVtZS1hYm91dC1zY3JlZW5zaG90cyAuc2NyZWVuc2hvdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5vY2RpX190aGVtZS1hYm91dC1zY3JlZW5zaG90cyAuc2NyZWVuc2hvdCBpbWcge1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0NEMEQ0O1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNykpO1xufVxuXG4ub2NkaV9fdGhlbWUtYWJvdXQtc2NyZWVuc2hvdHMgLnNjcmVlbnNob3QuYmxhbmsge1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0NEMEQ0O1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNykpO1xuICBtaW4taGVpZ2h0OiA1MDBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQWdBQUFBSUNBWUFBQURFRDc2TEFBQUFMRWxFUVZRWUdXTzhkKy9lZndZa29LaW9pTVJqWUdCQzRXSGhVSzZBOFQ4UUlKdDgvLzU5WkM0OTNBQUFRc3NLcEJLNEY1QUFBQUFBU1VWT1JLNUNZSUk9KTtcbn1cblxuLm9jZGlfX3RoZW1lLWFib3V0LXNjcmVlbnNob3RzIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ub2NkaV9fdGhlbWUtYWJvdXQtaW5mbyB7XG4gIGZsZXg6IDEwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5vY2RpX190aGVtZS1hYm91dC1pbmZvIC50aGVtZS10aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbn1cblxuLm9jZGlfX3RoZW1lLWFib3V0LWluZm8gLnRoZW1lLXRpdGxlIC50aGVtZS1uYW1lIHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLm9jZGlfX3RoZW1lLWFib3V0LWluZm8gLnRoZW1lLXRpdGxlIC50aGVtZS12ZXJzaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGNvbG9yOiAjNzI3NzdDO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xufVxuXG4ub2NkaV9fdGhlbWUtYWJvdXQtaW5mbyAudGhlbWUtYXV0aG9yIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMTlweDtcbiAgY29sb3I6ICM3Mjc3N0M7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG59XG5cbi5vY2RpX190aGVtZS1hYm91dC1pbmZvIC50aGVtZS1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGNvbG9yOiAjNTU1NTU1O1xuICBtYXJnaW46IDAgMCAyMHB4O1xufVxuXG4ub2NkaV9fdGhlbWUtYWJvdXQtaW5mbyAudGhlbWUtdGFncyB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiAjNTU1NTU1O1xuICBtYXJnaW46IDRweCAwIDA7XG59XG5cbi5vY2RpX190aGVtZS1hYm91dC1pbmZvIC50aGVtZS10YWdzIHNwYW4ge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ub2NkaV9fdGhlbWUtYWJvdXQtaW5mbyAub2NkaS1pbXBvcnQtbW9kZS1zd2l0Y2gge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4ODBweCkge1xuICAub2NkaV9fdGhlbWUtYWJvdXQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm9jZGlfX3RoZW1lLWFib3V0LXNjcmVlbnNob3RzIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gIH1cbn1cblxuLm9jZGlfX2RlbW8taW1wb3J0LWZpbGVzIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5vY2RpX19kZW1vLWltcG9ydC1wcmV2aWV3LWltYWdlLW1lc3NhZ2Uge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5vY2RpX190aXRsZTpiZWZvcmUge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG59XG5cbi5vY2RpX19tdWx0aS1zZWxlY3QtaW1wb3J0LCAub2NkaV9fZGVtby1pbXBvcnQtbm90aWNlOm5vdCg6ZW1wdHkpIHtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luOiAzMHB4IDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi5vY2RpX19maWxlLXVwbG9hZC1jb250YWluZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkO1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3KTtcbn1cblxuLm9jZGlfX2ZpbGUtdXBsb2FkLWNvbnRhaW5lci0taGVhZGVyIHtcbiAgcGFkZGluZzogMzBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGRkZGQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5vY2RpX19maWxlLXVwbG9hZC1jb250YWluZXItLWhlYWRlciBoMiB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gIG1hcmdpbjogMDtcbn1cblxuLm9jZGlfX2ZpbGUtdXBsb2FkLWNvbnRhaW5lci1pdGVtcyB7XG4gIHBhZGRpbmc6IDMwcHggMzBweCAwIDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLm9jZGlfX2ZpbGUtdXBsb2FkLWNvbnRhaW5lci1pdGVtcy0tc2Vjb25kLXJvdyB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4ub2NkaV9fZmlsZS11cGxvYWQtY29udGFpbmVyLWl0ZW1zIC5vY2RpX19jYXJkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm9jZGlfX2ZpbGUtdXBsb2FkLWNvbnRhaW5lci1pdGVtcyAub2NkaV9fY2FyZC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ub2NkaV9fZmlsZS11cGxvYWQtY29udGFpbmVyLWl0ZW1zIC5vY2RpX19jYXJkLWNvbnRlbnQtaW5mbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogMTBweDtcbn1cblxuLm9jZGlfX2ZpbGUtdXBsb2FkLWNvbnRhaW5lci1pdGVtcyAub2NkaV9fY2FyZC1jb250ZW50LWluZm8gaW1nIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cblxuLm9jZGlfX2ZpbGUtdXBsb2FkLWNvbnRhaW5lci0tZm9vdGVyIHtcbiAgcGFkZGluZzogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGRkZGQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm9jZGlfX2RlbW8taW1wb3J0LW5vdGljZTpub3QoOmVtcHR5KSB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMDBhMGQyO1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbltkaXI9XCJydGxcIl0gLm9jZGlfX2RlbW8taW1wb3J0LW5vdGljZTpub3QoOmVtcHR5KSB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgIzAwYTBkMjtcbn1cblxuLm9jZGlfX2J1dHRvbi1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG4ub2NkaV9fYWpheC1sb2FkZXIge1xuICBmb250LXNpemU6IDEuNWVtO1xufVxuXG4ub2NkaV9fYWpheC1sb2FkZXIgLnNwaW5uZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG5cbi5vY2RpX19nbC1uYXZpZ2F0aW9uIGxpIGEge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ub2NkaV9fZ2wtaXRlbS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5vY2RpX19nbC1pdGVtIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xufVxuXG4ub2NkaV9fZ2wtaXRlbS1pbWFnZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4ub2NkaV9fZ2wtaXRlbS1pbWFnZS1jb250YWluZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiA2Ni42NjY2NiU7XG59XG5cbi5vY2RpX19nbC1pdGVtLWltYWdlIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLm9jZGlfX2dsLWl0ZW0taW1hZ2UtLW5vLWltYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0NSU7XG4gIHJpZ2h0OiAyNSU7XG4gIGxlZnQ6IDI1JTtcbn1cblxuLm9jZGlfX2dsLWl0ZW0tZm9vdGVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGRkZGQ7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSk7XG59XG5cbi5vY2RpX19nbC1pdGVtLXRpdGxlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMyMzI4MmQ7XG4gIHBhZGRpbmc6IDVweCAwIDZweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MnB4KSB7XG4gIC5vY2RpX19nbC1pdGVtLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAxMnB4IDAgMTNweDtcbiAgfVxufVxuXG4ub2NkaV9fZ2wtaXRlbS1idXR0b25zIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ub2NkaV9fZ2wtaXRlbS1idXR0b24gKyAub2NkaV9fZ2wtaXRlbS1idXR0b24ge1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MnB4KSB7XG4gIC5vY2RpX19nbC1pdGVtLWJ1dHRvbiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICAub2NkaV9fZ2wtaXRlbS1idXR0b24gKyAub2NkaV9fZ2wtaXRlbS1idXR0b24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbi5vY2RpX19nbC1pdGVtOmhvdmVyIC5vY2RpX19nbC1pdGVtLWJ1dHRvbnMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm9jZGlfX2dsLWl0ZW06aG92ZXIgLm9jZGlfX2dsLWl0ZW0tdGl0bGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ub2NkaV9fZ2wtaXRlbTpob3ZlciAub2NkaV9fZ2wtaXRlbS1mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuXG4ub2NkaV9fZ2wtaGVhZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjRweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2QwZDQ7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHBhZGRpbmc6IDAgMTFweDtcbn1cblxuLm9jZGlfX2dsLW5hdmlnYXRpb24ge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5vY2RpX19nbC1uYXZpZ2F0aW9uIHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5vY2RpX19nbC1uYXZpZ2F0aW9uIGxpIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4ub2NkaV9fZ2wtbmF2aWdhdGlvbiBsaS5hY3RpdmUgYSBzcGFuLFxuLm9jZGlfX2dsLW5hdmlnYXRpb24gbGkuYWN0aXZlIGE6aG92ZXIgc3BhbiB7XG4gIHBhZGRpbmctYm90dG9tOiAxNHB4O1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzY2NjY2Njtcbn1cblxuLm9jZGlfX2dsLW5hdmlnYXRpb24gbGkgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMyMzI4MkQ7XG4gIHBhZGRpbmc6IDE4cHggMTBweDtcbn1cblxuLm9jZGlfX2dsLW5hdmlnYXRpb24gbGkgYSBzcGFuIHtcbiAgcGFkZGluZy1ib3R0b206IDE0cHg7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZmZmZmZmO1xufVxuXG4ub2NkaV9fZ2wtbmF2aWdhdGlvbiBsaSBhOmhvdmVyIHtcbiAgY29sb3I6ICMwMGEwZDI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm9jZGlfX2dsLW5hdmlnYXRpb24gbGkgYTpob3ZlciBzcGFuIHtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNmZmZmZmY7XG59XG5cbi5vY2RpX19nbC1zZWFyY2gtaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGNvbG9yOiAjNzI3NzdDICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAub2NkaV9fZ2wtbmF2aWdhdGlvbiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI4MHB4KTtcbiAgfVxuICAub2NkaV9fZ2wtbmF2aWdhdGlvbiBsaSB7XG4gICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLm9jZGlfX2dsLW5hdmlnYXRpb24gbGkgYSB7XG4gICAgcGFkZGluZzogMThweCAxMHB4O1xuICB9XG4gIC5vY2RpX19nbC1zZWFyY2gtaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjgwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICB9XG4gIC5vY2RpX19nbC1pdGVtLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgfVxuICAub2NkaV9fZ2wtaXRlbSB7XG4gICAgZmxleDogMCAwIGNhbGMoNTAlIC0gMjBweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMTIwcHgpIHtcbiAgLm9jZGlfX2dsLWl0ZW0tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuICB9XG4gIC5vY2RpX19nbC1pdGVtIHtcbiAgICBmbGV4OiAwIDAgY2FsYygzMy4zMyUgLSAzMHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgfVxufVxuXG4ub2NkaV9fY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ub2NkaV9fY2FyZC1jb250ZW50IHtcbiAgcGFkZGluZzogMzBweDtcbn1cblxuLm9jZGlfX2NhcmQtY29udGVudCAub2NkaS1pY29uLS1jb250ZW50IHtcbiAgd2lkdGg6IDUzcHg7XG4gIGhlaWdodDogNTNweDtcbn1cblxuLm9jZGlfX2NhcmQtY29udGVudCAub2NkaS1pY29uLS13aWRnZXRzIHtcbiAgd2lkdGg6IDU2cHg7XG4gIGhlaWdodDogNDlweDtcbn1cblxuLm9jZGlfX2NhcmQtY29udGVudCAub2NkaS1pY29uLS1icnVzaCB7XG4gIHdpZHRoOiA1NXB4O1xuICBoZWlnaHQ6IDUycHg7XG59XG5cbi5vY2RpX19jYXJkLWNvbnRlbnQgLm9jZGktaWNvbi0tcmVkdXgge1xuICB3aWR0aDogODJweDtcbiAgaGVpZ2h0OiA3MHB4O1xufVxuXG4ub2NkaV9fY2FyZC1jb250ZW50IC5vY2RpLWljb24tLXBsdWdpbnMge1xuICB3aWR0aDogNjVweDtcbiAgaGVpZ2h0OiA2NHB4O1xufVxuXG4ub2NkaV9fY2FyZC1jb250ZW50IC5vY2RpLWljb24tLWNvcHkge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA1MnB4O1xufVxuXG4ub2NkaV9fY2FyZC1jb250ZW50IC5vY2RpLWljb24tLWxheW91dCB7XG4gIHdpZHRoOiA1M3B4O1xuICBoZWlnaHQ6IDUycHg7XG59XG5cbi5vY2RpX19jYXJkLWNvbnRlbnQgLm9jZGktaWNvbi1jb250YWluZXIge1xuICBoZWlnaHQ6IDcwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ub2NkaV9fY2FyZC1jb250ZW50IGgzIHtcbiAgbWFyZ2luOiA1cHggMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm9jZGlfX2NhcmQtY29udGVudCBwIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBjb2xvcjogIzY2NjY2Njtcbn1cblxuLm9jZGlfX2NhcmQtZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgYm94LXNoYWRvdzogMHB4IC0xcHggMHB4ICNEREREREQ7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ub2NkaV9fY2FyZC1mb290ZXIgLmJ1dHRvbi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xufVxuXG4ub2NkaV9fY2FyZC1mb290ZXIgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICB3aWR0aDogMjAwcHg7XG4gIHBhZGRpbmc6IDRweCAwO1xufVxuXG4ub2NkaV9fY2FyZC1mb290ZXIgLmJ1dHRvbi1kaXNhYmxlZCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5vY2RpX19jYXJkLS10aHJlZSB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm9jZGlfX2NhcmQtLXRocmVlIHtcbiAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSAxMHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbiAgLm9jZGlfX2NhcmQtLXRocmVlOm50aC1jaGlsZCgybikge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTEyMHB4KSB7XG4gIC5vY2RpX19jYXJkLS10aHJlZSB7XG4gICAgZmxleDogMCAwIGNhbGMoMzMuMzMlIC0gMjBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIH1cbiAgLm9jZGlfX2NhcmQtLXRocmVlOm50aC1jaGlsZCgybikge1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgfVxuICAub2NkaV9fY2FyZC0tdGhyZWU6bnRoLWNoaWxkKDNuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5vY2RpX19jYXJkLS1mb3VyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAub2NkaV9fY2FyZC0tZm91ciB7XG4gICAgZmxleDogMCAwIGNhbGMoNTAlIC0gMTBweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG4gIC5vY2RpX19jYXJkLS1mb3VyOm50aC1jaGlsZCgybikge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTEyMHB4KSB7XG4gIC5vY2RpX19jYXJkLS1mb3VyIHtcbiAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSAxNXB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG9jZGktZmFkZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLm9jZGktaXMtZmFkZW91dCB7XG4gIGFuaW1hdGlvbjogb2NkaS1mYWRlIGxpbmVhciAyMDBtcyAxIGZvcndhcmRzO1xufVxuXG4ub2NkaS1pcy1mYWRlaW4ge1xuICBhbmltYXRpb246IG9jZGktZmFkZSBsaW5lYXIgMjAwbXMgMSByZXZlcnNlIGZvcndhcmRzO1xufVxuXG4ub2NkaV9fbW9kYWwtaW1hZ2UtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTgwcHg7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm9jZGlfX21vZGFsLWltYWdlLWNvbnRhaW5lciBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm9jZGlfX21vZGFsLWl0ZW0tdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5vY2RpX19tb2RhbC1ub3RpY2Uub2NkaV9fZGVtby1pbXBvcnQtbm90aWNlOm5vdCg6ZW1wdHkpIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMDBhMGQyO1xuICBtYXJnaW46IDIwcHggMCAwO1xufVxuXG4ub2NkaS1sb2FkaW5nIHtcbiAgYW5pbWF0aW9uOiAwLjY1cyBsaW5lYXIgaW5maW5pdGUgb2NkaS1sb2FkaW5nLXNwaW47XG59XG5cbi5vY2RpLWxvYWRpbmctbWQge1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xufVxuXG4ub2NkaS1sb2FkaW5nLXNtIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cblxuQGtleWZyYW1lcyBvY2RpLWxvYWRpbmctc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMjcwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooNjMwZGVnKTtcbiAgfVxufVxuIl19 */
|
assets/css/main.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
#wpcontent{padding-left:0}.ocdi{max-width:none}.ocdi h2{text-align:inherit;font-size:32px;line-height:39px;font-weight:500;margin-bottom:20px}.ocdi h2:first-child,.ocdi h3:first-child{margin-top:0}.ocdi hr{margin:30px 0}.ocdi .notice,.ocdi .update-nag,.ocdi #update-nag{display:block !important;margin:0 0 30px 0}.ocdi-notices-wrapper{display:none}.ocdi-notices-wrapper .notice,.ocdi-notices-wrapper .update-nag,.ocdi-notices-wrapper #update-nag{margin:0 0 15px 0}.ocdi-notices-wrapper .notice:last-child,.ocdi-notices-wrapper .update-nag:last-child,.ocdi-notices-wrapper #update-nag:last-child{margin-bottom:30px}.ocdi__admin-notices .ocdi-notices-wrapper{display:block}.ocdi-button-disabled{opacity:0.6 !important;cursor:not-allowed !important}.ocdi-content-notice{padding:25px;background:#E5F5FA;border-radius:6px;margin:30px}.ocdi-content-notice p{font-size:14px;line-height:24px;color:#444444;margin:0 0 10px 0}.ocdi-content-notice p:last-child{margin-bottom:0}.ocdi-importing,.ocdi-imported{display:none;text-align:center;padding:30px}.ocdi-importing p,.ocdi-imported p{font-size:16px;line-height:19px;font-weight:300;color:#444444;margin:0 0 10px 0}.ocdi-importing p:last-child,.ocdi-imported p:last-child{margin-bottom:0}.ocdi-importing-header h2,.ocdi-imported-header h2{font-size:24px;line-height:29px;margin-bottom:10px}.ocdi-importing-header p,.ocdi-imported-header p{margin-bottom:5px}.ocdi-importing-header p:last-child,.ocdi-imported-header p:last-child{margin-bottom:0}.ocdi-importing-content,.ocdi-imported-content{margin:0 20px}.ocdi-importing-content-importing,.ocdi-imported-content-importing{width:415px;height:228px;margin:50px 0 20px 0}.ocdi-importing-content-imported,.ocdi-imported-content-imported{margin:80px 0 50px 0}.ocdi-importing-content-imported--success,.ocdi-imported-content-imported--success{width:156px;height:124px}.ocdi-importing-content-imported--error,.ocdi-importing-content-imported--warning,.ocdi-imported-content-imported--error,.ocdi-imported-content-imported--warning{width:124px;height:124px}.ocdi-importing-content .notice,.ocdi-imported-content .notice{text-align:left;margin:30px 0}.ocdi-importing-content .notice p,.ocdi-imported-content .notice p{padding:15px 3px;font-size:14px;line-height:22px;color:#777777}.ocdi-importing-footer,.ocdi-imported-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;min-height:100px;background-color:#F8F8F8;border-top:1px solid #dddddd;margin:30px -30px -30px}.ocdi-importing-footer a.button,.ocdi-imported-footer a.button{-webkit-box-flex:0;-ms-flex:0 1 25%;flex:0 1 25%;margin-right:30px}.ocdi-importing-footer a.button:last-child,.ocdi-imported-footer a.button:last-child{margin-right:0}.ocdi .button.button-hero{font-size:16px;line-height:20px;font-weight:500;min-height:40px;padding:9px 18px}.ocdi .button.button-hero.ocdi__button.button-primary:disabled,.ocdi .button.button-hero.ocdi__button.button-primary[disabled]{color:#ffffff !important;background:#999999 !important;border-color:#999999 !important;opacity:0.5}.ocdi__redux-option-name-input{margin-left:10px;width:137px;border-radius:3px !important;padding:0 10px !important;font-size:13px !important;line-height:16px !important}.ocdi-hide-input{width:0.1px !important;height:0.1px !important;opacity:0 !important;overflow:hidden !important;position:absolute !important;z-index:-1 !important}.feature-section+hr{margin-top:0}#wpbody select{height:auto;padding:.62em;line-height:inherit}.ocdi__title-container{height:30px;background-color:#ffffff;padding:20px 30px;-webkit-box-shadow:0px 1px 2px rgba(0,0,0,0.07);box-shadow:0px 1px 2px rgba(0,0,0,0.07);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.ocdi__title-container-title{margin:0;font-size:24px;line-height:29px;font-weight:700}.ocdi__title-container-icon{width:19px;height:19px}.ocdi__content-container{padding:30px}.ocdi__content-container-content{display:-webkit-box;display:-ms-flexbox;display:flex}.ocdi__content-container-content--main{-webkit-box-flex:1;-ms-flex:1;flex:1;margin-right:30px;background:#ffffff;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #dddddd;-webkit-box-shadow:0px 1px 1px rgba(0,0,0,0.07);box-shadow:0px 1px 1px rgba(0,0,0,0.07)}.ocdi__content-container-content--side{width:373px}.ocdi__content-container-content--side .ocdi__card-content{padding:0}.ocdi__content-container-content--side .screenshot{height:278px}.ocdi__content-container-content--side .screenshot.blank{border:1px solid #CCD0D4;-webkit-filter:drop-shadow(0px 1px 2px rgba(0,0,0,0.07));filter:drop-shadow(0px 1px 2px rgba(0,0,0,0.07));background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.ocdi__content-container-content--side .ocdi__card-footer{padding:15px}.ocdi__content-container-content--side .ocdi__card-footer h3{font-size:16px;line-height:19px;font-weight:500;margin:0}.ocdi__content-container-content--side img{width:100%}.ocdi__content-container-content .ocdi-install-plugins-content-header,.ocdi__content-container-content .ocdi-create-content-header{padding:30px;border-bottom:1px solid #dddddd}.ocdi__content-container-content .ocdi-install-plugins-content-header h2,.ocdi__content-container-content .ocdi-create-content-header h2{font-size:22px;line-height:26px;font-weight:normal;margin:0 0 6px 0}.ocdi__content-container-content .ocdi-install-plugins-content-header p,.ocdi__content-container-content .ocdi-create-content-header p{font-size:16px;line-height:22px;font-weight:300;color:#444444;margin:0 0 10px 0}.ocdi__content-container-content .ocdi-install-plugins-content-header p:last-child,.ocdi__content-container-content .ocdi-create-content-header p:last-child{margin:0}.ocdi__content-container-content .ocdi-install-plugins-content-header .notice,.ocdi__content-container-content .ocdi-create-content-header .notice{margin:30px 0 0}.ocdi__content-container-content .ocdi-install-plugins-content-header .notice p,.ocdi__content-container-content .ocdi-create-content-header .notice p{margin:.5em 0;font-size:13px;line-height:1.5;color:#3c434a;font-weight:normal}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item,.ocdi__content-container-content .ocdi-create-content-content .plugin-item,.ocdi__content-container-content .ocdi-create-content-content .content-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 30px;padding:25px 0;border-bottom:1px solid #eeeeee}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .ocdi-loading,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .ocdi-loading,.ocdi__content-container-content .ocdi-create-content-content .plugin-item .ocdi-loading,.ocdi__content-container-content .ocdi-create-content-content .content-item .ocdi-loading{display:none}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--active,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--active,.ocdi__content-container-content .ocdi-create-content-content .plugin-item--active,.ocdi__content-container-content .ocdi-create-content-content .content-item--active{cursor:default}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--active .plugin-item-checkbox input[type=checkbox]:checked+.checkbox,.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--active .content-item-checkbox input[type=checkbox]:checked+.checkbox,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--active .plugin-item-checkbox input[type=checkbox]:checked+.checkbox,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--active .content-item-checkbox input[type=checkbox]:checked+.checkbox,.ocdi__content-container-content .ocdi-create-content-content .plugin-item--active .plugin-item-checkbox input[type=checkbox]:checked+.checkbox,.ocdi__content-container-content .ocdi-create-content-content .plugin-item--active .content-item-checkbox input[type=checkbox]:checked+.checkbox,.ocdi__content-container-content .ocdi-create-content-content .content-item--active .plugin-item-checkbox input[type=checkbox]:checked+.checkbox,.ocdi__content-container-content .ocdi-create-content-content .content-item--active .content-item-checkbox input[type=checkbox]:checked+.checkbox{border:none;background:#64B450}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--active .plugin-item-checkbox input[type=checkbox]:checked+.checkbox .ocdi-check-icon,.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--active .content-item-checkbox input[type=checkbox]:checked+.checkbox .ocdi-check-icon,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--active .plugin-item-checkbox input[type=checkbox]:checked+.checkbox .ocdi-check-icon,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--active .content-item-checkbox input[type=checkbox]:checked+.checkbox .ocdi-check-icon,.ocdi__content-container-content .ocdi-create-content-content .plugin-item--active .plugin-item-checkbox input[type=checkbox]:checked+.checkbox .ocdi-check-icon,.ocdi__content-container-content .ocdi-create-content-content .plugin-item--active .content-item-checkbox input[type=checkbox]:checked+.checkbox .ocdi-check-icon,.ocdi__content-container-content .ocdi-create-content-content .content-item--active .plugin-item-checkbox input[type=checkbox]:checked+.checkbox .ocdi-check-icon,.ocdi__content-container-content .ocdi-create-content-content .content-item--active .content-item-checkbox input[type=checkbox]:checked+.checkbox .ocdi-check-icon{display:inline-block}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--active .plugin-item-checkbox input[type=checkbox]:checked+.checkbox::after,.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--active .content-item-checkbox input[type=checkbox]:checked+.checkbox::after,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--active .plugin-item-checkbox input[type=checkbox]:checked+.checkbox::after,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--active .content-item-checkbox input[type=checkbox]:checked+.checkbox::after,.ocdi__content-container-content .ocdi-create-content-content .plugin-item--active .plugin-item-checkbox input[type=checkbox]:checked+.checkbox::after,.ocdi__content-container-content .ocdi-create-content-content .plugin-item--active .content-item-checkbox input[type=checkbox]:checked+.checkbox::after,.ocdi__content-container-content .ocdi-create-content-content .content-item--active .plugin-item-checkbox input[type=checkbox]:checked+.checkbox::after,.ocdi__content-container-content .ocdi-create-content-content .content-item--active .content-item-checkbox input[type=checkbox]:checked+.checkbox::after{display:none !important}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--required,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--required,.ocdi__content-container-content .ocdi-create-content-content .plugin-item--required,.ocdi__content-container-content .ocdi-create-content-content .content-item--required{cursor:default}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--loading .ocdi-loading,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--loading .ocdi-loading,.ocdi__content-container-content .ocdi-create-content-content .plugin-item--loading .ocdi-loading,.ocdi__content-container-content .ocdi-create-content-content .content-item--loading .ocdi-loading{display:block}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--loading .plugin-item-checkbox input[type=checkbox]+.checkbox,.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--loading .content-item-checkbox input[type=checkbox]+.checkbox,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--loading .plugin-item-checkbox input[type=checkbox]+.checkbox,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--loading .content-item-checkbox input[type=checkbox]+.checkbox,.ocdi__content-container-content .ocdi-create-content-content .plugin-item--loading .plugin-item-checkbox input[type=checkbox]+.checkbox,.ocdi__content-container-content .ocdi-create-content-content .plugin-item--loading .content-item-checkbox input[type=checkbox]+.checkbox,.ocdi__content-container-content .ocdi-create-content-content .content-item--loading .plugin-item-checkbox input[type=checkbox]+.checkbox,.ocdi__content-container-content .ocdi-create-content-content .content-item--loading .content-item-checkbox input[type=checkbox]+.checkbox{border:none !important}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--loading .plugin-item-checkbox input[type=checkbox]+.checkbox .ocdi-lock-icon,.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--loading .content-item-checkbox input[type=checkbox]+.checkbox .ocdi-lock-icon,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--loading .plugin-item-checkbox input[type=checkbox]+.checkbox .ocdi-lock-icon,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--loading .content-item-checkbox input[type=checkbox]+.checkbox .ocdi-lock-icon,.ocdi__content-container-content .ocdi-create-content-content .plugin-item--loading .plugin-item-checkbox input[type=checkbox]+.checkbox .ocdi-lock-icon,.ocdi__content-container-content .ocdi-create-content-content .plugin-item--loading .content-item-checkbox input[type=checkbox]+.checkbox .ocdi-lock-icon,.ocdi__content-container-content .ocdi-create-content-content .content-item--loading .plugin-item-checkbox input[type=checkbox]+.checkbox .ocdi-lock-icon,.ocdi__content-container-content .ocdi-create-content-content .content-item--loading .content-item-checkbox input[type=checkbox]+.checkbox .ocdi-lock-icon{display:none !important}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--loading .plugin-item-checkbox input[type=checkbox]+.checkbox::after,.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item--loading .content-item-checkbox input[type=checkbox]+.checkbox::after,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--loading .plugin-item-checkbox input[type=checkbox]+.checkbox::after,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item--loading .content-item-checkbox input[type=checkbox]+.checkbox::after,.ocdi__content-container-content .ocdi-create-content-content .plugin-item--loading .plugin-item-checkbox input[type=checkbox]+.checkbox::after,.ocdi__content-container-content .ocdi-create-content-content .plugin-item--loading .content-item-checkbox input[type=checkbox]+.checkbox::after,.ocdi__content-container-content .ocdi-create-content-content .content-item--loading .plugin-item-checkbox input[type=checkbox]+.checkbox::after,.ocdi__content-container-content .ocdi-create-content-content .content-item--loading .content-item-checkbox input[type=checkbox]+.checkbox::after{display:none !important}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item-content,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item-content,.ocdi__content-container-content .ocdi-create-content-content .plugin-item-content,.ocdi__content-container-content .ocdi-create-content-content .content-item-content{margin-right:15px}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item-content-title,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item-content-title,.ocdi__content-container-content .ocdi-create-content-content .plugin-item-content-title,.ocdi__content-container-content .ocdi-create-content-content .content-item-content-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0 4px 0}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item-content-title span,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item-content-title span,.ocdi__content-container-content .ocdi-create-content-content .plugin-item-content-title span,.ocdi__content-container-content .ocdi-create-content-content .content-item-content-title span{margin-left:5px;background-color:#FFB900;width:16px;height:16px;border-radius:8px;margin-top:-1px}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item-content-title span img,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item-content-title span img,.ocdi__content-container-content .ocdi-create-content-content .plugin-item-content-title span img,.ocdi__content-container-content .ocdi-create-content-content .content-item-content-title span img{width:10px;height:10px;margin:3px}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item-info p,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item-info p,.ocdi__content-container-content .ocdi-create-content-content .plugin-item-info p,.ocdi__content-container-content .ocdi-create-content-content .content-item-info p{color:#00a32a !important}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item-error p,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item-error p,.ocdi__content-container-content .ocdi-create-content-content .plugin-item-error p,.ocdi__content-container-content .ocdi-create-content-content .content-item-error p{color:#d63638 !important}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item:last-child,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item:last-child,.ocdi__content-container-content .ocdi-create-content-content .plugin-item:last-child,.ocdi__content-container-content .ocdi-create-content-content .content-item:last-child{padding-bottom:30px;border-bottom:none}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item label,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item label,.ocdi__content-container-content .ocdi-create-content-content .plugin-item label,.ocdi__content-container-content .ocdi-create-content-content .content-item label{display:block}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item h3,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item h3,.ocdi__content-container-content .ocdi-create-content-content .plugin-item h3,.ocdi__content-container-content .ocdi-create-content-content .content-item h3{font-size:18px;line-height:22px;color:#444444;font-weight:500;margin:0}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item p,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item p,.ocdi__content-container-content .ocdi-create-content-content .plugin-item p,.ocdi__content-container-content .ocdi-create-content-content .content-item p{font-size:14px;line-height:17px;color:#777777;margin:0 0 6px 0}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item p:last-child,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item p:last-child,.ocdi__content-container-content .ocdi-create-content-content .plugin-item p:last-child,.ocdi__content-container-content .ocdi-create-content-content .content-item p:last-child{margin:0}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .plugin-item-checkbox .checkbox,.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .content-item-checkbox .checkbox,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .plugin-item-checkbox .checkbox,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .content-item-checkbox .checkbox,.ocdi__content-container-content .ocdi-create-content-content .plugin-item .plugin-item-checkbox .checkbox,.ocdi__content-container-content .ocdi-create-content-content .plugin-item .content-item-checkbox .checkbox,.ocdi__content-container-content .ocdi-create-content-content .content-item .plugin-item-checkbox .checkbox,.ocdi__content-container-content .ocdi-create-content-content .content-item .content-item-checkbox .checkbox{-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;background:#f1f1f1;width:32px;height:32px;border-radius:16px;border:1px solid #dddddd}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .plugin-item-checkbox .checkbox .ocdi-check-icon,.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .content-item-checkbox .checkbox .ocdi-check-icon,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .plugin-item-checkbox .checkbox .ocdi-check-icon,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .content-item-checkbox .checkbox .ocdi-check-icon,.ocdi__content-container-content .ocdi-create-content-content .plugin-item .plugin-item-checkbox .checkbox .ocdi-check-icon,.ocdi__content-container-content .ocdi-create-content-content .plugin-item .content-item-checkbox .checkbox .ocdi-check-icon,.ocdi__content-container-content .ocdi-create-content-content .content-item .plugin-item-checkbox .checkbox .ocdi-check-icon,.ocdi__content-container-content .ocdi-create-content-content .content-item .content-item-checkbox .checkbox .ocdi-check-icon{display:none;width:20px;height:20px;margin:6px}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .plugin-item-checkbox .checkbox .ocdi-lock-icon,.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .content-item-checkbox .checkbox .ocdi-lock-icon,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .plugin-item-checkbox .checkbox .ocdi-lock-icon,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .content-item-checkbox .checkbox .ocdi-lock-icon,.ocdi__content-container-content .ocdi-create-content-content .plugin-item .plugin-item-checkbox .checkbox .ocdi-lock-icon,.ocdi__content-container-content .ocdi-create-content-content .plugin-item .content-item-checkbox .checkbox .ocdi-lock-icon,.ocdi__content-container-content .ocdi-create-content-content .content-item .plugin-item-checkbox .checkbox .ocdi-lock-icon,.ocdi__content-container-content .ocdi-create-content-content .content-item .content-item-checkbox .checkbox .ocdi-lock-icon{position:absolute;width:14px;height:17px;bottom:-5px;right:-2px}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .plugin-item-checkbox input[type=checkbox],.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .content-item-checkbox input[type=checkbox],.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .plugin-item-checkbox input[type=checkbox],.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .content-item-checkbox input[type=checkbox],.ocdi__content-container-content .ocdi-create-content-content .plugin-item .plugin-item-checkbox input[type=checkbox],.ocdi__content-container-content .ocdi-create-content-content .plugin-item .content-item-checkbox input[type=checkbox],.ocdi__content-container-content .ocdi-create-content-content .content-item .plugin-item-checkbox input[type=checkbox],.ocdi__content-container-content .ocdi-create-content-content .content-item .content-item-checkbox input[type=checkbox]{display:none}.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .plugin-item-checkbox input[type=checkbox]:checked+.checkbox::after,.ocdi__content-container-content .ocdi-install-plugins-content-content .plugin-item .content-item-checkbox input[type=checkbox]:checked+.checkbox::after,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .plugin-item-checkbox input[type=checkbox]:checked+.checkbox::after,.ocdi__content-container-content .ocdi-install-plugins-content-content .content-item .content-item-checkbox input[type=checkbox]:checked+.checkbox::after,.ocdi__content-container-content .ocdi-create-content-content .plugin-item .plugin-item-checkbox input[type=checkbox]:checked+.checkbox::after,.ocdi__content-container-content .ocdi-create-content-content .plugin-item .content-item-checkbox input[type=checkbox]:checked+.checkbox::after,.ocdi__content-container-content .ocdi-create-content-content .content-item .plugin-item-checkbox input[type=checkbox]:checked+.checkbox::after,.ocdi__content-container-content .ocdi-create-content-content .content-item .content-item-checkbox input[type=checkbox]:checked+.checkbox::after{content:'';display:block;font-size:10px;background:#007cba;width:20px;height:20px;border-radius:10px;margin:5px}.ocdi__content-container-content .ocdi-install-plugins-content-content-notice,.ocdi__content-container-content .ocdi-create-content-content-notice{display:none;padding:25px;background:#E5F5FA;border-radius:6px;margin:-10px 30px 30px 30px}.ocdi__content-container-content .ocdi-install-plugins-content-content-notice p,.ocdi__content-container-content .ocdi-create-content-content-notice p{font-size:14px;line-height:24px;color:#444444;margin:0 0 10px 0}.ocdi__content-container-content .ocdi-install-plugins-content-content-notice p:last-child,.ocdi__content-container-content .ocdi-create-content-content-notice p:last-child{margin-bottom:0}.ocdi__content-container-content .ocdi-install-plugins-content-footer,.ocdi__content-container-content .ocdi-create-content-footer{padding:30px;background:#fafafa;border-top:1px solid #dddddd;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ocdi__content-container-content .ocdi-install-plugins-content-footer .button,.ocdi__content-container-content .ocdi-create-content-footer .button{font-size:16px;line-height:19px;padding:10px 18px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ocdi__content-container-content .ocdi-install-plugins-content-footer .button img,.ocdi__content-container-content .ocdi-create-content-footer .button img{width:16px;height:auto;margin-right:5px}.ocdi__intro-text p{font-size:18px;line-height:26px;font-weight:300;color:#666666;margin:0 0 24px}.ocdi__intro-text ul{padding:0 4%;list-style-type:square}.ocdi__theme-about{margin-bottom:30px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.ocdi__theme-about-screenshots{-webkit-box-flex:11;-ms-flex:11;flex:11;margin-right:30px}.ocdi__theme-about-screenshots .screenshot{-webkit-box-sizing:border-box;box-sizing:border-box}.ocdi__theme-about-screenshots .screenshot img{border:1px solid #CCD0D4;-webkit-filter:drop-shadow(0px 1px 2px rgba(0,0,0,0.07));filter:drop-shadow(0px 1px 2px rgba(0,0,0,0.07))}.ocdi__theme-about-screenshots .screenshot.blank{border:1px solid #CCD0D4;-webkit-filter:drop-shadow(0px 1px 2px rgba(0,0,0,0.07));filter:drop-shadow(0px 1px 2px rgba(0,0,0,0.07));min-height:500px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.ocdi__theme-about-screenshots img{width:100%}.ocdi__theme-about-info{-webkit-box-flex:10;-ms-flex:10;flex:10;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.ocdi__theme-about-info .theme-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.ocdi__theme-about-info .theme-title .theme-name{margin-bottom:16px}.ocdi__theme-about-info .theme-title .theme-version{margin-left:10px;color:#72777C;font-size:13px;line-height:16px}.ocdi__theme-about-info .theme-author{font-size:16px;line-height:19px;color:#72777C;margin:0 0 20px}.ocdi__theme-about-info .theme-description{font-size:16px;line-height:24px;color:#555555;margin:0 0 20px}.ocdi__theme-about-info .theme-tags{font-size:13px;line-height:20px;color:#555555;margin:4px 0 0}.ocdi__theme-about-info .theme-tags span{font-weight:700}.ocdi__theme-about-info .ocdi-import-mode-switch{float:right;font-size:14px;line-height:17px}@media (max-width: 880px){.ocdi__theme-about{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ocdi__theme-about-screenshots{margin:0 0 30px 0}}.ocdi__demo-import-files{width:100%}.ocdi__demo-import-preview-image-message{font-style:italic}.ocdi__title:before{width:auto;height:auto;font-size:inherit}.ocdi__multi-select-import,.ocdi__demo-import-notice:not(:empty){padding:20px;margin:30px 0;font-size:14px;line-height:19px;background-color:#ffffff;border:1px solid #e5e5e5}.ocdi__file-upload-container{border:1px solid #dddddd;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.07);box-shadow:0 1px 1px rgba(0,0,0,0.07)}.ocdi__file-upload-container--header{padding:30px;border-bottom:1px solid #dddddd;background-color:#ffffff}.ocdi__file-upload-container--header h2{font-size:22px;line-height:27px;margin:0}.ocdi__file-upload-container-items{padding:30px 30px 0 30px;background-color:#ffffff;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.ocdi__file-upload-container-items--second-row{padding-top:0}.ocdi__file-upload-container-items .ocdi__card{-webkit-box-shadow:none;box-shadow:none}.ocdi__file-upload-container-items .ocdi__card-content{position:relative}.ocdi__file-upload-container-items .ocdi__card-content-info{position:absolute;right:10px;top:10px}.ocdi__file-upload-container-items .ocdi__card-content-info img{width:16px;height:16px}.ocdi__file-upload-container--footer{padding:30px;background-color:#fafafa;border-top:1px solid #dddddd;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ocdi__demo-import-notice:not(:empty){border:0;border-left:4px solid #00a0d2;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1)}[dir="rtl"] .ocdi__demo-import-notice:not(:empty){border:0;border-right:4px solid #00a0d2}.ocdi__button-container{margin-top:30px}.ocdi__ajax-loader{font-size:1.5em}.ocdi__ajax-loader .spinner{display:inline-block;float:none;visibility:visible;margin-bottom:6px}.ocdi__gl-navigation li a{-webkit-box-shadow:none;box-shadow:none}.ocdi__gl-item-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.ocdi__gl-item{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;margin-bottom:20px;border:1px solid #ddd;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.07);box-shadow:0 1px 1px rgba(0,0,0,0.07);-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fafafa}.ocdi__gl-item-image-container{display:block;overflow:hidden;position:relative;-webkit-backface-visibility:hidden;-webkit-transition:opacity 0.2s ease-in-out;transition:opacity 0.2s ease-in-out}.ocdi__gl-item-image-container::after{content:"";display:block;padding-top:66.66666%}.ocdi__gl-item-image{height:auto;position:absolute;left:0;top:0;width:100%;-webkit-transition:opacity 0.2s ease-in-out;transition:opacity 0.2s ease-in-out}.ocdi__gl-item-image--no-image{display:inline-block;width:50%;text-align:center;position:absolute;top:45%;right:25%;left:25%}.ocdi__gl-item-footer{margin:0;padding:8px 10px;border-top:1px solid #dddddd;background:#ffffff;background:rgba(255,255,255,0.65)}.ocdi__gl-item-title{white-space:nowrap;text-overflow:ellipsis;display:block;margin:0;font-size:16px;line-height:19px;text-align:center;font-weight:500;color:#23282d;padding:5px 0 6px}@media (max-width: 782px){.ocdi__gl-item-title{padding:12px 0 13px}}.ocdi__gl-item-buttons{display:none;text-align:center}.ocdi__gl-item-button+.ocdi__gl-item-button{margin-left:15px}@media (max-width: 782px){.ocdi__gl-item-button{width:calc(50% - 10px);margin-bottom:10px}.ocdi__gl-item-button+.ocdi__gl-item-button{float:left}}.ocdi__gl-item:hover .ocdi__gl-item-buttons{display:block}.ocdi__gl-item:hover .ocdi__gl-item-title{display:none}.ocdi__gl-item:hover .ocdi__gl-item-footer{background:#ffffff}.ocdi__gl-header{display:inline-block;width:calc(100% - 24px);background-color:#ffffff;border:1px solid #ccd0d4;-webkit-box-shadow:0px 1px 2px rgba(0,0,0,0.07);box-shadow:0px 1px 2px rgba(0,0,0,0.07);margin-bottom:30px;padding:0 11px}.ocdi__gl-navigation{font-size:13px;line-height:16px;width:100%;float:left}.ocdi__gl-navigation ul{list-style-type:none;margin:0;padding:0;overflow:hidden}.ocdi__gl-navigation li{margin:0}.ocdi__gl-navigation li.active a span,.ocdi__gl-navigation li.active a:hover span{padding-bottom:14px;border-bottom:4px solid #666666}.ocdi__gl-navigation li a{display:block;text-align:center;text-decoration:none;color:#23282D;padding:18px 10px}.ocdi__gl-navigation li a span{padding-bottom:14px;border-bottom:4px solid #ffffff}.ocdi__gl-navigation li a:hover{color:#00a0d2;cursor:pointer}.ocdi__gl-navigation li a:hover span{border-bottom:4px solid #ffffff}.ocdi__gl-search-input{width:100%;margin:10px 0;font-size:13px;line-height:16px;color:#72777C !important}@media (min-width: 640px){.ocdi__gl-navigation{width:calc(100% - 280px)}.ocdi__gl-navigation li{margin:0 15px;float:left}.ocdi__gl-navigation li a{padding:18px 10px}.ocdi__gl-search-input{display:inline-block;width:280px;height:30px;margin:0;margin-top:11px}.ocdi__gl-item-container{margin-right:-20px}.ocdi__gl-item{-webkit-box-flex:0;-ms-flex:0 0 calc(50% - 20px);flex:0 0 calc(50% - 20px);margin-right:20px}}@media (min-width: 1120px){.ocdi__gl-item-container{margin-right:-30px}.ocdi__gl-item{-webkit-box-flex:0;-ms-flex:0 0 calc(33.33% - 30px);flex:0 0 calc(33.33% - 30px);margin-bottom:30px;margin-right:30px}}.ocdi__card{background:#ffffff;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #dddddd;-webkit-box-shadow:0px 1px 1px rgba(0,0,0,0.07);box-shadow:0px 1px 1px rgba(0,0,0,0.07);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.ocdi__card-content{padding:30px}.ocdi__card-content .ocdi-icon--content{width:53px;height:53px}.ocdi__card-content .ocdi-icon--widgets{width:56px;height:49px}.ocdi__card-content .ocdi-icon--brush{width:55px;height:52px}.ocdi__card-content .ocdi-icon--redux{width:82px;height:70px}.ocdi__card-content .ocdi-icon--plugins{width:65px;height:64px}.ocdi__card-content .ocdi-icon--copy{width:42px;height:52px}.ocdi__card-content .ocdi-icon--layout{width:53px;height:52px}.ocdi__card-content .ocdi-icon-container{height:70px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.ocdi__card-content h3{margin:5px 0;font-size:16px;line-height:20px;font-weight:500}.ocdi__card-content p{margin:0;font-size:13px;line-height:16px;color:#666666}.ocdi__card-footer{background:#fafafa;-webkit-box-shadow:0px -1px 0px #DDDDDD;box-shadow:0px -1px 0px #DDDDDD;padding:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ocdi__card-footer .button-secondary{background:#fafafa}.ocdi__card-footer input[type="file"]{width:200px;padding:4px 0}.ocdi__card-footer .button-disabled{cursor:not-allowed}.ocdi__card--three{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;margin-bottom:20px}@media (min-width: 768px){.ocdi__card--three{-webkit-box-flex:0;-ms-flex:0 0 calc(50% - 10px);flex:0 0 calc(50% - 10px);margin-right:20px}.ocdi__card--three:nth-child(2n){margin-right:0}}@media (min-width: 1120px){.ocdi__card--three{-webkit-box-flex:0;-ms-flex:0 0 calc(33.33% - 20px);flex:0 0 calc(33.33% - 20px);margin-bottom:30px;margin-right:30px}.ocdi__card--three:nth-child(2n){margin-right:30px}.ocdi__card--three:nth-child(3n){margin-right:0}}.ocdi__card--four{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;margin-bottom:20px}@media (min-width: 768px){.ocdi__card--four{-webkit-box-flex:0;-ms-flex:0 0 calc(50% - 10px);flex:0 0 calc(50% - 10px);margin-right:20px}.ocdi__card--four:nth-child(2n){margin-right:0}}@media (min-width: 1120px){.ocdi__card--four{-webkit-box-flex:0;-ms-flex:0 0 calc(50% - 15px);flex:0 0 calc(50% - 15px);margin-bottom:30px;margin-right:30px}}@-webkit-keyframes ocdi-fade{from{opacity:1}to{opacity:0}}@keyframes ocdi-fade{from{opacity:1}to{opacity:0}}.ocdi-is-fadeout{-webkit-animation:ocdi-fade linear 200ms 1 forwards;animation:ocdi-fade linear 200ms 1 forwards}.ocdi-is-fadein{animation:ocdi-fade linear 200ms 1 reverse forwards}.ocdi__modal-image-container{width:100%;height:180px;margin:0;overflow:hidden}.ocdi__modal-image-container img{width:100%}.ocdi__modal-item-title{margin-top:0.5em;font-weight:bold}.ocdi__modal-notice.ocdi__demo-import-notice:not(:empty){border:1px solid #e5e5e5;border-left:4px solid #00a0d2;margin:20px 0 0}.ocdi-loading{-webkit-animation:0.65s linear infinite ocdi-loading-spin;animation:0.65s linear infinite ocdi-loading-spin}.ocdi-loading-md{width:32px;height:32px}.ocdi-loading-sm{width:16px;height:16px}@-webkit-keyframes ocdi-loading-spin{0%{-webkit-transform:rotateZ(270deg);transform:rotateZ(270deg)}100%{-webkit-transform:rotateZ(630deg);transform:rotateZ(630deg)}}@keyframes ocdi-loading-spin{0%{-webkit-transform:rotateZ(270deg);transform:rotateZ(270deg)}100%{-webkit-transform:rotateZ(630deg);transform:rotateZ(630deg)}}
|
assets/demo-content/about-page.xml
ADDED
@@ -0,0 +1,112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" ?>
|
2 |
+
<!-- generator="WordPress/5.7" created="2021-03-25 06:41" -->
|
3 |
+
<rss version="2.0"
|
4 |
+
xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
|
5 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
6 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
7 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
8 |
+
xmlns:wp="http://wordpress.org/export/1.2/"
|
9 |
+
>
|
10 |
+
|
11 |
+
<channel>
|
12 |
+
<title>ocdi</title>
|
13 |
+
<link>https://ocdi.com</link>
|
14 |
+
<description>Just another WordPress site</description>
|
15 |
+
<pubDate>Thu, 25 Mar 2021 06:41:21 +0000</pubDate>
|
16 |
+
<language>en-US</language>
|
17 |
+
<wp:wxr_version>1.2</wp:wxr_version>
|
18 |
+
<wp:base_site_url>https://ocdi.com</wp:base_site_url>
|
19 |
+
<wp:base_blog_url>https://ocdi.com</wp:base_blog_url>
|
20 |
+
|
21 |
+
<generator>https://wordpress.org/?v=5.7</generator>
|
22 |
+
|
23 |
+
<item>
|
24 |
+
<title><![CDATA[About Us]]></title>
|
25 |
+
<link>https://ocdi.com/about-us/</link>
|
26 |
+
<pubDate>Tue, 09 Mar 2021 09:03:37 +0000</pubDate>
|
27 |
+
<description></description>
|
28 |
+
<content:encoded><![CDATA[<!-- wp:paragraph -->
|
29 |
+
<p>Here's the most important thing you need to know: <strong>we're more than just a marketing agency</strong>. We help small businesses to realize their full growth potential, and we're invested in their success.</p>
|
30 |
+
<!-- /wp:paragraph -->
|
31 |
+
|
32 |
+
<!-- wp:columns {"backgroundColor":"gray"} -->
|
33 |
+
<div class="wp-block-columns has-gray-background-color has-background"><!-- wp:column -->
|
34 |
+
<div class="wp-block-column"><!-- wp:heading {"level":4} -->
|
35 |
+
<h4>Since 2017</h4>
|
36 |
+
<!-- /wp:heading -->
|
37 |
+
|
38 |
+
<!-- wp:paragraph -->
|
39 |
+
<p>Acme Marketing was founded by Leah Robinson in New York City.</p>
|
40 |
+
<!-- /wp:paragraph --></div>
|
41 |
+
<!-- /wp:column -->
|
42 |
+
|
43 |
+
<!-- wp:column -->
|
44 |
+
<div class="wp-block-column"><!-- wp:heading {"level":4} -->
|
45 |
+
<h4>14 Experts</h4>
|
46 |
+
<!-- /wp:heading -->
|
47 |
+
|
48 |
+
<!-- wp:paragraph -->
|
49 |
+
<p>We're super proud of our diverse and talented team.</p>
|
50 |
+
<!-- /wp:paragraph --></div>
|
51 |
+
<!-- /wp:column -->
|
52 |
+
|
53 |
+
<!-- wp:column -->
|
54 |
+
<div class="wp-block-column"><!-- wp:heading {"level":4} -->
|
55 |
+
<h4>3 Countries</h4>
|
56 |
+
<!-- /wp:heading -->
|
57 |
+
|
58 |
+
<!-- wp:paragraph -->
|
59 |
+
<p>We work with hundreds of businesses <strong>just like yours</strong>.</p>
|
60 |
+
<!-- /wp:paragraph --></div>
|
61 |
+
<!-- /wp:column --></div>
|
62 |
+
<!-- /wp:columns -->
|
63 |
+
|
64 |
+
<!-- wp:quote {"className":"is-style-large"} -->
|
65 |
+
<blockquote class="wp-block-quote is-style-large" id="output"><p>Our team is driven by your success. Every single day, we'll support your business and help you to succeed.</p></blockquote>
|
66 |
+
<!-- /wp:quote -->
|
67 |
+
|
68 |
+
<!-- wp:heading {"textAlign":"center"} -->
|
69 |
+
<h2 class="has-text-align-center">Our History</h2>
|
70 |
+
<!-- /wp:heading -->
|
71 |
+
|
72 |
+
<!-- wp:paragraph -->
|
73 |
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
|
74 |
+
<!-- /wp:paragraph -->
|
75 |
+
|
76 |
+
<!-- wp:heading {"textAlign":"center"} -->
|
77 |
+
<h2 class="has-text-align-center">Our Promise</h2>
|
78 |
+
<!-- /wp:heading -->
|
79 |
+
|
80 |
+
<!-- wp:paragraph -->
|
81 |
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p>
|
82 |
+
<!-- /wp:paragraph -->]]></content:encoded>
|
83 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
84 |
+
<wp:post_date><![CDATA[2021-03-09 09:03:37]]></wp:post_date>
|
85 |
+
<wp:post_date_gmt><![CDATA[2021-03-09 09:03:37]]></wp:post_date_gmt>
|
86 |
+
<wp:post_modified><![CDATA[2021-03-23 13:41:53]]></wp:post_modified>
|
87 |
+
<wp:post_modified_gmt><![CDATA[2021-03-23 13:41:53]]></wp:post_modified_gmt>
|
88 |
+
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
|
89 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
90 |
+
<wp:post_name><![CDATA[about-us]]></wp:post_name>
|
91 |
+
<wp:status><![CDATA[publish]]></wp:status>
|
92 |
+
<wp:post_parent>0</wp:post_parent>
|
93 |
+
<wp:menu_order>0</wp:menu_order>
|
94 |
+
<wp:post_type><![CDATA[page]]></wp:post_type>
|
95 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
96 |
+
<wp:is_sticky>0</wp:is_sticky>
|
97 |
+
<wp:postmeta>
|
98 |
+
<wp:meta_key><![CDATA[_wp_page_template]]></wp:meta_key>
|
99 |
+
<wp:meta_value><![CDATA[default]]></wp:meta_value>
|
100 |
+
</wp:postmeta>
|
101 |
+
<wp:postmeta>
|
102 |
+
<wp:meta_key><![CDATA[_wxr_import_parent]]></wp:meta_key>
|
103 |
+
<wp:meta_value><![CDATA[2070]]></wp:meta_value>
|
104 |
+
</wp:postmeta>
|
105 |
+
<wp:postmeta>
|
106 |
+
<wp:meta_key><![CDATA[_edit_last]]></wp:meta_key>
|
107 |
+
<wp:meta_value><![CDATA[2]]></wp:meta_value>
|
108 |
+
</wp:postmeta>
|
109 |
+
</item>
|
110 |
+
|
111 |
+
</channel>
|
112 |
+
</rss>
|
assets/demo-content/book-now-page.xml
ADDED
@@ -0,0 +1,568 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" ?>
|
2 |
+
<!-- generator="WordPress/5.7" created="2021-03-25 06:41" -->
|
3 |
+
<rss version="2.0"
|
4 |
+
xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
|
5 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
6 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
7 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
8 |
+
xmlns:wp="http://wordpress.org/export/1.2/"
|
9 |
+
>
|
10 |
+
|
11 |
+
<channel>
|
12 |
+
<title>ocdi</title>
|
13 |
+
<link>https://ocdi.com</link>
|
14 |
+
<description>Just another WordPress site</description>
|
15 |
+
<pubDate>Thu, 25 Mar 2021 06:41:21 +0000</pubDate>
|
16 |
+
<language>en-US</language>
|
17 |
+
<wp:wxr_version>1.2</wp:wxr_version>
|
18 |
+
<wp:base_site_url>https://ocdi.com</wp:base_site_url>
|
19 |
+
<wp:base_blog_url>https://ocdi.com</wp:base_blog_url>
|
20 |
+
|
21 |
+
<generator>https://wordpress.org/?v=5.7</generator>
|
22 |
+
|
23 |
+
<item>
|
24 |
+
<title><![CDATA[Book Now]]></title>
|
25 |
+
<link>https://ocdi.com/book-now/</link>
|
26 |
+
<pubDate>Wed, 10 Mar 2021 22:35:00 +0000</pubDate>
|
27 |
+
<description></description>
|
28 |
+
<content:encoded><![CDATA[<!-- wp:cover {"url":"https://ocdi.com/wp-content/uploads/2021/03/pexels-rodnae-final-1.jpg","id":2378,"dimRatio":15,"focalPoint":{"x":"1.00","y":"0.44"},"minHeight":495,"minHeightUnit":"px","contentPosition":"center center","align":"wide","className":"is-position-center-center"} -->
|
29 |
+
<div class="wp-block-cover alignwide has-background-dim-20 has-background-dim is-position-center-center" style="min-height:495px"><img class="wp-block-cover__image-background wp-image-2378" alt="" src="https://ocdi.com/wp-content/uploads/2021/03/pexels-rodnae-final-1.jpg" style="object-position:100% 44%" data-object-fit="cover" data-object-position="100% 44%"/><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"placeholder":"Write title…","style":{"typography":{"fontSize":74,"lineHeight":"1.1"}},"textColor":"dark-gray"} -->
|
30 |
+
<p class="has-dark-gray-color has-text-color" style="font-size:74px;line-height:1.1"><strong>Because you deserve an experience <em>just </em>for you.</strong></p>
|
31 |
+
<!-- /wp:paragraph --></div></div>
|
32 |
+
<!-- /wp:cover -->
|
33 |
+
|
34 |
+
<!-- wp:paragraph -->
|
35 |
+
<p>All of our staff are certified and receive annual training - so you can rest assured we're up to speed on the latest trends. <em>Our goal is to help you feel better by looking your best. </em>Book an appointment today!</p>
|
36 |
+
<!-- /wp:paragraph -->
|
37 |
+
|
38 |
+
<!-- wp:buttons {"contentJustification":"center"} -->
|
39 |
+
<div class="wp-block-buttons is-content-justification-center"><!-- wp:button {"borderRadius":2,"backgroundColor":"yellow","textColor":"dark-gray"} -->
|
40 |
+
<div class="wp-block-button"><a class="wp-block-button__link has-dark-gray-color has-yellow-background-color has-text-color has-background" style="border-radius:2px">VIEW SERVICE MENU</a></div>
|
41 |
+
<!-- /wp:button -->
|
42 |
+
|
43 |
+
<!-- wp:button {"borderRadius":2,"backgroundColor":"yellow","textColor":"dark-gray","className":"is-style-outline"} -->
|
44 |
+
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link has-dark-gray-color has-yellow-background-color has-text-color has-background" href="#scheduleyourappointmentnow" style="border-radius:2px">BOOK APPOINTMENT</a></div>
|
45 |
+
<!-- /wp:button --></div>
|
46 |
+
<!-- /wp:buttons -->
|
47 |
+
|
48 |
+
<!-- wp:image {"align":"center","id":2381,"width":282,"height":282,"sizeSlug":"large","linkDestination":"none"} -->
|
49 |
+
<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img src="https://ocdi.com/wp-content/uploads/2021/03/book-now-arrow.gif" alt="" class="wp-image-2381" width="282" height="282"/></figure></div>
|
50 |
+
<!-- /wp:image -->
|
51 |
+
|
52 |
+
<!-- wp:heading -->
|
53 |
+
<h2>What are the benefits of our services? </h2>
|
54 |
+
<!-- /wp:heading -->
|
55 |
+
|
56 |
+
<!-- wp:embed {"url":"https://www.youtube.com/watch?v=eiQ3viAGung","type":"video","providerNameSlug":"youtube","responsive":true,"className":"wp-embed-aspect-16-9 wp-has-aspect-ratio"} -->
|
57 |
+
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
|
58 |
+
https://www.youtube.com/watch?v=eiQ3viAGung
|
59 |
+
</div></figure>
|
60 |
+
<!-- /wp:embed -->
|
61 |
+
|
62 |
+
<!-- wp:heading {"level":4} -->
|
63 |
+
<h4>Book before this weekend and take 20% off!*</h4>
|
64 |
+
<!-- /wp:heading -->
|
65 |
+
|
66 |
+
<!-- wp:separator -->
|
67 |
+
<hr class="wp-block-separator"/>
|
68 |
+
<!-- /wp:separator -->
|
69 |
+
|
70 |
+
<!-- wp:heading {"level":3} -->
|
71 |
+
<h3 id="scheduleyourappointmentnow">SCHEDULE YOUR APPOINTMENT NOW</h3>
|
72 |
+
<!-- /wp:heading -->
|
73 |
+
|
74 |
+
<!-- wp:separator -->
|
75 |
+
<hr class="wp-block-separator"/>
|
76 |
+
<!-- /wp:separator -->
|
77 |
+
|
78 |
+
<!-- wp:columns -->
|
79 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
80 |
+
<div class="wp-block-column"><!-- wp:image {"id":2478,"width":245,"height":367,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
|
81 |
+
<figure class="wp-block-image size-large is-resized is-style-default"><img src="https://ocdi.com/wp-content/uploads/2021/03/michael-dam-mEZ3PoFGs_k-unsplash-scaled-1-683x1024.jpg" alt="" class="wp-image-2478" width="245" height="367"/><figcaption>Kelsey - Owner</figcaption></figure>
|
82 |
+
<!-- /wp:image --></div>
|
83 |
+
<!-- /wp:column -->
|
84 |
+
|
85 |
+
<!-- wp:column {"verticalAlignment":"center"} -->
|
86 |
+
<div class="wp-block-column is-vertically-aligned-center"><!-- wp:buttons {"contentJustification":"center","align":"full"} -->
|
87 |
+
<div class="wp-block-buttons alignfull is-content-justification-center"><!-- wp:button -->
|
88 |
+
<div class="wp-block-button"><a class="wp-block-button__link">Book Now</a></div>
|
89 |
+
<!-- /wp:button --></div>
|
90 |
+
<!-- /wp:buttons --></div>
|
91 |
+
<!-- /wp:column --></div>
|
92 |
+
<!-- /wp:columns -->
|
93 |
+
|
94 |
+
<!-- wp:columns -->
|
95 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
96 |
+
<div class="wp-block-column"><!-- wp:image {"id":2479,"width":245,"height":367,"sizeSlug":"large","linkDestination":"none"} -->
|
97 |
+
<figure class="wp-block-image size-large is-resized"><img src="https://ocdi.com/wp-content/uploads/2021/03/joseph-gonzalez-iFgRcqHznqg-unsplash-scaled-1-683x1024.jpg" alt="" class="wp-image-2479" width="245" height="367"/><figcaption>Steve - Senior Stylist</figcaption></figure>
|
98 |
+
<!-- /wp:image --></div>
|
99 |
+
<!-- /wp:column -->
|
100 |
+
|
101 |
+
<!-- wp:column {"verticalAlignment":"center"} -->
|
102 |
+
<div class="wp-block-column is-vertically-aligned-center"><!-- wp:buttons {"contentJustification":"center","align":"full"} -->
|
103 |
+
<div class="wp-block-buttons alignfull is-content-justification-center"><!-- wp:button -->
|
104 |
+
<div class="wp-block-button"><a class="wp-block-button__link">Book Now</a></div>
|
105 |
+
<!-- /wp:button --></div>
|
106 |
+
<!-- /wp:buttons --></div>
|
107 |
+
<!-- /wp:column --></div>
|
108 |
+
<!-- /wp:columns -->
|
109 |
+
|
110 |
+
<!-- wp:columns -->
|
111 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
112 |
+
<div class="wp-block-column"><!-- wp:image {"id":2480,"width":245,"height":367,"sizeSlug":"large","linkDestination":"none"} -->
|
113 |
+
<figure class="wp-block-image size-large is-resized"><img src="https://ocdi.com/wp-content/uploads/2021/03/brooke-cagle-oTweoxMKdkA-unsplash-scaled-1-683x1024.jpg" alt="" class="wp-image-2480" width="245" height="367"/><figcaption>Mary Kate - Eyelash Specialist</figcaption></figure>
|
114 |
+
<!-- /wp:image --></div>
|
115 |
+
<!-- /wp:column -->
|
116 |
+
|
117 |
+
<!-- wp:column {"verticalAlignment":"center"} -->
|
118 |
+
<div class="wp-block-column is-vertically-aligned-center"><!-- wp:buttons {"contentJustification":"center","align":"full"} -->
|
119 |
+
<div class="wp-block-buttons alignfull is-content-justification-center"><!-- wp:button -->
|
120 |
+
<div class="wp-block-button"><a class="wp-block-button__link">Book Now</a></div>
|
121 |
+
<!-- /wp:button --></div>
|
122 |
+
<!-- /wp:buttons --></div>
|
123 |
+
<!-- /wp:column --></div>
|
124 |
+
<!-- /wp:columns -->
|
125 |
+
|
126 |
+
<!-- wp:columns -->
|
127 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
128 |
+
<div class="wp-block-column"><!-- wp:image {"id":2481,"width":245,"height":367,"sizeSlug":"large","linkDestination":"none"} -->
|
129 |
+
<figure class="wp-block-image size-large is-resized"><img src="https://ocdi.com/wp-content/uploads/2021/03/carrita-tanner-E7B9RWMTMLI-unsplash-scaled-1-755x1024.jpg" alt="" class="wp-image-2481" width="245" height="367"/><figcaption>Tina - Brow Master</figcaption></figure>
|
130 |
+
<!-- /wp:image --></div>
|
131 |
+
<!-- /wp:column -->
|
132 |
+
|
133 |
+
<!-- wp:column {"verticalAlignment":"center"} -->
|
134 |
+
<div class="wp-block-column is-vertically-aligned-center"><!-- wp:buttons {"contentJustification":"center","align":"full"} -->
|
135 |
+
<div class="wp-block-buttons alignfull is-content-justification-center"><!-- wp:button -->
|
136 |
+
<div class="wp-block-button"><a class="wp-block-button__link">Book Now</a></div>
|
137 |
+
<!-- /wp:button --></div>
|
138 |
+
<!-- /wp:buttons --></div>
|
139 |
+
<!-- /wp:column --></div>
|
140 |
+
<!-- /wp:columns -->
|
141 |
+
|
142 |
+
<!-- wp:columns -->
|
143 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
144 |
+
<div class="wp-block-column"><!-- wp:image {"id":2483,"width":245,"height":367,"sizeSlug":"large","linkDestination":"none"} -->
|
145 |
+
<figure class="wp-block-image size-large is-resized"><img src="https://ocdi.com/wp-content/uploads/2021/03/courtney-cook-qFVPPU1mrMM-unsplash-1-scaled-1-683x1024.jpg" alt="" class="wp-image-2483" width="245" height="367"/><figcaption>Becky - Stylist</figcaption></figure>
|
146 |
+
<!-- /wp:image --></div>
|
147 |
+
<!-- /wp:column -->
|
148 |
+
|
149 |
+
<!-- wp:column {"verticalAlignment":"center"} -->
|
150 |
+
<div class="wp-block-column is-vertically-aligned-center"><!-- wp:buttons {"contentJustification":"center","align":"full"} -->
|
151 |
+
<div class="wp-block-buttons alignfull is-content-justification-center"><!-- wp:button -->
|
152 |
+
<div class="wp-block-button"><a class="wp-block-button__link">Book Now</a></div>
|
153 |
+
<!-- /wp:button --></div>
|
154 |
+
<!-- /wp:buttons --></div>
|
155 |
+
<!-- /wp:column --></div>
|
156 |
+
<!-- /wp:columns -->
|
157 |
+
|
158 |
+
<!-- wp:columns -->
|
159 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
160 |
+
<div class="wp-block-column"><!-- wp:image {"id":2484,"width":245,"height":367,"sizeSlug":"large","linkDestination":"none"} -->
|
161 |
+
<figure class="wp-block-image size-large is-resized"><img src="https://ocdi.com/wp-content/uploads/2021/03/jorge-cesar-Atgu8TywltQ-unsplash-scaled-1-683x1024.jpg" alt="" class="wp-image-2484" width="245" height="367"/><figcaption>Rosa - Junior Stylist</figcaption></figure>
|
162 |
+
<!-- /wp:image --></div>
|
163 |
+
<!-- /wp:column -->
|
164 |
+
|
165 |
+
<!-- wp:column {"verticalAlignment":"center"} -->
|
166 |
+
<div class="wp-block-column is-vertically-aligned-center"><!-- wp:buttons {"contentJustification":"center","align":"full"} -->
|
167 |
+
<div class="wp-block-buttons alignfull is-content-justification-center"><!-- wp:button -->
|
168 |
+
<div class="wp-block-button"><a class="wp-block-button__link">Book Now</a></div>
|
169 |
+
<!-- /wp:button --></div>
|
170 |
+
<!-- /wp:buttons --></div>
|
171 |
+
<!-- /wp:column --></div>
|
172 |
+
<!-- /wp:columns -->
|
173 |
+
|
174 |
+
<!-- wp:columns -->
|
175 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
176 |
+
<div class="wp-block-column"><!-- wp:image {"id":2487,"width":245,"height":367,"sizeSlug":"large","linkDestination":"none"} -->
|
177 |
+
<figure class="wp-block-image size-large is-resized"><img src="https://ocdi.com/wp-content/uploads/2021/03/ian-dooley-d1UPkiFd04A-unsplash-scaled-1-683x1024.jpg" alt="" class="wp-image-2487" width="245" height="367"/><figcaption>Ross - Apprentice Stylist</figcaption></figure>
|
178 |
+
<!-- /wp:image --></div>
|
179 |
+
<!-- /wp:column -->
|
180 |
+
|
181 |
+
<!-- wp:column {"verticalAlignment":"center"} -->
|
182 |
+
<div class="wp-block-column is-vertically-aligned-center"><!-- wp:buttons {"contentJustification":"center","align":"full"} -->
|
183 |
+
<div class="wp-block-buttons alignfull is-content-justification-center"><!-- wp:button -->
|
184 |
+
<div class="wp-block-button"><a class="wp-block-button__link">Book Now</a></div>
|
185 |
+
<!-- /wp:button --></div>
|
186 |
+
<!-- /wp:buttons --></div>
|
187 |
+
<!-- /wp:column --></div>
|
188 |
+
<!-- /wp:columns -->
|
189 |
+
|
190 |
+
<!-- wp:separator -->
|
191 |
+
<hr class="wp-block-separator"/>
|
192 |
+
<!-- /wp:separator -->
|
193 |
+
|
194 |
+
<!-- wp:columns -->
|
195 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
196 |
+
<div class="wp-block-column"><!-- wp:paragraph {"style":{"typography":{"lineHeight":"1"}}} -->
|
197 |
+
<p style="line-height:1"><strong>Our Business</strong></p>
|
198 |
+
<!-- /wp:paragraph -->
|
199 |
+
|
200 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"0"}}} -->
|
201 |
+
<p style="line-height:0">56203 Maribel Peaks Road</p>
|
202 |
+
<!-- /wp:paragraph -->
|
203 |
+
|
204 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"0"}}} -->
|
205 |
+
<p style="line-height:0">Suite 180</p>
|
206 |
+
<!-- /wp:paragraph -->
|
207 |
+
|
208 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"0"}}} -->
|
209 |
+
<p style="line-height:0">Big Bear Lake, CA 92333</p>
|
210 |
+
<!-- /wp:paragraph --></div>
|
211 |
+
<!-- /wp:column -->
|
212 |
+
|
213 |
+
<!-- wp:column -->
|
214 |
+
<div class="wp-block-column"><!-- wp:social-links {"align":"center","className":"is-style-pill-shape"} -->
|
215 |
+
<ul class="wp-block-social-links aligncenter is-style-pill-shape"><!-- wp:social-link {"url":"#facebook","service":"facebook"} /-->
|
216 |
+
|
217 |
+
<!-- wp:social-link {"url":"#instagram","service":"instagram"} /-->
|
218 |
+
|
219 |
+
<!-- wp:social-link {"url":"#yelp","service":"yelp"} /-->
|
220 |
+
|
221 |
+
<!-- wp:social-link {"url":"#pinterest","service":"pinterest"} /--></ul>
|
222 |
+
<!-- /wp:social-links --></div>
|
223 |
+
<!-- /wp:column --></div>
|
224 |
+
<!-- /wp:columns -->
|
225 |
+
|
226 |
+
<!-- wp:paragraph -->
|
227 |
+
<p>904-555-3092</p>
|
228 |
+
<!-- /wp:paragraph -->
|
229 |
+
|
230 |
+
<!-- wp:paragraph -->
|
231 |
+
<p><strong>Our Hours</strong></p>
|
232 |
+
<!-- /wp:paragraph -->
|
233 |
+
|
234 |
+
<!-- wp:paragraph -->
|
235 |
+
<p>Monday: 10:00am – 7:00pm<br>Tuesday: 9:00am – 8:00pm<br>Wednesday: 9:00am – 8:00pm<br>Thursday: 9:00am – 8:00pm<br>Friday: 9:00am – 8:00pm<br>Saturday: 9:00am – 6:00pm<br>Sunday: 10:00am – 5:00pm</p>
|
236 |
+
<!-- /wp:paragraph -->]]></content:encoded>
|
237 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
238 |
+
<wp:post_id>2372</wp:post_id>
|
239 |
+
<wp:post_date><![CDATA[2021-03-10 17:35:00]]></wp:post_date>
|
240 |
+
<wp:post_date_gmt><![CDATA[2021-03-10 22:35:00]]></wp:post_date_gmt>
|
241 |
+
<wp:post_modified><![CDATA[2021-03-30 06:03:37]]></wp:post_modified>
|
242 |
+
<wp:post_modified_gmt><![CDATA[2021-03-30 06:03:37]]></wp:post_modified_gmt>
|
243 |
+
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
|
244 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
245 |
+
<wp:post_name><![CDATA[book-now]]></wp:post_name>
|
246 |
+
<wp:status><![CDATA[publish]]></wp:status>
|
247 |
+
<wp:post_parent>0</wp:post_parent>
|
248 |
+
<wp:menu_order>0</wp:menu_order>
|
249 |
+
<wp:post_type><![CDATA[page]]></wp:post_type>
|
250 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
251 |
+
<wp:is_sticky>0</wp:is_sticky>
|
252 |
+
<wp:postmeta>
|
253 |
+
<wp:meta_key><![CDATA[_oembed_cbe95e5def08e45a2bff0a5c99680589]]></wp:meta_key>
|
254 |
+
<wp:meta_value><![CDATA[<iframe title="WPForms Overview - Best WordPress Contact Form Plugin" width="800" height="450" src="https://www.youtube.com/embed/eiQ3viAGung?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>]]></wp:meta_value>
|
255 |
+
</wp:postmeta>
|
256 |
+
<wp:postmeta>
|
257 |
+
<wp:meta_key><![CDATA[_oembed_time_cbe95e5def08e45a2bff0a5c99680589]]></wp:meta_key>
|
258 |
+
<wp:meta_value><![CDATA[1617084218]]></wp:meta_value>
|
259 |
+
</wp:postmeta>
|
260 |
+
<wp:postmeta>
|
261 |
+
<wp:meta_key><![CDATA[_oembed_e343e43e0a434afc750c45b498566b05]]></wp:meta_key>
|
262 |
+
<wp:meta_value><![CDATA[<iframe title="WPForms Overview - Best WordPress Contact Form Plugin" width="750" height="422" src="https://www.youtube.com/embed/eiQ3viAGung?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>]]></wp:meta_value>
|
263 |
+
</wp:postmeta>
|
264 |
+
<wp:postmeta>
|
265 |
+
<wp:meta_key><![CDATA[_oembed_time_e343e43e0a434afc750c45b498566b05]]></wp:meta_key>
|
266 |
+
<wp:meta_value><![CDATA[1614990008]]></wp:meta_value>
|
267 |
+
</wp:postmeta>
|
268 |
+
</item>
|
269 |
+
|
270 |
+
<item>
|
271 |
+
<title><![CDATA[pexels-rodnae-final (1)]]></title>
|
272 |
+
<link>https://ocdi.com/book-now/pexels-rodnae-final-1/</link>
|
273 |
+
<pubDate>Sat, 06 Mar 2021 00:10:45 +0000</pubDate>
|
274 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/pexels-rodnae-final-1.jpg</guid>
|
275 |
+
<description></description>
|
276 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
277 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
278 |
+
<wp:post_id>2378</wp:post_id>
|
279 |
+
<wp:post_date><![CDATA[2021-03-05 19:10:45]]></wp:post_date>
|
280 |
+
<wp:post_date_gmt><![CDATA[2021-03-06 00:10:45]]></wp:post_date_gmt>
|
281 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:59]]></wp:post_modified>
|
282 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:59]]></wp:post_modified_gmt>
|
283 |
+
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
|
284 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
285 |
+
<wp:post_name><![CDATA[pexels-rodnae-final-1]]></wp:post_name>
|
286 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
287 |
+
<wp:post_parent>2372</wp:post_parent>
|
288 |
+
<wp:menu_order>0</wp:menu_order>
|
289 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
290 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
291 |
+
<wp:is_sticky>0</wp:is_sticky>
|
292 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/pexels-rodnae-final-1.jpg]]></wp:attachment_url>
|
293 |
+
<wp:postmeta>
|
294 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
295 |
+
<wp:meta_value><![CDATA[2021/03/pexels-rodnae-final-1.jpg]]></wp:meta_value>
|
296 |
+
</wp:postmeta>
|
297 |
+
<wp:postmeta>
|
298 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
299 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2390;s:6:"height";i:1518;s:4:"file";s:33:"2021/03/pexels-rodnae-final-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:33:"pexels-rodnae-final-1-300x191.jpg";s:5:"width";i:300;s:6:"height";i:191;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:34:"pexels-rodnae-final-1-1024x650.jpg";s:5:"width";i:1024;s:6:"height";i:650;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:33:"pexels-rodnae-final-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:33:"pexels-rodnae-final-1-768x488.jpg";s:5:"width";i:768;s:6:"height";i:488;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:34:"pexels-rodnae-final-1-1536x976.jpg";s:5:"width";i:1536;s:6:"height";i:976;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:35:"pexels-rodnae-final-1-2048x1301.jpg";s:5:"width";i:2048;s:6:"height";i:1301;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
300 |
+
</wp:postmeta>
|
301 |
+
<wp:postmeta>
|
302 |
+
<wp:meta_key><![CDATA[_wp_attachment_image_alt]]></wp:meta_key>
|
303 |
+
<wp:meta_value><![CDATA[pexels-rodnae-final (1)]]></wp:meta_value>
|
304 |
+
</wp:postmeta>
|
305 |
+
</item>
|
306 |
+
|
307 |
+
<item>
|
308 |
+
<title><![CDATA[book-now-arrow]]></title>
|
309 |
+
<link>https://ocdi.com/book-now/book-now-arrow/</link>
|
310 |
+
<pubDate>Sat, 06 Mar 2021 00:43:14 +0000</pubDate>
|
311 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/book-now-arrow.gif</guid>
|
312 |
+
<description></description>
|
313 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
314 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
315 |
+
<wp:post_id>2381</wp:post_id>
|
316 |
+
<wp:post_date><![CDATA[2021-03-05 19:43:14]]></wp:post_date>
|
317 |
+
<wp:post_date_gmt><![CDATA[2021-03-06 00:43:14]]></wp:post_date_gmt>
|
318 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:59]]></wp:post_modified>
|
319 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:59]]></wp:post_modified_gmt>
|
320 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
321 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
322 |
+
<wp:post_name><![CDATA[book-now-arrow]]></wp:post_name>
|
323 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
324 |
+
<wp:post_parent>2372</wp:post_parent>
|
325 |
+
<wp:menu_order>0</wp:menu_order>
|
326 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
327 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
328 |
+
<wp:is_sticky>0</wp:is_sticky>
|
329 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/book-now-arrow.gif]]></wp:attachment_url>
|
330 |
+
<wp:postmeta>
|
331 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
332 |
+
<wp:meta_value><![CDATA[2021/03/book-now-arrow.gif]]></wp:meta_value>
|
333 |
+
</wp:postmeta>
|
334 |
+
<wp:postmeta>
|
335 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
336 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:600;s:6:"height";i:600;s:4:"file";s:26:"2021/03/book-now-arrow.gif";s:5:"sizes";a:2:{s:6:"medium";a:4:{s:4:"file";s:26:"book-now-arrow-300x300.gif";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:9:"image/gif";}s:9:"thumbnail";a:4:{s:4:"file";s:26:"book-now-arrow-150x150.gif";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/gif";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
337 |
+
</wp:postmeta>
|
338 |
+
</item>
|
339 |
+
|
340 |
+
<item>
|
341 |
+
<title><![CDATA[michael-dam-mEZ3PoFGs_k-unsplash]]></title>
|
342 |
+
<link>https://ocdi.com/book-now/michael-dam-mez3pofgs_k-unsplash/</link>
|
343 |
+
<pubDate>Wed, 10 Mar 2021 22:24:10 +0000</pubDate>
|
344 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/michael-dam-mEZ3PoFGs_k-unsplash.jpg</guid>
|
345 |
+
<description></description>
|
346 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
347 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
348 |
+
<wp:post_id>2478</wp:post_id>
|
349 |
+
<wp:post_date><![CDATA[2021-03-10 17:24:10]]></wp:post_date>
|
350 |
+
<wp:post_date_gmt><![CDATA[2021-03-10 22:24:10]]></wp:post_date_gmt>
|
351 |
+
<wp:post_modified><![CDATA[2021-03-22 15:37:00]]></wp:post_modified>
|
352 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:37:00]]></wp:post_modified_gmt>
|
353 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
354 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
355 |
+
<wp:post_name><![CDATA[michael-dam-mez3pofgs_k-unsplash]]></wp:post_name>
|
356 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
357 |
+
<wp:post_parent>2372</wp:post_parent>
|
358 |
+
<wp:menu_order>0</wp:menu_order>
|
359 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
360 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
361 |
+
<wp:is_sticky>0</wp:is_sticky>
|
362 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/michael-dam-mEZ3PoFGs_k-unsplash-scaled-1.jpg]]></wp:attachment_url>
|
363 |
+
<wp:postmeta>
|
364 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
365 |
+
<wp:meta_value><![CDATA[2021/03/michael-dam-mEZ3PoFGs_k-unsplash-scaled-1.jpg]]></wp:meta_value>
|
366 |
+
</wp:postmeta>
|
367 |
+
<wp:postmeta>
|
368 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
369 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:1707;s:6:"height";i:2560;s:4:"file";s:53:"2021/03/michael-dam-mEZ3PoFGs_k-unsplash-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:53:"michael-dam-mEZ3PoFGs_k-unsplash-scaled-1-200x300.jpg";s:5:"width";i:200;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:54:"michael-dam-mEZ3PoFGs_k-unsplash-scaled-1-683x1024.jpg";s:5:"width";i:683;s:6:"height";i:1024;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:53:"michael-dam-mEZ3PoFGs_k-unsplash-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:54:"michael-dam-mEZ3PoFGs_k-unsplash-scaled-1-768x1152.jpg";s:5:"width";i:768;s:6:"height";i:1152;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:55:"michael-dam-mEZ3PoFGs_k-unsplash-scaled-1-1024x1536.jpg";s:5:"width";i:1024;s:6:"height";i:1536;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:55:"michael-dam-mEZ3PoFGs_k-unsplash-scaled-1-1366x2048.jpg";s:5:"width";i:1366;s:6:"height";i:2048;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
370 |
+
</wp:postmeta>
|
371 |
+
</item>
|
372 |
+
<item>
|
373 |
+
<title><![CDATA[joseph-gonzalez-iFgRcqHznqg-unsplash]]></title>
|
374 |
+
<link>https://ocdi.com/book-now/joseph-gonzalez-ifgrcqhznqg-unsplash/</link>
|
375 |
+
<pubDate>Wed, 10 Mar 2021 22:27:18 +0000</pubDate>
|
376 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/joseph-gonzalez-iFgRcqHznqg-unsplash.jpg</guid>
|
377 |
+
<description></description>
|
378 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
379 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
380 |
+
<wp:post_id>2479</wp:post_id>
|
381 |
+
<wp:post_date><![CDATA[2021-03-10 17:27:18]]></wp:post_date>
|
382 |
+
<wp:post_date_gmt><![CDATA[2021-03-10 22:27:18]]></wp:post_date_gmt>
|
383 |
+
<wp:post_modified><![CDATA[2021-03-22 15:37:00]]></wp:post_modified>
|
384 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:37:00]]></wp:post_modified_gmt>
|
385 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
386 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
387 |
+
<wp:post_name><![CDATA[joseph-gonzalez-ifgrcqhznqg-unsplash]]></wp:post_name>
|
388 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
389 |
+
<wp:post_parent>2372</wp:post_parent>
|
390 |
+
<wp:menu_order>0</wp:menu_order>
|
391 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
392 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
393 |
+
<wp:is_sticky>0</wp:is_sticky>
|
394 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/joseph-gonzalez-iFgRcqHznqg-unsplash-scaled-1.jpg]]></wp:attachment_url>
|
395 |
+
<wp:postmeta>
|
396 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
397 |
+
<wp:meta_value><![CDATA[2021/03/joseph-gonzalez-iFgRcqHznqg-unsplash-scaled-1.jpg]]></wp:meta_value>
|
398 |
+
</wp:postmeta>
|
399 |
+
<wp:postmeta>
|
400 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
401 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:1707;s:6:"height";i:2560;s:4:"file";s:57:"2021/03/joseph-gonzalez-iFgRcqHznqg-unsplash-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:57:"joseph-gonzalez-iFgRcqHznqg-unsplash-scaled-1-200x300.jpg";s:5:"width";i:200;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:58:"joseph-gonzalez-iFgRcqHznqg-unsplash-scaled-1-683x1024.jpg";s:5:"width";i:683;s:6:"height";i:1024;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:57:"joseph-gonzalez-iFgRcqHznqg-unsplash-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:58:"joseph-gonzalez-iFgRcqHznqg-unsplash-scaled-1-768x1152.jpg";s:5:"width";i:768;s:6:"height";i:1152;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:59:"joseph-gonzalez-iFgRcqHznqg-unsplash-scaled-1-1024x1536.jpg";s:5:"width";i:1024;s:6:"height";i:1536;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:59:"joseph-gonzalez-iFgRcqHznqg-unsplash-scaled-1-1366x2048.jpg";s:5:"width";i:1366;s:6:"height";i:2048;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
402 |
+
</wp:postmeta>
|
403 |
+
</item>
|
404 |
+
<item>
|
405 |
+
<title><![CDATA[brooke-cagle-oTweoxMKdkA-unsplash]]></title>
|
406 |
+
<link>https://ocdi.com/book-now/brooke-cagle-otweoxmkdka-unsplash/</link>
|
407 |
+
<pubDate>Wed, 10 Mar 2021 22:27:56 +0000</pubDate>
|
408 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/brooke-cagle-oTweoxMKdkA-unsplash.jpg</guid>
|
409 |
+
<description></description>
|
410 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
411 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
412 |
+
<wp:post_id>2480</wp:post_id>
|
413 |
+
<wp:post_date><![CDATA[2021-03-10 17:27:56]]></wp:post_date>
|
414 |
+
<wp:post_date_gmt><![CDATA[2021-03-10 22:27:56]]></wp:post_date_gmt>
|
415 |
+
<wp:post_modified><![CDATA[2021-03-22 15:37:00]]></wp:post_modified>
|
416 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:37:00]]></wp:post_modified_gmt>
|
417 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
418 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
419 |
+
<wp:post_name><![CDATA[brooke-cagle-otweoxmkdka-unsplash]]></wp:post_name>
|
420 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
421 |
+
<wp:post_parent>2372</wp:post_parent>
|
422 |
+
<wp:menu_order>0</wp:menu_order>
|
423 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
424 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
425 |
+
<wp:is_sticky>0</wp:is_sticky>
|
426 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/brooke-cagle-oTweoxMKdkA-unsplash-scaled-1.jpg]]></wp:attachment_url>
|
427 |
+
<wp:postmeta>
|
428 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
429 |
+
<wp:meta_value><![CDATA[2021/03/brooke-cagle-oTweoxMKdkA-unsplash-scaled-1.jpg]]></wp:meta_value>
|
430 |
+
</wp:postmeta>
|
431 |
+
<wp:postmeta>
|
432 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
433 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:1707;s:6:"height";i:2560;s:4:"file";s:54:"2021/03/brooke-cagle-oTweoxMKdkA-unsplash-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:54:"brooke-cagle-oTweoxMKdkA-unsplash-scaled-1-200x300.jpg";s:5:"width";i:200;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:55:"brooke-cagle-oTweoxMKdkA-unsplash-scaled-1-683x1024.jpg";s:5:"width";i:683;s:6:"height";i:1024;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:54:"brooke-cagle-oTweoxMKdkA-unsplash-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:55:"brooke-cagle-oTweoxMKdkA-unsplash-scaled-1-768x1152.jpg";s:5:"width";i:768;s:6:"height";i:1152;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:56:"brooke-cagle-oTweoxMKdkA-unsplash-scaled-1-1024x1536.jpg";s:5:"width";i:1024;s:6:"height";i:1536;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:56:"brooke-cagle-oTweoxMKdkA-unsplash-scaled-1-1366x2048.jpg";s:5:"width";i:1366;s:6:"height";i:2048;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
434 |
+
</wp:postmeta>
|
435 |
+
</item>
|
436 |
+
<item>
|
437 |
+
<title><![CDATA[carrita-tanner-E7B9RWMTMLI-unsplash]]></title>
|
438 |
+
<link>https://ocdi.com/book-now/carrita-tanner-e7b9rwmtmli-unsplash/</link>
|
439 |
+
<pubDate>Wed, 10 Mar 2021 22:29:17 +0000</pubDate>
|
440 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/carrita-tanner-E7B9RWMTMLI-unsplash.jpg</guid>
|
441 |
+
<description></description>
|
442 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
443 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
444 |
+
<wp:post_id>2481</wp:post_id>
|
445 |
+
<wp:post_date><![CDATA[2021-03-10 17:29:17]]></wp:post_date>
|
446 |
+
<wp:post_date_gmt><![CDATA[2021-03-10 22:29:17]]></wp:post_date_gmt>
|
447 |
+
<wp:post_modified><![CDATA[2021-03-22 15:37:00]]></wp:post_modified>
|
448 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:37:00]]></wp:post_modified_gmt>
|
449 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
450 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
451 |
+
<wp:post_name><![CDATA[carrita-tanner-e7b9rwmtmli-unsplash]]></wp:post_name>
|
452 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
453 |
+
<wp:post_parent>2372</wp:post_parent>
|
454 |
+
<wp:menu_order>0</wp:menu_order>
|
455 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
456 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
457 |
+
<wp:is_sticky>0</wp:is_sticky>
|
458 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/carrita-tanner-E7B9RWMTMLI-unsplash-scaled-1.jpg]]></wp:attachment_url>
|
459 |
+
<wp:postmeta>
|
460 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
461 |
+
<wp:meta_value><![CDATA[2021/03/carrita-tanner-E7B9RWMTMLI-unsplash-scaled-1.jpg]]></wp:meta_value>
|
462 |
+
</wp:postmeta>
|
463 |
+
<wp:postmeta>
|
464 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
465 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:1888;s:6:"height";i:2560;s:4:"file";s:56:"2021/03/carrita-tanner-E7B9RWMTMLI-unsplash-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:56:"carrita-tanner-E7B9RWMTMLI-unsplash-scaled-1-221x300.jpg";s:5:"width";i:221;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:57:"carrita-tanner-E7B9RWMTMLI-unsplash-scaled-1-755x1024.jpg";s:5:"width";i:755;s:6:"height";i:1024;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:56:"carrita-tanner-E7B9RWMTMLI-unsplash-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:57:"carrita-tanner-E7B9RWMTMLI-unsplash-scaled-1-768x1041.jpg";s:5:"width";i:768;s:6:"height";i:1041;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:58:"carrita-tanner-E7B9RWMTMLI-unsplash-scaled-1-1133x1536.jpg";s:5:"width";i:1133;s:6:"height";i:1536;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:58:"carrita-tanner-E7B9RWMTMLI-unsplash-scaled-1-1510x2048.jpg";s:5:"width";i:1510;s:6:"height";i:2048;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
466 |
+
</wp:postmeta>
|
467 |
+
</item>
|
468 |
+
|
469 |
+
<item>
|
470 |
+
<title><![CDATA[courtney-cook-qFVPPU1mrMM-unsplash-1]]></title>
|
471 |
+
<link>https://ocdi.com/book-now/courtney-cook-qfvppu1mrmm-unsplash-1/</link>
|
472 |
+
<pubDate>Wed, 10 Mar 2021 22:30:00 +0000</pubDate>
|
473 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/courtney-cook-qFVPPU1mrMM-unsplash-1.jpg</guid>
|
474 |
+
<description></description>
|
475 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
476 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
477 |
+
<wp:post_id>2483</wp:post_id>
|
478 |
+
<wp:post_date><![CDATA[2021-03-10 17:30:00]]></wp:post_date>
|
479 |
+
<wp:post_date_gmt><![CDATA[2021-03-10 22:30:00]]></wp:post_date_gmt>
|
480 |
+
<wp:post_modified><![CDATA[2021-03-22 15:37:00]]></wp:post_modified>
|
481 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:37:00]]></wp:post_modified_gmt>
|
482 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
483 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
484 |
+
<wp:post_name><![CDATA[courtney-cook-qfvppu1mrmm-unsplash-1]]></wp:post_name>
|
485 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
486 |
+
<wp:post_parent>2372</wp:post_parent>
|
487 |
+
<wp:menu_order>0</wp:menu_order>
|
488 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
489 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
490 |
+
<wp:is_sticky>0</wp:is_sticky>
|
491 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/courtney-cook-qFVPPU1mrMM-unsplash-1-scaled-1.jpg]]></wp:attachment_url>
|
492 |
+
<wp:postmeta>
|
493 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
494 |
+
<wp:meta_value><![CDATA[2021/03/courtney-cook-qFVPPU1mrMM-unsplash-1-scaled-1.jpg]]></wp:meta_value>
|
495 |
+
</wp:postmeta>
|
496 |
+
<wp:postmeta>
|
497 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
498 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:1707;s:6:"height";i:2560;s:4:"file";s:57:"2021/03/courtney-cook-qFVPPU1mrMM-unsplash-1-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:57:"courtney-cook-qFVPPU1mrMM-unsplash-1-scaled-1-200x300.jpg";s:5:"width";i:200;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:58:"courtney-cook-qFVPPU1mrMM-unsplash-1-scaled-1-683x1024.jpg";s:5:"width";i:683;s:6:"height";i:1024;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:57:"courtney-cook-qFVPPU1mrMM-unsplash-1-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:58:"courtney-cook-qFVPPU1mrMM-unsplash-1-scaled-1-768x1152.jpg";s:5:"width";i:768;s:6:"height";i:1152;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:59:"courtney-cook-qFVPPU1mrMM-unsplash-1-scaled-1-1024x1536.jpg";s:5:"width";i:1024;s:6:"height";i:1536;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:59:"courtney-cook-qFVPPU1mrMM-unsplash-1-scaled-1-1366x2048.jpg";s:5:"width";i:1366;s:6:"height";i:2048;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
499 |
+
</wp:postmeta>
|
500 |
+
</item>
|
501 |
+
<item>
|
502 |
+
<title><![CDATA[jorge-cesar-Atgu8TywltQ-unsplash]]></title>
|
503 |
+
<link>https://ocdi.com/book-now/jorge-cesar-atgu8tywltq-unsplash/</link>
|
504 |
+
<pubDate>Wed, 10 Mar 2021 22:30:25 +0000</pubDate>
|
505 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/jorge-cesar-Atgu8TywltQ-unsplash.jpg</guid>
|
506 |
+
<description></description>
|
507 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
508 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
509 |
+
<wp:post_id>2484</wp:post_id>
|
510 |
+
<wp:post_date><![CDATA[2021-03-10 17:30:25]]></wp:post_date>
|
511 |
+
<wp:post_date_gmt><![CDATA[2021-03-10 22:30:25]]></wp:post_date_gmt>
|
512 |
+
<wp:post_modified><![CDATA[2021-03-22 15:37:00]]></wp:post_modified>
|
513 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:37:00]]></wp:post_modified_gmt>
|
514 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
515 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
516 |
+
<wp:post_name><![CDATA[jorge-cesar-atgu8tywltq-unsplash]]></wp:post_name>
|
517 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
518 |
+
<wp:post_parent>2372</wp:post_parent>
|
519 |
+
<wp:menu_order>0</wp:menu_order>
|
520 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
521 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
522 |
+
<wp:is_sticky>0</wp:is_sticky>
|
523 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/jorge-cesar-Atgu8TywltQ-unsplash-scaled-1.jpg]]></wp:attachment_url>
|
524 |
+
<wp:postmeta>
|
525 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
526 |
+
<wp:meta_value><![CDATA[2021/03/jorge-cesar-Atgu8TywltQ-unsplash-scaled-1.jpg]]></wp:meta_value>
|
527 |
+
</wp:postmeta>
|
528 |
+
<wp:postmeta>
|
529 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
530 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:1707;s:6:"height";i:2560;s:4:"file";s:53:"2021/03/jorge-cesar-Atgu8TywltQ-unsplash-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:53:"jorge-cesar-Atgu8TywltQ-unsplash-scaled-1-200x300.jpg";s:5:"width";i:200;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:54:"jorge-cesar-Atgu8TywltQ-unsplash-scaled-1-683x1024.jpg";s:5:"width";i:683;s:6:"height";i:1024;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:53:"jorge-cesar-Atgu8TywltQ-unsplash-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:54:"jorge-cesar-Atgu8TywltQ-unsplash-scaled-1-768x1152.jpg";s:5:"width";i:768;s:6:"height";i:1152;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:55:"jorge-cesar-Atgu8TywltQ-unsplash-scaled-1-1024x1536.jpg";s:5:"width";i:1024;s:6:"height";i:1536;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:55:"jorge-cesar-Atgu8TywltQ-unsplash-scaled-1-1366x2048.jpg";s:5:"width";i:1366;s:6:"height";i:2048;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
531 |
+
</wp:postmeta>
|
532 |
+
</item>
|
533 |
+
|
534 |
+
<item>
|
535 |
+
<title><![CDATA[ian-dooley-d1UPkiFd04A-unsplash]]></title>
|
536 |
+
<link>https://ocdi.com/book-now/ian-dooley-d1upkifd04a-unsplash/</link>
|
537 |
+
<pubDate>Wed, 10 Mar 2021 22:32:00 +0000</pubDate>
|
538 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/ian-dooley-d1UPkiFd04A-unsplash.jpg</guid>
|
539 |
+
<description></description>
|
540 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
541 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
542 |
+
<wp:post_id>2487</wp:post_id>
|
543 |
+
<wp:post_date><![CDATA[2021-03-10 17:32:00]]></wp:post_date>
|
544 |
+
<wp:post_date_gmt><![CDATA[2021-03-10 22:32:00]]></wp:post_date_gmt>
|
545 |
+
<wp:post_modified><![CDATA[2021-03-22 15:37:00]]></wp:post_modified>
|
546 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:37:00]]></wp:post_modified_gmt>
|
547 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
548 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
549 |
+
<wp:post_name><![CDATA[ian-dooley-d1upkifd04a-unsplash]]></wp:post_name>
|
550 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
551 |
+
<wp:post_parent>2372</wp:post_parent>
|
552 |
+
<wp:menu_order>0</wp:menu_order>
|
553 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
554 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
555 |
+
<wp:is_sticky>0</wp:is_sticky>
|
556 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/ian-dooley-d1UPkiFd04A-unsplash-scaled-1.jpg]]></wp:attachment_url>
|
557 |
+
<wp:postmeta>
|
558 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
559 |
+
<wp:meta_value><![CDATA[2021/03/ian-dooley-d1UPkiFd04A-unsplash-scaled-1.jpg]]></wp:meta_value>
|
560 |
+
</wp:postmeta>
|
561 |
+
<wp:postmeta>
|
562 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
563 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:1707;s:6:"height";i:2560;s:4:"file";s:52:"2021/03/ian-dooley-d1UPkiFd04A-unsplash-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:52:"ian-dooley-d1UPkiFd04A-unsplash-scaled-1-200x300.jpg";s:5:"width";i:200;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:53:"ian-dooley-d1UPkiFd04A-unsplash-scaled-1-683x1024.jpg";s:5:"width";i:683;s:6:"height";i:1024;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:52:"ian-dooley-d1UPkiFd04A-unsplash-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:53:"ian-dooley-d1UPkiFd04A-unsplash-scaled-1-768x1152.jpg";s:5:"width";i:768;s:6:"height";i:1152;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:54:"ian-dooley-d1UPkiFd04A-unsplash-scaled-1-1024x1536.jpg";s:5:"width";i:1024;s:6:"height";i:1536;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:54:"ian-dooley-d1UPkiFd04A-unsplash-scaled-1-1366x2048.jpg";s:5:"width";i:1366;s:6:"height";i:2048;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
564 |
+
</wp:postmeta>
|
565 |
+
</item>
|
566 |
+
|
567 |
+
</channel>
|
568 |
+
</rss>
|
assets/demo-content/contact-page.xml
ADDED
@@ -0,0 +1,167 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" ?>
|
2 |
+
<!-- generator="WordPress/5.7" created="2021-03-25 06:41" -->
|
3 |
+
<rss version="2.0"
|
4 |
+
xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
|
5 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
6 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
7 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
8 |
+
xmlns:wp="http://wordpress.org/export/1.2/"
|
9 |
+
>
|
10 |
+
|
11 |
+
<channel>
|
12 |
+
<title>ocdi</title>
|
13 |
+
<link>https://ocdi.com</link>
|
14 |
+
<description>Just another WordPress site</description>
|
15 |
+
<pubDate>Thu, 25 Mar 2021 06:41:21 +0000</pubDate>
|
16 |
+
<language>en-US</language>
|
17 |
+
<wp:wxr_version>1.2</wp:wxr_version>
|
18 |
+
<wp:base_site_url>https://ocdi.com</wp:base_site_url>
|
19 |
+
<wp:base_blog_url>https://ocdi.com</wp:base_blog_url>
|
20 |
+
|
21 |
+
<generator>https://wordpress.org/?v=5.7</generator>
|
22 |
+
|
23 |
+
<item>
|
24 |
+
<title><![CDATA[Contact Us]]></title>
|
25 |
+
<link>https://ocdi.com/contact-us/</link>
|
26 |
+
<pubDate>Fri, 05 Mar 2021 17:38:57 +0000</pubDate>
|
27 |
+
<description></description>
|
28 |
+
<content:encoded><![CDATA[<!-- wp:cover {"url":"https://ocdi.com/wp-content/uploads/2021/03/adam-solomon-WHUDOzd5IYU-unsplash-1-scaled-1.jpg","id":2318,"dimRatio":15,"focalPoint":{"x":"0.40","y":"0.26"},"minHeight":375,"minHeightUnit":"px","contentPosition":"center center","align":"wide","className":"is-position-center-center"} -->
|
29 |
+
<div class="wp-block-cover alignwide has-background-dim-20 has-background-dim is-position-center-center" style="min-height:375px"><img class="wp-block-cover__image-background wp-image-2318" alt="" src="https://ocdi.com/wp-content/uploads/2021/03/adam-solomon-WHUDOzd5IYU-unsplash-1-scaled-1.jpg" style="object-position:40% 26%" data-object-fit="cover" data-object-position="40% 26%"/><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title…","style":{"typography":{"fontSize":74,"lineHeight":"1.1"},"color":{"text":"#fffffa"}}} -->
|
30 |
+
<p class="has-text-align-center has-text-color" style="color:#fffffa;font-size:74px;line-height:1.1"></p>
|
31 |
+
<!-- /wp:paragraph --></div></div>
|
32 |
+
<!-- /wp:cover -->
|
33 |
+
|
34 |
+
<!-- wp:columns {"verticalAlignment":"center","align":"full"} -->
|
35 |
+
<div class="wp-block-columns alignfull are-vertically-aligned-center"><!-- wp:column {"verticalAlignment":"center"} -->
|
36 |
+
<div class="wp-block-column is-vertically-aligned-center"><!-- wp:buttons {"contentJustification":"center"} -->
|
37 |
+
<div class="wp-block-buttons is-content-justification-center"><!-- wp:button {"backgroundColor":"yellow","textColor":"white"} -->
|
38 |
+
<div class="wp-block-button"><a class="wp-block-button__link has-white-color has-yellow-background-color has-text-color has-background" href="#">Learn More About Our Features</a></div>
|
39 |
+
<!-- /wp:button --></div>
|
40 |
+
<!-- /wp:buttons --></div>
|
41 |
+
<!-- /wp:column -->
|
42 |
+
|
43 |
+
<!-- wp:column {"verticalAlignment":"center"} -->
|
44 |
+
<div class="wp-block-column is-vertically-aligned-center"><!-- wp:buttons {"contentJustification":"center"} -->
|
45 |
+
<div class="wp-block-buttons is-content-justification-center"><!-- wp:button {"backgroundColor":"yellow","textColor":"white"} -->
|
46 |
+
<div class="wp-block-button"><a class="wp-block-button__link has-white-color has-yellow-background-color has-text-color has-background" href="#">View Our Support Documentation</a></div>
|
47 |
+
<!-- /wp:button --></div>
|
48 |
+
<!-- /wp:buttons --></div>
|
49 |
+
<!-- /wp:column --></div>
|
50 |
+
<!-- /wp:columns -->
|
51 |
+
|
52 |
+
<!-- wp:heading {"textAlign":"center","level":1,"align":"full"} -->
|
53 |
+
<h1 class="alignfull has-text-align-center" id="h-talk-to-a-human">Talk to a Human</h1>
|
54 |
+
<!-- /wp:heading -->
|
55 |
+
|
56 |
+
<!-- wp:paragraph {"align":"center","fontSize":"medium"} -->
|
57 |
+
<p class="has-text-align-center has-medium-font-size">We promise, your message won't disappear into the abyss. We're standing by and ready to help with any questions, comments, or thoughts you may have. </p>
|
58 |
+
<!-- /wp:paragraph -->
|
59 |
+
|
60 |
+
<!-- wp:columns -->
|
61 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33.33%"} -->
|
62 |
+
<div class="wp-block-column" style="flex-basis:33.33%"><!-- wp:heading {"textAlign":"center","align":"full"} -->
|
63 |
+
<h2 class="alignfull has-text-align-center" id="h-let-s-chat">Let's Chat!</h2>
|
64 |
+
<!-- /wp:heading -->
|
65 |
+
|
66 |
+
<!-- wp:image {"id":2367,"sizeSlug":"large","linkDestination":"none"} -->
|
67 |
+
<figure class="wp-block-image size-large"><img src="https://ocdi.com/wp-content/uploads/2021/03/animated-arrow-form.gif" alt="" class="wp-image-2367"/></figure>
|
68 |
+
<!-- /wp:image --></div>
|
69 |
+
<!-- /wp:column -->
|
70 |
+
|
71 |
+
<!-- wp:column {"width":"66.66%"} -->
|
72 |
+
<div class="wp-block-column" style="flex-basis:66.66%"><!-- wp:wpforms/form-selector {"formId":"9999"} /--></div>
|
73 |
+
<!-- /wp:column --></div>
|
74 |
+
<!-- /wp:columns -->]]></content:encoded>
|
75 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
76 |
+
<wp:post_id>2307</wp:post_id>
|
77 |
+
<wp:post_date><![CDATA[2021-03-05 12:38:57]]></wp:post_date>
|
78 |
+
<wp:post_date_gmt><![CDATA[2021-03-05 17:38:57]]></wp:post_date_gmt>
|
79 |
+
<wp:post_modified><![CDATA[2021-03-24 12:24:08]]></wp:post_modified>
|
80 |
+
<wp:post_modified_gmt><![CDATA[2021-03-24 12:24:08]]></wp:post_modified_gmt>
|
81 |
+
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
|
82 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
83 |
+
<wp:post_name><![CDATA[contact-us]]></wp:post_name>
|
84 |
+
<wp:status><![CDATA[publish]]></wp:status>
|
85 |
+
<wp:post_parent>0</wp:post_parent>
|
86 |
+
<wp:menu_order>0</wp:menu_order>
|
87 |
+
<wp:post_type><![CDATA[page]]></wp:post_type>
|
88 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
89 |
+
<wp:is_sticky>0</wp:is_sticky>
|
90 |
+
<wp:postmeta>
|
91 |
+
<wp:meta_key><![CDATA[ocdi_precreated_demo]]></wp:meta_key>
|
92 |
+
<wp:meta_value><![CDATA[contact-page]]></wp:meta_value>
|
93 |
+
</wp:postmeta>
|
94 |
+
<wp:postmeta>
|
95 |
+
<wp:meta_key><![CDATA[ocdi_precreated_demo_updated]]></wp:meta_key>
|
96 |
+
<wp:meta_value><![CDATA[no]]></wp:meta_value>
|
97 |
+
</wp:postmeta>
|
98 |
+
</item>
|
99 |
+
|
100 |
+
<item>
|
101 |
+
<title><![CDATA[animated-arrow-form]]></title>
|
102 |
+
<link>https://ocdi.com/contact-us/animated-arrow-form/</link>
|
103 |
+
<pubDate>Fri, 05 Mar 2021 23:11:12 +0000</pubDate>
|
104 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/animated-arrow-form.gif</guid>
|
105 |
+
<description></description>
|
106 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
107 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
108 |
+
<wp:post_id>2367</wp:post_id>
|
109 |
+
<wp:post_date><![CDATA[2021-03-05 18:11:12]]></wp:post_date>
|
110 |
+
<wp:post_date_gmt><![CDATA[2021-03-05 23:11:12]]></wp:post_date_gmt>
|
111 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:58]]></wp:post_modified>
|
112 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:58]]></wp:post_modified_gmt>
|
113 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
114 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
115 |
+
<wp:post_name><![CDATA[animated-arrow-form]]></wp:post_name>
|
116 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
117 |
+
<wp:post_parent>2307</wp:post_parent>
|
118 |
+
<wp:menu_order>0</wp:menu_order>
|
119 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
120 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
121 |
+
<wp:is_sticky>0</wp:is_sticky>
|
122 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/animated-arrow-form.gif]]></wp:attachment_url>
|
123 |
+
<wp:postmeta>
|
124 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
125 |
+
<wp:meta_value><![CDATA[2021/03/animated-arrow-form.gif]]></wp:meta_value>
|
126 |
+
</wp:postmeta>
|
127 |
+
<wp:postmeta>
|
128 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
129 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:600;s:6:"height";i:600;s:4:"file";s:31:"2021/03/animated-arrow-form.gif";s:5:"sizes";a:2:{s:6:"medium";a:4:{s:4:"file";s:31:"animated-arrow-form-300x300.gif";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:9:"image/gif";}s:9:"thumbnail";a:4:{s:4:"file";s:31:"animated-arrow-form-150x150.gif";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/gif";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
130 |
+
</wp:postmeta>
|
131 |
+
</item>
|
132 |
+
|
133 |
+
<item>
|
134 |
+
<title><![CDATA[adam-solomon-WHUDOzd5IYU-unsplash-1]]></title>
|
135 |
+
<link>https://ocdi.com/contact-us/adam-solomon-whudozd5iyu-unsplash-1/</link>
|
136 |
+
<pubDate>Fri, 05 Mar 2021 17:25:32 +0000</pubDate>
|
137 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/adam-solomon-WHUDOzd5IYU-unsplash-1-scaled-1.jpg</guid>
|
138 |
+
<description></description>
|
139 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
140 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
141 |
+
<wp:post_id>2318</wp:post_id>
|
142 |
+
<wp:post_date><![CDATA[2021-03-05 12:25:32]]></wp:post_date>
|
143 |
+
<wp:post_date_gmt><![CDATA[2021-03-05 17:25:32]]></wp:post_date_gmt>
|
144 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:57]]></wp:post_modified>
|
145 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:57]]></wp:post_modified_gmt>
|
146 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
147 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
148 |
+
<wp:post_name><![CDATA[adam-solomon-whudozd5iyu-unsplash-1]]></wp:post_name>
|
149 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
150 |
+
<wp:post_parent>2307</wp:post_parent>
|
151 |
+
<wp:menu_order>0</wp:menu_order>
|
152 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
153 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
154 |
+
<wp:is_sticky>0</wp:is_sticky>
|
155 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/adam-solomon-WHUDOzd5IYU-unsplash-1-scaled-1.jpg]]></wp:attachment_url>
|
156 |
+
<wp:postmeta>
|
157 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
158 |
+
<wp:meta_value><![CDATA[2021/03/adam-solomon-WHUDOzd5IYU-unsplash-1-scaled-1.jpg]]></wp:meta_value>
|
159 |
+
</wp:postmeta>
|
160 |
+
<wp:postmeta>
|
161 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
162 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1105;s:4:"file";s:56:"2021/03/adam-solomon-WHUDOzd5IYU-unsplash-1-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:56:"adam-solomon-WHUDOzd5IYU-unsplash-1-scaled-1-300x129.jpg";s:5:"width";i:300;s:6:"height";i:129;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:57:"adam-solomon-WHUDOzd5IYU-unsplash-1-scaled-1-1024x442.jpg";s:5:"width";i:1024;s:6:"height";i:442;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:56:"adam-solomon-WHUDOzd5IYU-unsplash-1-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:56:"adam-solomon-WHUDOzd5IYU-unsplash-1-scaled-1-768x332.jpg";s:5:"width";i:768;s:6:"height";i:332;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:57:"adam-solomon-WHUDOzd5IYU-unsplash-1-scaled-1-1536x663.jpg";s:5:"width";i:1536;s:6:"height";i:663;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:57:"adam-solomon-WHUDOzd5IYU-unsplash-1-scaled-1-2048x884.jpg";s:5:"width";i:2048;s:6:"height";i:884;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
163 |
+
</wp:postmeta>
|
164 |
+
</item>
|
165 |
+
|
166 |
+
</channel>
|
167 |
+
</rss>
|
assets/demo-content/faq-page.xml
ADDED
@@ -0,0 +1,157 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" ?>
|
2 |
+
<!-- generator="WordPress/5.7" created="2021-03-25 06:41" -->
|
3 |
+
<rss version="2.0"
|
4 |
+
xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
|
5 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
6 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
7 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
8 |
+
xmlns:wp="http://wordpress.org/export/1.2/"
|
9 |
+
>
|
10 |
+
|
11 |
+
<channel>
|
12 |
+
<title>ocdi</title>
|
13 |
+
<link>https://ocdi.com</link>
|
14 |
+
<description>Just another WordPress site</description>
|
15 |
+
<pubDate>Thu, 25 Mar 2021 06:41:21 +0000</pubDate>
|
16 |
+
<language>en-US</language>
|
17 |
+
<wp:wxr_version>1.2</wp:wxr_version>
|
18 |
+
<wp:base_site_url>https://ocdi.com</wp:base_site_url>
|
19 |
+
<wp:base_blog_url>https://ocdi.com</wp:base_blog_url>
|
20 |
+
|
21 |
+
<generator>https://wordpress.org/?v=5.7</generator>
|
22 |
+
|
23 |
+
<item>
|
24 |
+
<title><![CDATA[FAQ]]></title>
|
25 |
+
<link>https://ocdi.com/faq/</link>
|
26 |
+
<pubDate>Fri, 26 Feb 2021 20:33:06 +0000</pubDate>
|
27 |
+
<description></description>
|
28 |
+
<content:encoded><![CDATA[<!-- wp:media-text {"mediaPosition":"right","mediaId":2203,"mediaLink":"https://ocdi.com/faq/pexels-dids-1616472-1/","mediaType":"image","mediaSizeSlug":"full","imageFill":true,"className":"is-style-default"} -->
|
29 |
+
<div class="wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile is-image-fill is-style-default"><figure class="wp-block-media-text__media" style="background-image:url(https://ocdi.com/wp-content/uploads/2021/02/pexels-dids-1616472-1-scaled-1.jpg);background-position:50% 50%"><img src="https://ocdi.com/wp-content/uploads/2021/02/pexels-dids-1616472-1-scaled-1.jpg" alt="" class="wp-image-2203 size-full"/></figure><div class="wp-block-media-text__content"><!-- wp:heading -->
|
30 |
+
<h2 id="h-got-questions-we-re-here-to-help-get-you-started-with-our-product"><strong>Got Questions? We’re Here to Help Get You Started With Our Product.</strong></h2>
|
31 |
+
<!-- /wp:heading --></div></div>
|
32 |
+
<!-- /wp:media-text -->
|
33 |
+
|
34 |
+
<!-- wp:search {"label":"What Do You Need Help With?","buttonText":"Search"} /-->
|
35 |
+
|
36 |
+
<!-- wp:columns -->
|
37 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
38 |
+
<div class="wp-block-column"><!-- wp:columns -->
|
39 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"100%"} -->
|
40 |
+
<div class="wp-block-column" style="flex-basis:100%"><!-- wp:heading {"textAlign":"center"} -->
|
41 |
+
<h2 class="has-text-align-center" id="h-frequently-asked-questions">Frequently Asked Questions</h2>
|
42 |
+
<!-- /wp:heading --></div>
|
43 |
+
<!-- /wp:column --></div>
|
44 |
+
<!-- /wp:columns --></div>
|
45 |
+
<!-- /wp:column --></div>
|
46 |
+
<!-- /wp:columns -->
|
47 |
+
|
48 |
+
<!-- wp:columns -->
|
49 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
50 |
+
<div class="wp-block-column"><!-- wp:heading {"textAlign":"left","level":3,"align":"wide"} -->
|
51 |
+
<h3 class="alignwide has-text-align-left" id="h-what-if-i-change-my-mind">What if I change my mind?</h3>
|
52 |
+
<!-- /wp:heading --></div>
|
53 |
+
<!-- /wp:column -->
|
54 |
+
|
55 |
+
<!-- wp:column -->
|
56 |
+
<div class="wp-block-column"><!-- wp:paragraph -->
|
57 |
+
<p>No problem! We're confident you'll love our product. We offer a 14-day money-back guarantee, no questions asked. </p>
|
58 |
+
<!-- /wp:paragraph --></div>
|
59 |
+
<!-- /wp:column --></div>
|
60 |
+
<!-- /wp:columns -->
|
61 |
+
|
62 |
+
<!-- wp:columns -->
|
63 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
64 |
+
<div class="wp-block-column"><!-- wp:heading {"level":3,"align":"full"} -->
|
65 |
+
<h3 class="alignfull" id="h-is-your-product-eco-friendly">Is your product eco-friendly?</h3>
|
66 |
+
<!-- /wp:heading --></div>
|
67 |
+
<!-- /wp:column -->
|
68 |
+
|
69 |
+
<!-- wp:column -->
|
70 |
+
<div class="wp-block-column"><!-- wp:paragraph -->
|
71 |
+
<p>It sure is. We're 100% biodegradable and sustainable. Plus, we're Leaping Bunny certified.</p>
|
72 |
+
<!-- /wp:paragraph --></div>
|
73 |
+
<!-- /wp:column --></div>
|
74 |
+
<!-- /wp:columns -->
|
75 |
+
|
76 |
+
<!-- wp:columns -->
|
77 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
78 |
+
<div class="wp-block-column"><!-- wp:heading {"level":3,"align":"full"} -->
|
79 |
+
<h3 class="alignfull" id="h-do-you-offer-any-discounts">Do you offer any discounts?</h3>
|
80 |
+
<!-- /wp:heading -->
|
81 |
+
|
82 |
+
<!-- wp:paragraph -->
|
83 |
+
<p></p>
|
84 |
+
<!-- /wp:paragraph --></div>
|
85 |
+
<!-- /wp:column -->
|
86 |
+
|
87 |
+
<!-- wp:column -->
|
88 |
+
<div class="wp-block-column"><!-- wp:paragraph -->
|
89 |
+
<p>Although we don't currently have any active coupon codes, we occasionally run seasonal sales - <a href="http://newsletterlandingpageexample.com">join our newsletter</a> to stay updated!</p>
|
90 |
+
<!-- /wp:paragraph --></div>
|
91 |
+
<!-- /wp:column --></div>
|
92 |
+
<!-- /wp:columns -->
|
93 |
+
|
94 |
+
<!-- wp:heading {"textAlign":"center"} -->
|
95 |
+
<h2 class="has-text-align-center" id="h-still-need-help-we-re-here">Still Need Help? We're Here!</h2>
|
96 |
+
<!-- /wp:heading -->
|
97 |
+
|
98 |
+
<!-- wp:buttons {"contentJustification":"center"} -->
|
99 |
+
<div class="wp-block-buttons is-content-justification-center"><!-- wp:button -->
|
100 |
+
<div class="wp-block-button"><a class="wp-block-button__link">Contact Us Now</a></div>
|
101 |
+
<!-- /wp:button --></div>
|
102 |
+
<!-- /wp:buttons -->
|
103 |
+
|
104 |
+
<!-- wp:paragraph -->
|
105 |
+
<p></p>
|
106 |
+
<!-- /wp:paragraph -->]]></content:encoded>
|
107 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
108 |
+
<wp:post_date><![CDATA[2021-02-26 15:33:06]]></wp:post_date>
|
109 |
+
<wp:post_date_gmt><![CDATA[2021-02-26 20:33:06]]></wp:post_date_gmt>
|
110 |
+
<wp:post_modified><![CDATA[2021-03-29 14:36:50]]></wp:post_modified>
|
111 |
+
<wp:post_modified_gmt><![CDATA[2021-03-29 14:36:50]]></wp:post_modified_gmt>
|
112 |
+
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
|
113 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
114 |
+
<wp:post_name><![CDATA[faq]]></wp:post_name>
|
115 |
+
<wp:status><![CDATA[publish]]></wp:status>
|
116 |
+
<wp:post_parent>0</wp:post_parent>
|
117 |
+
<wp:menu_order>0</wp:menu_order>
|
118 |
+
<wp:post_type><![CDATA[page]]></wp:post_type>
|
119 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
120 |
+
<wp:is_sticky>0</wp:is_sticky>
|
121 |
+
</item>
|
122 |
+
|
123 |
+
<item>
|
124 |
+
<title><![CDATA[pexels-dids-1616472-1]]></title>
|
125 |
+
<link>https://ocdi.com/faq/pexels-dids-1616472-1/</link>
|
126 |
+
<pubDate>Fri, 26 Feb 2021 20:26:40 +0000</pubDate>
|
127 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/02/pexels-dids-1616472-1.jpg</guid>
|
128 |
+
<description></description>
|
129 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
130 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
131 |
+
<wp:post_id>2203</wp:post_id>
|
132 |
+
<wp:post_date><![CDATA[2021-02-26 15:26:40]]></wp:post_date>
|
133 |
+
<wp:post_date_gmt><![CDATA[2021-02-26 20:26:40]]></wp:post_date_gmt>
|
134 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:55]]></wp:post_modified>
|
135 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:55]]></wp:post_modified_gmt>
|
136 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
137 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
138 |
+
<wp:post_name><![CDATA[pexels-dids-1616472-1]]></wp:post_name>
|
139 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
140 |
+
<wp:post_parent>2201</wp:post_parent>
|
141 |
+
<wp:menu_order>0</wp:menu_order>
|
142 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
143 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
144 |
+
<wp:is_sticky>0</wp:is_sticky>
|
145 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/02/pexels-dids-1616472-1-scaled-1.jpg]]></wp:attachment_url>
|
146 |
+
<wp:postmeta>
|
147 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
148 |
+
<wp:meta_value><![CDATA[2021/02/pexels-dids-1616472-1-scaled-1.jpg]]></wp:meta_value>
|
149 |
+
</wp:postmeta>
|
150 |
+
<wp:postmeta>
|
151 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
152 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1707;s:4:"file";s:42:"2021/02/pexels-dids-1616472-1-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:42:"pexels-dids-1616472-1-scaled-1-300x200.jpg";s:5:"width";i:300;s:6:"height";i:200;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:43:"pexels-dids-1616472-1-scaled-1-1024x683.jpg";s:5:"width";i:1024;s:6:"height";i:683;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:42:"pexels-dids-1616472-1-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:42:"pexels-dids-1616472-1-scaled-1-768x512.jpg";s:5:"width";i:768;s:6:"height";i:512;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:44:"pexels-dids-1616472-1-scaled-1-1536x1024.jpg";s:5:"width";i:1536;s:6:"height";i:1024;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:44:"pexels-dids-1616472-1-scaled-1-2048x1366.jpg";s:5:"width";i:2048;s:6:"height";i:1366;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
153 |
+
</wp:postmeta>
|
154 |
+
</item>
|
155 |
+
|
156 |
+
</channel>
|
157 |
+
</rss>
|
assets/demo-content/meet-the-team-page.xml
ADDED
@@ -0,0 +1,287 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" ?>
|
2 |
+
<!-- generator="WordPress/5.7" created="2021-03-25 06:41" -->
|
3 |
+
<rss version="2.0"
|
4 |
+
xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
|
5 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
6 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
7 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
8 |
+
xmlns:wp="http://wordpress.org/export/1.2/"
|
9 |
+
>
|
10 |
+
|
11 |
+
<channel>
|
12 |
+
<title>ocdi</title>
|
13 |
+
<link>https://ocdi.com</link>
|
14 |
+
<description>Just another WordPress site</description>
|
15 |
+
<pubDate>Thu, 25 Mar 2021 06:41:21 +0000</pubDate>
|
16 |
+
<language>en-US</language>
|
17 |
+
<wp:wxr_version>1.2</wp:wxr_version>
|
18 |
+
<wp:base_site_url>https://ocdi.com</wp:base_site_url>
|
19 |
+
<wp:base_blog_url>https://ocdi.com</wp:base_blog_url>
|
20 |
+
|
21 |
+
<generator>https://wordpress.org/?v=5.7</generator>
|
22 |
+
|
23 |
+
<item>
|
24 |
+
<title><![CDATA[Meet the Team]]></title>
|
25 |
+
<link>https://ocdi.com/meet-the-team/</link>
|
26 |
+
<pubDate>Tue, 09 Mar 2021 11:43:12 +0000</pubDate>
|
27 |
+
<description></description>
|
28 |
+
<content:encoded><![CDATA[<!-- wp:paragraph {"align":"center"} -->
|
29 |
+
<p class="has-text-align-center">Meet the awesome team behind Acme Marketing.</p>
|
30 |
+
<!-- /wp:paragraph -->
|
31 |
+
|
32 |
+
<!-- wp:columns {"className":"is-style-default"} -->
|
33 |
+
<div class="wp-block-columns is-style-default"><!-- wp:column -->
|
34 |
+
<div class="wp-block-column"><!-- wp:heading {"textAlign":"center","level":3} -->
|
35 |
+
<h3 class="has-text-align-center">Leah Robinson</h3>
|
36 |
+
<!-- /wp:heading -->
|
37 |
+
|
38 |
+
<!-- wp:image {"align":"center","id":2098,"width":200,"height":200,"sizeSlug":"large","linkDestination":"none","className":"is-style-rounded"} -->
|
39 |
+
<div class="wp-block-image is-style-rounded"><figure class="aligncenter size-large is-resized"><img src="https://ocdi.com/wp-content/uploads/2021/02/demo-woman.png" alt="" class="wp-image-2098" width="200" height="200"/></figure></div>
|
40 |
+
<!-- /wp:image --></div>
|
41 |
+
<!-- /wp:column -->
|
42 |
+
|
43 |
+
<!-- wp:column -->
|
44 |
+
<div class="wp-block-column"><!-- wp:heading {"textAlign":"center","level":3} -->
|
45 |
+
<h3 class="has-text-align-center">Dan D. Connor</h3>
|
46 |
+
<!-- /wp:heading -->
|
47 |
+
|
48 |
+
<!-- wp:image {"align":"center","id":2100,"width":200,"height":200,"sizeSlug":"large","linkDestination":"none","className":"is-style-rounded"} -->
|
49 |
+
<div class="wp-block-image is-style-rounded"><figure class="aligncenter size-large is-resized"><img src="https://ocdi.com/wp-content/uploads/2021/02/demo-man-2.png" alt="" class="wp-image-2100" width="200" height="200"/></figure></div>
|
50 |
+
<!-- /wp:image --></div>
|
51 |
+
<!-- /wp:column -->
|
52 |
+
|
53 |
+
<!-- wp:column -->
|
54 |
+
<div class="wp-block-column"><!-- wp:columns -->
|
55 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
56 |
+
<div class="wp-block-column"><!-- wp:heading {"textAlign":"center","level":3} -->
|
57 |
+
<h3 class="has-text-align-center">Thomas J. Turner</h3>
|
58 |
+
<!-- /wp:heading -->
|
59 |
+
|
60 |
+
<!-- wp:image {"align":"center","id":2099,"width":200,"height":200,"sizeSlug":"large","linkDestination":"none","className":"is-style-rounded"} -->
|
61 |
+
<div class="wp-block-image is-style-rounded"><figure class="aligncenter size-large is-resized"><img src="https://ocdi.com/wp-content/uploads/2021/02/demo-man.png" alt="" class="wp-image-2099" width="200" height="200"/></figure></div>
|
62 |
+
<!-- /wp:image --></div>
|
63 |
+
<!-- /wp:column --></div>
|
64 |
+
<!-- /wp:columns --></div>
|
65 |
+
<!-- /wp:column --></div>
|
66 |
+
<!-- /wp:columns -->
|
67 |
+
|
68 |
+
<!-- wp:separator {"className":"is-style-dots"} -->
|
69 |
+
<hr class="wp-block-separator is-style-dots"/>
|
70 |
+
<!-- /wp:separator -->
|
71 |
+
|
72 |
+
<!-- wp:columns -->
|
73 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33%"} -->
|
74 |
+
<div class="wp-block-column" style="flex-basis:33%"><!-- wp:image {"id":2098,"sizeSlug":"large","linkDestination":"none","className":"is-style-rounded"} -->
|
75 |
+
<figure class="wp-block-image size-large is-style-rounded"><img src="https://ocdi.com/wp-content/uploads/2021/02/demo-woman.png" alt="" class="wp-image-2098"/></figure>
|
76 |
+
<!-- /wp:image -->
|
77 |
+
|
78 |
+
<!-- wp:social-links {"className":"is-style-logos-only"} -->
|
79 |
+
<ul class="wp-block-social-links is-style-logos-only"><!-- wp:social-link {"url":"#url","service":"linkedin"} /-->
|
80 |
+
|
81 |
+
<!-- wp:social-link {"url":"#url","service":"twitch"} /-->
|
82 |
+
|
83 |
+
<!-- wp:social-link {"url":"#url","service":"youtube"} /-->
|
84 |
+
|
85 |
+
<!-- wp:social-link {"url":"#url","service":"facebook"} /--></ul>
|
86 |
+
<!-- /wp:social-links --></div>
|
87 |
+
<!-- /wp:column -->
|
88 |
+
|
89 |
+
<!-- wp:column -->
|
90 |
+
<div class="wp-block-column"><!-- wp:paragraph -->
|
91 |
+
<p>Leah is the CEO and founder of Acme Marketing. She spent several years working as a freelance marketing consultant before moving into full-time management positions. Before founding Acme Marketing, Leah handled several million-dollar accounts for some of the biggest names in tech.</p>
|
92 |
+
<!-- /wp:paragraph --></div>
|
93 |
+
<!-- /wp:column --></div>
|
94 |
+
<!-- /wp:columns -->
|
95 |
+
|
96 |
+
<!-- wp:spacer -->
|
97 |
+
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
|
98 |
+
<!-- /wp:spacer -->
|
99 |
+
|
100 |
+
<!-- wp:columns -->
|
101 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33%"} -->
|
102 |
+
<div class="wp-block-column" style="flex-basis:33%"><!-- wp:image {"id":2099,"sizeSlug":"large","linkDestination":"none","className":"is-style-rounded"} -->
|
103 |
+
<figure class="wp-block-image size-large is-style-rounded"><img src="https://ocdi.com/wp-content/uploads/2021/02/demo-man.png" alt="" class="wp-image-2099"/></figure>
|
104 |
+
<!-- /wp:image -->
|
105 |
+
|
106 |
+
<!-- wp:social-links {"className":"is-style-logos-only"} -->
|
107 |
+
<ul class="wp-block-social-links is-style-logos-only"><!-- wp:social-link {"url":"#url","service":"linkedin"} /-->
|
108 |
+
|
109 |
+
<!-- wp:social-link {"url":"#url","service":"twitch"} /-->
|
110 |
+
|
111 |
+
<!-- wp:social-link {"url":"#url","service":"youtube"} /-->
|
112 |
+
|
113 |
+
<!-- wp:social-link {"url":"#url","service":"facebook"} /--></ul>
|
114 |
+
<!-- /wp:social-links --></div>
|
115 |
+
<!-- /wp:column -->
|
116 |
+
|
117 |
+
<!-- wp:column -->
|
118 |
+
<div class="wp-block-column"><!-- wp:paragraph -->
|
119 |
+
<p>Thomas started out as a freelance content writer and quickly moved into full-time content production for one of America's biggest homeware brands. As Acme's first full-time employee, he's developed and perfected the content strategy from the ground up. </p>
|
120 |
+
<!-- /wp:paragraph --></div>
|
121 |
+
<!-- /wp:column --></div>
|
122 |
+
<!-- /wp:columns -->
|
123 |
+
|
124 |
+
<!-- wp:spacer -->
|
125 |
+
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
|
126 |
+
<!-- /wp:spacer -->
|
127 |
+
|
128 |
+
<!-- wp:columns -->
|
129 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33%"} -->
|
130 |
+
<div class="wp-block-column" style="flex-basis:33%"><!-- wp:image {"id":2100,"sizeSlug":"large","linkDestination":"none","className":"is-style-rounded"} -->
|
131 |
+
<figure class="wp-block-image size-large is-style-rounded"><img src="https://ocdi.com/wp-content/uploads/2021/02/demo-man-2.png" alt="" class="wp-image-2100"/></figure>
|
132 |
+
<!-- /wp:image -->
|
133 |
+
|
134 |
+
<!-- wp:social-links {"className":"is-style-logos-only"} -->
|
135 |
+
<ul class="wp-block-social-links is-style-logos-only"><!-- wp:social-link {"url":"#url","service":"linkedin"} /-->
|
136 |
+
|
137 |
+
<!-- wp:social-link {"url":"#url","service":"twitch"} /-->
|
138 |
+
|
139 |
+
<!-- wp:social-link {"url":"#url","service":"youtube"} /-->
|
140 |
+
|
141 |
+
<!-- wp:social-link {"url":"#url","service":"facebook"} /--></ul>
|
142 |
+
<!-- /wp:social-links --></div>
|
143 |
+
<!-- /wp:column -->
|
144 |
+
|
145 |
+
<!-- wp:column -->
|
146 |
+
<div class="wp-block-column"><!-- wp:paragraph -->
|
147 |
+
<p>Dan is an experienced social media manager, and his skills span everything from video production to creating PPC campaigns. Dan has deep understanding of the tools and strategies needed to get your content in front of the right people on social networks.</p>
|
148 |
+
<!-- /wp:paragraph --></div>
|
149 |
+
<!-- /wp:column --></div>
|
150 |
+
<!-- /wp:columns -->
|
151 |
+
|
152 |
+
<!-- wp:paragraph -->
|
153 |
+
<p>Contact the Team</p>
|
154 |
+
<!-- /wp:paragraph -->
|
155 |
+
|
156 |
+
<!-- wp:wpforms/form-selector {"formId":"9999"} /-->]]></content:encoded>
|
157 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
158 |
+
<wp:post_date><![CDATA[2021-03-09 06:43:12]]></wp:post_date>
|
159 |
+
<wp:post_date_gmt><![CDATA[2021-03-09 11:43:12]]></wp:post_date_gmt>
|
160 |
+
<wp:post_modified><![CDATA[2021-03-22 15:37:00]]></wp:post_modified>
|
161 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:37:00]]></wp:post_modified_gmt>
|
162 |
+
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
|
163 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
164 |
+
<wp:post_name><![CDATA[meet-the-team]]></wp:post_name>
|
165 |
+
<wp:status><![CDATA[publish]]></wp:status>
|
166 |
+
<wp:post_parent>0</wp:post_parent>
|
167 |
+
<wp:menu_order>0</wp:menu_order>
|
168 |
+
<wp:post_type><![CDATA[page]]></wp:post_type>
|
169 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
170 |
+
<wp:is_sticky>0</wp:is_sticky>
|
171 |
+
<wp:postmeta>
|
172 |
+
<wp:meta_key><![CDATA[ocdi_precreated_demo]]></wp:meta_key>
|
173 |
+
<wp:meta_value><![CDATA[contact-page]]></wp:meta_value>
|
174 |
+
</wp:postmeta>
|
175 |
+
<wp:postmeta>
|
176 |
+
<wp:meta_key><![CDATA[ocdi_precreated_demo_updated]]></wp:meta_key>
|
177 |
+
<wp:meta_value><![CDATA[no]]></wp:meta_value>
|
178 |
+
</wp:postmeta>
|
179 |
+
</item>
|
180 |
+
|
181 |
+
<item>
|
182 |
+
<title><![CDATA[demo-woman]]></title>
|
183 |
+
<link>https://ocdi.com/meet-the-team/demo-woman/</link>
|
184 |
+
<pubDate>Tue, 23 Feb 2021 10:21:11 +0000</pubDate>
|
185 |
+
<dc:creator><![CDATA[gcapuder@awesomemotive.com]]></dc:creator>
|
186 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/02/demo-woman.png</guid>
|
187 |
+
<description></description>
|
188 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
189 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
190 |
+
<wp:post_id>2098</wp:post_id>
|
191 |
+
<wp:post_date><![CDATA[2021-02-23 05:21:11]]></wp:post_date>
|
192 |
+
<wp:post_date_gmt><![CDATA[2021-02-23 10:21:11]]></wp:post_date_gmt>
|
193 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:54]]></wp:post_modified>
|
194 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:54]]></wp:post_modified_gmt>
|
195 |
+
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
|
196 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
197 |
+
<wp:post_name><![CDATA[demo-woman]]></wp:post_name>
|
198 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
199 |
+
<wp:post_parent>2097</wp:post_parent>
|
200 |
+
<wp:menu_order>0</wp:menu_order>
|
201 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
202 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
203 |
+
<wp:is_sticky>0</wp:is_sticky>
|
204 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/02/demo-woman.png]]></wp:attachment_url>
|
205 |
+
<wp:postmeta>
|
206 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
207 |
+
<wp:meta_value><![CDATA[2021/02/demo-woman.png]]></wp:meta_value>
|
208 |
+
</wp:postmeta>
|
209 |
+
<wp:postmeta>
|
210 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
211 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:800;s:6:"height";i:800;s:4:"file";s:22:"2021/02/demo-woman.png";s:5:"sizes";a:3:{s:6:"medium";a:4:{s:4:"file";s:22:"demo-woman-300x300.png";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:9:"image/png";}s:9:"thumbnail";a:4:{s:4:"file";s:22:"demo-woman-150x150.png";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/png";}s:12:"medium_large";a:4:{s:4:"file";s:22:"demo-woman-768x768.png";s:5:"width";i:768;s:6:"height";i:768;s:9:"mime-type";s:9:"image/png";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
212 |
+
</wp:postmeta>
|
213 |
+
<wp:postmeta>
|
214 |
+
<wp:meta_key><![CDATA[_wp_attachment_image_alt]]></wp:meta_key>
|
215 |
+
<wp:meta_value><![CDATA[demo-woman]]></wp:meta_value>
|
216 |
+
</wp:postmeta>
|
217 |
+
</item>
|
218 |
+
|
219 |
+
<item>
|
220 |
+
<title><![CDATA[demo-man]]></title>
|
221 |
+
<link>https://ocdi.com/meet-the-team/demo-man/</link>
|
222 |
+
<pubDate>Tue, 23 Feb 2021 10:21:16 +0000</pubDate>
|
223 |
+
<dc:creator><![CDATA[gcapuder@awesomemotive.com]]></dc:creator>
|
224 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/02/demo-man.png</guid>
|
225 |
+
<description></description>
|
226 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
227 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
228 |
+
<wp:post_id>2099</wp:post_id>
|
229 |
+
<wp:post_date><![CDATA[2021-02-23 05:21:16]]></wp:post_date>
|
230 |
+
<wp:post_date_gmt><![CDATA[2021-02-23 10:21:16]]></wp:post_date_gmt>
|
231 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:54]]></wp:post_modified>
|
232 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:54]]></wp:post_modified_gmt>
|
233 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
234 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
235 |
+
<wp:post_name><![CDATA[demo-man]]></wp:post_name>
|
236 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
237 |
+
<wp:post_parent>2097</wp:post_parent>
|
238 |
+
<wp:menu_order>0</wp:menu_order>
|
239 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
240 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
241 |
+
<wp:is_sticky>0</wp:is_sticky>
|
242 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/02/demo-man.png]]></wp:attachment_url>
|
243 |
+
<wp:postmeta>
|
244 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
245 |
+
<wp:meta_value><![CDATA[2021/02/demo-man.png]]></wp:meta_value>
|
246 |
+
</wp:postmeta>
|
247 |
+
<wp:postmeta>
|
248 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
249 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:800;s:6:"height";i:800;s:4:"file";s:20:"2021/02/demo-man.png";s:5:"sizes";a:3:{s:6:"medium";a:4:{s:4:"file";s:20:"demo-man-300x300.png";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:9:"image/png";}s:9:"thumbnail";a:4:{s:4:"file";s:20:"demo-man-150x150.png";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/png";}s:12:"medium_large";a:4:{s:4:"file";s:20:"demo-man-768x768.png";s:5:"width";i:768;s:6:"height";i:768;s:9:"mime-type";s:9:"image/png";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
250 |
+
</wp:postmeta>
|
251 |
+
</item>
|
252 |
+
|
253 |
+
<item>
|
254 |
+
<title><![CDATA[demo-man-2]]></title>
|
255 |
+
<link>https://ocdi.com/meet-the-team/demo-man-2/</link>
|
256 |
+
<pubDate>Tue, 23 Feb 2021 10:27:58 +0000</pubDate>
|
257 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/02/demo-man-2.png</guid>
|
258 |
+
<description></description>
|
259 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
260 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
261 |
+
<wp:post_id>2100</wp:post_id>
|
262 |
+
<wp:post_date><![CDATA[2021-02-23 05:27:58]]></wp:post_date>
|
263 |
+
<wp:post_date_gmt><![CDATA[2021-02-23 10:27:58]]></wp:post_date_gmt>
|
264 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:54]]></wp:post_modified>
|
265 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:54]]></wp:post_modified_gmt>
|
266 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
267 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
268 |
+
<wp:post_name><![CDATA[demo-man-2]]></wp:post_name>
|
269 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
270 |
+
<wp:post_parent>2097</wp:post_parent>
|
271 |
+
<wp:menu_order>0</wp:menu_order>
|
272 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
273 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
274 |
+
<wp:is_sticky>0</wp:is_sticky>
|
275 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/02/demo-man-2.png]]></wp:attachment_url>
|
276 |
+
<wp:postmeta>
|
277 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
278 |
+
<wp:meta_value><![CDATA[2021/02/demo-man-2.png]]></wp:meta_value>
|
279 |
+
</wp:postmeta>
|
280 |
+
<wp:postmeta>
|
281 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
282 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:800;s:6:"height";i:800;s:4:"file";s:22:"2021/02/demo-man-2.png";s:5:"sizes";a:3:{s:6:"medium";a:4:{s:4:"file";s:22:"demo-man-2-300x300.png";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:9:"image/png";}s:9:"thumbnail";a:4:{s:4:"file";s:22:"demo-man-2-150x150.png";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/png";}s:12:"medium_large";a:4:{s:4:"file";s:22:"demo-man-2-768x768.png";s:5:"width";i:768;s:6:"height";i:768;s:9:"mime-type";s:9:"image/png";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
283 |
+
</wp:postmeta>
|
284 |
+
</item>
|
285 |
+
|
286 |
+
</channel>
|
287 |
+
</rss>
|
assets/demo-content/menu-page.xml
ADDED
@@ -0,0 +1,684 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" ?>
|
2 |
+
<!-- generator="WordPress/5.7" created="2021-03-25 06:41" -->
|
3 |
+
<rss version="2.0"
|
4 |
+
xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
|
5 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
6 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
7 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
8 |
+
xmlns:wp="http://wordpress.org/export/1.2/"
|
9 |
+
>
|
10 |
+
|
11 |
+
<channel>
|
12 |
+
<title>ocdi</title>
|
13 |
+
<link>https://ocdi.com</link>
|
14 |
+
<description>Just another WordPress site</description>
|
15 |
+
<pubDate>Thu, 25 Mar 2021 06:41:21 +0000</pubDate>
|
16 |
+
<language>en-US</language>
|
17 |
+
<wp:wxr_version>1.2</wp:wxr_version>
|
18 |
+
<wp:base_site_url>https://ocdi.com</wp:base_site_url>
|
19 |
+
<wp:base_blog_url>https://ocdi.com</wp:base_blog_url>
|
20 |
+
|
21 |
+
<generator>https://wordpress.org/?v=5.7</generator>
|
22 |
+
|
23 |
+
<item>
|
24 |
+
<title><![CDATA[Menu]]></title>
|
25 |
+
<link>https://ocdi.com/menu/</link>
|
26 |
+
<pubDate>Tue, 09 Mar 2021 14:34:09 +0000</pubDate>
|
27 |
+
<description></description>
|
28 |
+
<content:encoded><![CDATA[<!-- wp:image {"align":"full","id":2407,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
|
29 |
+
<figure class="wp-block-image alignfull size-large is-style-default"><img src="https://ocdi.com/wp-content/uploads/2021/03/demo-menu-header-scaled-1-1024x683.jpg" alt="" class="wp-image-2407"/></figure>
|
30 |
+
<!-- /wp:image -->
|
31 |
+
|
32 |
+
<!-- wp:columns -->
|
33 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
34 |
+
<div class="wp-block-column"><!-- wp:buttons {"contentJustification":"center"} -->
|
35 |
+
<div class="wp-block-buttons is-content-justification-center"><!-- wp:button -->
|
36 |
+
<div class="wp-block-button"><a class="wp-block-button__link" rel="#lunch">Lunch</a></div>
|
37 |
+
<!-- /wp:button --></div>
|
38 |
+
<!-- /wp:buttons --></div>
|
39 |
+
<!-- /wp:column -->
|
40 |
+
|
41 |
+
<!-- wp:column -->
|
42 |
+
<div class="wp-block-column"><!-- wp:buttons {"contentJustification":"center"} -->
|
43 |
+
<div class="wp-block-buttons is-content-justification-center"><!-- wp:button -->
|
44 |
+
<div class="wp-block-button"><a class="wp-block-button__link" rel="#dinner">Dinner</a></div>
|
45 |
+
<!-- /wp:button --></div>
|
46 |
+
<!-- /wp:buttons --></div>
|
47 |
+
<!-- /wp:column -->
|
48 |
+
|
49 |
+
<!-- wp:column -->
|
50 |
+
<div class="wp-block-column"><!-- wp:buttons {"contentJustification":"center"} -->
|
51 |
+
<div class="wp-block-buttons is-content-justification-center"><!-- wp:button -->
|
52 |
+
<div class="wp-block-button"><a class="wp-block-button__link" rel="#dessert">Dessert</a></div>
|
53 |
+
<!-- /wp:button --></div>
|
54 |
+
<!-- /wp:buttons --></div>
|
55 |
+
<!-- /wp:column --></div>
|
56 |
+
<!-- /wp:columns -->
|
57 |
+
|
58 |
+
<!-- wp:separator {"className":"is-style-dots"} -->
|
59 |
+
<hr class="wp-block-separator is-style-dots"/>
|
60 |
+
<!-- /wp:separator -->
|
61 |
+
|
62 |
+
<!-- wp:heading {"textAlign":"center","fontSize":"huge"} -->
|
63 |
+
<h2 class="has-text-align-center has-huge-font-size" id="lunch">Lunch</h2>
|
64 |
+
<!-- /wp:heading -->
|
65 |
+
|
66 |
+
<!-- wp:columns -->
|
67 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33.33%"} -->
|
68 |
+
<div class="wp-block-column" style="flex-basis:33.33%"><!-- wp:image {"id":2411,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
|
69 |
+
<figure class="wp-block-image size-large is-style-default"><img src="https://ocdi.com/wp-content/uploads/2021/03/demo-gyoza-scaled-1-1024x768.jpg" alt="" class="wp-image-2411"/></figure>
|
70 |
+
<!-- /wp:image --></div>
|
71 |
+
<!-- /wp:column -->
|
72 |
+
|
73 |
+
<!-- wp:column {"width":"66.66%"} -->
|
74 |
+
<div class="wp-block-column" style="flex-basis:66.66%"><!-- wp:heading {"level":4} -->
|
75 |
+
<h4>Chicken Gyoza</h4>
|
76 |
+
<!-- /wp:heading -->
|
77 |
+
|
78 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"1"}},"fontSize":"extra-small"} -->
|
79 |
+
<p class="has-extra-small-font-size" style="line-height:1">Japanese dumplings served with soy sauce.<br><em>Ingredients: Lorem, ipsum, dolor, sit, amet.</em></p>
|
80 |
+
<!-- /wp:paragraph -->
|
81 |
+
|
82 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"1"}}} -->
|
83 |
+
<p style="line-height:1">$1</p>
|
84 |
+
<!-- /wp:paragraph --></div>
|
85 |
+
<!-- /wp:column --></div>
|
86 |
+
<!-- /wp:columns -->
|
87 |
+
|
88 |
+
<!-- wp:columns -->
|
89 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33.33%"} -->
|
90 |
+
<div class="wp-block-column" style="flex-basis:33.33%"><!-- wp:image {"id":2420,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
|
91 |
+
<figure class="wp-block-image size-large is-style-default"><img src="https://ocdi.com/wp-content/uploads/2021/03/demo-vegan-edited-scaled-1-1024x768.jpg" alt="" class="wp-image-2420"/></figure>
|
92 |
+
<!-- /wp:image --></div>
|
93 |
+
<!-- /wp:column -->
|
94 |
+
|
95 |
+
<!-- wp:column {"width":"66.66%"} -->
|
96 |
+
<div class="wp-block-column" style="flex-basis:66.66%"><!-- wp:heading {"level":4} -->
|
97 |
+
<h4>Maki Plate</h4>
|
98 |
+
<!-- /wp:heading -->
|
99 |
+
|
100 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"1"}},"fontSize":"extra-small"} -->
|
101 |
+
<p class="has-extra-small-font-size" style="line-height:1">Carrot and avocado sushi plate. Suitable for vegans.<br><em>Ingredients: Lorem, ipsum, dolor, sit, amet.</em> </p>
|
102 |
+
<!-- /wp:paragraph -->
|
103 |
+
|
104 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"1"}}} -->
|
105 |
+
<p style="line-height:1">$1</p>
|
106 |
+
<!-- /wp:paragraph --></div>
|
107 |
+
<!-- /wp:column --></div>
|
108 |
+
<!-- /wp:columns -->
|
109 |
+
|
110 |
+
<!-- wp:columns -->
|
111 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33.33%"} -->
|
112 |
+
<div class="wp-block-column" style="flex-basis:33.33%"><!-- wp:image {"id":2418,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
|
113 |
+
<figure class="wp-block-image size-large is-style-default"><img src="https://ocdi.com/wp-content/uploads/2021/03/demo-salmon-avocado-edited-scaled-1-1024x766.jpg" alt="" class="wp-image-2418"/></figure>
|
114 |
+
<!-- /wp:image --></div>
|
115 |
+
<!-- /wp:column -->
|
116 |
+
|
117 |
+
<!-- wp:column {"width":"66.66%"} -->
|
118 |
+
<div class="wp-block-column" style="flex-basis:66.66%"><!-- wp:heading {"level":4} -->
|
119 |
+
<h4>Salmon & Avocado Lunch Platter</h4>
|
120 |
+
<!-- /wp:heading -->
|
121 |
+
|
122 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"1"}},"fontSize":"extra-small"} -->
|
123 |
+
<p class="has-extra-small-font-size" style="line-height:1">Sushi plate. Available for take-out.<br><em>Ingredients: Lorem, ipsum, dolor, sit, amet.</em></p>
|
124 |
+
<!-- /wp:paragraph -->
|
125 |
+
|
126 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"1"}}} -->
|
127 |
+
<p style="line-height:1">$1</p>
|
128 |
+
<!-- /wp:paragraph --></div>
|
129 |
+
<!-- /wp:column --></div>
|
130 |
+
<!-- /wp:columns -->
|
131 |
+
|
132 |
+
<!-- wp:columns -->
|
133 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33.33%"} -->
|
134 |
+
<div class="wp-block-column" style="flex-basis:33.33%"><!-- wp:image {"id":2419,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
|
135 |
+
<figure class="wp-block-image size-large is-style-default"><img src="https://ocdi.com/wp-content/uploads/2021/03/demo-lunch-edited-scaled-1-1024x764.jpg" alt="" class="wp-image-2419"/></figure>
|
136 |
+
<!-- /wp:image --></div>
|
137 |
+
<!-- /wp:column -->
|
138 |
+
|
139 |
+
<!-- wp:column {"width":"66.66%"} -->
|
140 |
+
<div class="wp-block-column" style="flex-basis:66.66%"><!-- wp:heading {"level":4} -->
|
141 |
+
<h4>Lunch Sharing Platter</h4>
|
142 |
+
<!-- /wp:heading -->
|
143 |
+
|
144 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"1"}},"fontSize":"extra-small"} -->
|
145 |
+
<p class="has-extra-small-font-size" style="line-height:1">Salmon, avocado, and tuna for 3-4 diners. <br><em>Ingredients: Lorem, ipsum, dolor, sit, amet.</em></p>
|
146 |
+
<!-- /wp:paragraph -->
|
147 |
+
|
148 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"1"}}} -->
|
149 |
+
<p style="line-height:1">$1</p>
|
150 |
+
<!-- /wp:paragraph --></div>
|
151 |
+
<!-- /wp:column --></div>
|
152 |
+
<!-- /wp:columns -->
|
153 |
+
|
154 |
+
<!-- wp:separator {"className":"is-style-dots"} -->
|
155 |
+
<hr class="wp-block-separator is-style-dots"/>
|
156 |
+
<!-- /wp:separator -->
|
157 |
+
|
158 |
+
<!-- wp:heading {"textAlign":"center","fontSize":"huge"} -->
|
159 |
+
<h2 class="has-text-align-center has-huge-font-size" id="dinner">Dinner</h2>
|
160 |
+
<!-- /wp:heading -->
|
161 |
+
|
162 |
+
<!-- wp:columns -->
|
163 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33.33%"} -->
|
164 |
+
<div class="wp-block-column" style="flex-basis:33.33%"><!-- wp:image {"id":2421,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
|
165 |
+
<figure class="wp-block-image size-large is-style-default"><img src="https://ocdi.com/wp-content/uploads/2021/03/demo-salmon-edited-scaled-1-1024x769.jpg" alt="" class="wp-image-2421"/></figure>
|
166 |
+
<!-- /wp:image --></div>
|
167 |
+
<!-- /wp:column -->
|
168 |
+
|
169 |
+
<!-- wp:column {"width":"66.66%"} -->
|
170 |
+
<div class="wp-block-column" style="flex-basis:66.66%"><!-- wp:heading {"level":4} -->
|
171 |
+
<h4>Salmon Maki Special</h4>
|
172 |
+
<!-- /wp:heading -->
|
173 |
+
|
174 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"1"}},"fontSize":"extra-small"} -->
|
175 |
+
<p class="has-extra-small-font-size" style="line-height:1">Salmon in toasted nori.<br><em>Ingredients: Lorem, ipsum, dolor, sit, amet.</em></p>
|
176 |
+
<!-- /wp:paragraph -->
|
177 |
+
|
178 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"1"}}} -->
|
179 |
+
<p style="line-height:1">$1</p>
|
180 |
+
<!-- /wp:paragraph --></div>
|
181 |
+
<!-- /wp:column --></div>
|
182 |
+
<!-- /wp:columns -->
|
183 |
+
|
184 |
+
<!-- wp:columns -->
|
185 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33.33%"} -->
|
186 |
+
<div class="wp-block-column" style="flex-basis:33.33%"><!-- wp:image {"id":2423,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
|
187 |
+
<figure class="wp-block-image size-large is-style-default"><img src="https://ocdi.com/wp-content/uploads/2021/03/demo-tofu-katsu-edited-scaled-1-1024x766.jpg" alt="" class="wp-image-2423"/></figure>
|
188 |
+
<!-- /wp:image --></div>
|
189 |
+
<!-- /wp:column -->
|
190 |
+
|
191 |
+
<!-- wp:column {"width":"66.66%"} -->
|
192 |
+
<div class="wp-block-column" style="flex-basis:66.66%"><!-- wp:heading {"level":4} -->
|
193 |
+
<h4>Tofu Katsu Curry</h4>
|
194 |
+
<!-- /wp:heading -->
|
195 |
+
|
196 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"1"}},"fontSize":"extra-small"} -->
|
197 |
+
<p class="has-extra-small-font-size" style="line-height:1">Served with steamed rice. Suitable for vegans.<br><em>Ingredients: Lorem, ipsum, dolor, sit, amet.</em></p>
|
198 |
+
<!-- /wp:paragraph -->
|
199 |
+
|
200 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"1"}}} -->
|
201 |
+
<p style="line-height:1">$1</p>
|
202 |
+
<!-- /wp:paragraph --></div>
|
203 |
+
<!-- /wp:column --></div>
|
204 |
+
<!-- /wp:columns -->
|
205 |
+
|
206 |
+
<!-- wp:columns -->
|
207 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33.33%"} -->
|
208 |
+
<div class="wp-block-column" style="flex-basis:33.33%"><!-- wp:image {"id":2422,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
|
209 |
+
<figure class="wp-block-image size-large is-style-default"><img src="https://ocdi.com/wp-content/uploads/2021/03/demo-sashimi-deluxe-edited-scaled-1-1024x769.jpg" alt="" class="wp-image-2422"/></figure>
|
210 |
+
<!-- /wp:image --></div>
|
211 |
+
<!-- /wp:column -->
|
212 |
+
|
213 |
+
<!-- wp:column {"width":"66.66%"} -->
|
214 |
+
<div class="wp-block-column" style="flex-basis:66.66%"><!-- wp:heading {"level":4} -->
|
215 |
+
<h4>Sashimi Special</h4>
|
216 |
+
<!-- /wp:heading -->
|
217 |
+
|
218 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"1"}},"fontSize":"extra-small"} -->
|
219 |
+
<p class="has-extra-small-font-size" style="line-height:1">Served with miso.<br><em>Ingredients: Lorem, ipsum, dolor, sit, amet.</em></p>
|
220 |
+
<!-- /wp:paragraph -->
|
221 |
+
|
222 |
+
<!-- wp:paragraph -->
|
223 |
+
<p>$1</p>
|
224 |
+
<!-- /wp:paragraph --></div>
|
225 |
+
<!-- /wp:column --></div>
|
226 |
+
<!-- /wp:columns -->
|
227 |
+
|
228 |
+
<!-- wp:columns -->
|
229 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33.33%"} -->
|
230 |
+
<div class="wp-block-column" style="flex-basis:33.33%"><!-- wp:image {"id":2424,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
|
231 |
+
<figure class="wp-block-image size-large is-style-default"><img src="https://ocdi.com/wp-content/uploads/2021/03/demo-eel-bento-edited-scaled-1-1024x769.jpg" alt="" class="wp-image-2424"/></figure>
|
232 |
+
<!-- /wp:image --></div>
|
233 |
+
<!-- /wp:column -->
|
234 |
+
|
235 |
+
<!-- wp:column {"width":"66.66%"} -->
|
236 |
+
<div class="wp-block-column" style="flex-basis:66.66%"><!-- wp:heading {"level":4} -->
|
237 |
+
<h4>Eel Bento</h4>
|
238 |
+
<!-- /wp:heading -->
|
239 |
+
|
240 |
+
<!-- wp:paragraph {"style":{"typography":{"lineHeight":"1"}},"fontSize":"extra-small"} -->
|
241 |
+
<p class="has-extra-small-font-size" style="line-height:1">Grilled unagi with sweet soy sauce.<br><em>Ingredients: Lorem, ipsum, dolor, sit, amet.</em></p>
|
242 |
+
<!-- /wp:paragraph -->
|
243 |
+
|
244 |
+
<!-- wp:paragraph -->
|
245 |
+
<p>$1</p>
|
246 |
+
<!-- /wp:paragraph --></div>
|
247 |
+
<!-- /wp:column --></div>
|
248 |
+
<!-- /wp:columns -->
|
249 |
+
|
250 |
+
<!-- wp:separator {"className":"is-style-dots"} -->
|
251 |
+
<hr class="wp-block-separator is-style-dots"/>
|
252 |
+
<!-- /wp:separator -->
|
253 |
+
|
254 |
+
<!-- wp:heading {"textAlign":"center","fontSize":"huge"} -->
|
255 |
+
<h2 class="has-text-align-center has-huge-font-size" id="dessert">Dessert</h2>
|
256 |
+
<!-- /wp:heading -->
|
257 |
+
|
258 |
+
<!-- wp:columns -->
|
259 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33.33%"} -->
|
260 |
+
<div class="wp-block-column" style="flex-basis:33.33%"><!-- wp:image {"id":2425,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
|
261 |
+
<figure class="wp-block-image size-large is-style-default"><img src="https://ocdi.com/wp-content/uploads/2021/03/demo-chocolate-edited-scaled-1-1024x768.jpg" alt="" class="wp-image-2425"/></figure>
|
262 |
+
<!-- /wp:image --></div>
|
263 |
+
<!-- /wp:column -->
|
264 |
+
|
265 |
+
<!-- wp:column {"width":"66.66%"} -->
|
266 |
+
<div class="wp-block-column" style="flex-basis:66.66%"><!-- wp:heading {"level":4} -->
|
267 |
+
<h4>Moist Chocolate Cake</h4>
|
268 |
+
<!-- /wp:heading -->
|
269 |
+
|
270 |
+
<!-- wp:paragraph {"fontSize":"extra-small"} -->
|
271 |
+
<p class="has-extra-small-font-size">Served with fruit.<br><em>Ingredients: Lorem, ipsum, dolor, sit, amet.</em></p>
|
272 |
+
<!-- /wp:paragraph -->
|
273 |
+
|
274 |
+
<!-- wp:paragraph -->
|
275 |
+
<p>$1</p>
|
276 |
+
<!-- /wp:paragraph --></div>
|
277 |
+
<!-- /wp:column --></div>
|
278 |
+
<!-- /wp:columns -->
|
279 |
+
|
280 |
+
<!-- wp:columns -->
|
281 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33.33%"} -->
|
282 |
+
<div class="wp-block-column" style="flex-basis:33.33%"><!-- wp:image {"id":2426,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
|
283 |
+
<figure class="wp-block-image size-large is-style-default"><img src="https://ocdi.com/wp-content/uploads/2021/03/demo-cream-puff-edited-scaled-1-1024x766.jpg" alt="" class="wp-image-2426"/></figure>
|
284 |
+
<!-- /wp:image --></div>
|
285 |
+
<!-- /wp:column -->
|
286 |
+
|
287 |
+
<!-- wp:column {"width":"66.66%"} -->
|
288 |
+
<div class="wp-block-column" style="flex-basis:66.66%"><!-- wp:heading {"level":4} -->
|
289 |
+
<h4>Japanese Cream Puff</h4>
|
290 |
+
<!-- /wp:heading -->
|
291 |
+
|
292 |
+
<!-- wp:paragraph {"fontSize":"extra-small"} -->
|
293 |
+
<p class="has-extra-small-font-size">Served with green tea.<br><em>Ingredients: Lorem, ipsum, dolor, sit, amet.</em></p>
|
294 |
+
<!-- /wp:paragraph -->
|
295 |
+
|
296 |
+
<!-- wp:paragraph -->
|
297 |
+
<p>$1</p>
|
298 |
+
<!-- /wp:paragraph --></div>
|
299 |
+
<!-- /wp:column --></div>
|
300 |
+
<!-- /wp:columns -->
|
301 |
+
|
302 |
+
<!-- wp:paragraph -->
|
303 |
+
<p></p>
|
304 |
+
<!-- /wp:paragraph -->]]></content:encoded>
|
305 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
306 |
+
<wp:post_date><![CDATA[2021-03-09 09:34:09]]></wp:post_date>
|
307 |
+
<wp:post_date_gmt><![CDATA[2021-03-09 14:34:09]]></wp:post_date_gmt>
|
308 |
+
<wp:post_modified><![CDATA[2021-03-29 14:43:07]]></wp:post_modified>
|
309 |
+
<wp:post_modified_gmt><![CDATA[2021-03-29 14:43:07]]></wp:post_modified_gmt>
|
310 |
+
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
|
311 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
312 |
+
<wp:post_name><![CDATA[menu]]></wp:post_name>
|
313 |
+
<wp:status><![CDATA[publish]]></wp:status>
|
314 |
+
<wp:post_parent>0</wp:post_parent>
|
315 |
+
<wp:menu_order>0</wp:menu_order>
|
316 |
+
<wp:post_type><![CDATA[page]]></wp:post_type>
|
317 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
318 |
+
<wp:is_sticky>0</wp:is_sticky>
|
319 |
+
</item>
|
320 |
+
|
321 |
+
<item>
|
322 |
+
<title><![CDATA[demo-menu-header]]></title>
|
323 |
+
<link>https://ocdi.com/menu/demo-menu-header/</link>
|
324 |
+
<pubDate>Tue, 09 Mar 2021 10:57:58 +0000</pubDate>
|
325 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/demo-menu-header.jpg</guid>
|
326 |
+
<description></description>
|
327 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
328 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
329 |
+
<wp:post_id>2407</wp:post_id>
|
330 |
+
<wp:post_date><![CDATA[2021-03-09 05:57:58]]></wp:post_date>
|
331 |
+
<wp:post_date_gmt><![CDATA[2021-03-09 10:57:58]]></wp:post_date_gmt>
|
332 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:59]]></wp:post_modified>
|
333 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:59]]></wp:post_modified_gmt>
|
334 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
335 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
336 |
+
<wp:post_name><![CDATA[demo-menu-header]]></wp:post_name>
|
337 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
338 |
+
<wp:post_parent>2405</wp:post_parent>
|
339 |
+
<wp:menu_order>0</wp:menu_order>
|
340 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
341 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
342 |
+
<wp:is_sticky>0</wp:is_sticky>
|
343 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/demo-menu-header-scaled-1.jpg]]></wp:attachment_url>
|
344 |
+
<wp:postmeta>
|
345 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
346 |
+
<wp:meta_value><![CDATA[2021/03/demo-menu-header-scaled-1.jpg]]></wp:meta_value>
|
347 |
+
</wp:postmeta>
|
348 |
+
<wp:postmeta>
|
349 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
350 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1707;s:4:"file";s:37:"2021/03/demo-menu-header-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:37:"demo-menu-header-scaled-1-300x200.jpg";s:5:"width";i:300;s:6:"height";i:200;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:38:"demo-menu-header-scaled-1-1024x683.jpg";s:5:"width";i:1024;s:6:"height";i:683;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:37:"demo-menu-header-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:37:"demo-menu-header-scaled-1-768x512.jpg";s:5:"width";i:768;s:6:"height";i:512;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:39:"demo-menu-header-scaled-1-1536x1024.jpg";s:5:"width";i:1536;s:6:"height";i:1024;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:39:"demo-menu-header-scaled-1-2048x1366.jpg";s:5:"width";i:2048;s:6:"height";i:1366;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
351 |
+
</wp:postmeta>
|
352 |
+
</item>
|
353 |
+
|
354 |
+
<item>
|
355 |
+
<title><![CDATA[demo-gyoza]]></title>
|
356 |
+
<link>https://ocdi.com/menu/demo-gyoza/</link>
|
357 |
+
<pubDate>Tue, 09 Mar 2021 11:17:04 +0000</pubDate>
|
358 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/demo-gyoza.jpg</guid>
|
359 |
+
<description></description>
|
360 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
361 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
362 |
+
<wp:post_id>2411</wp:post_id>
|
363 |
+
<wp:post_date><![CDATA[2021-03-09 06:17:04]]></wp:post_date>
|
364 |
+
<wp:post_date_gmt><![CDATA[2021-03-09 11:17:04]]></wp:post_date_gmt>
|
365 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:59]]></wp:post_modified>
|
366 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:59]]></wp:post_modified_gmt>
|
367 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
368 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
369 |
+
<wp:post_name><![CDATA[demo-gyoza]]></wp:post_name>
|
370 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
371 |
+
<wp:post_parent>2405</wp:post_parent>
|
372 |
+
<wp:menu_order>0</wp:menu_order>
|
373 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
374 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
375 |
+
<wp:is_sticky>0</wp:is_sticky>
|
376 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/demo-gyoza-scaled-1.jpg]]></wp:attachment_url>
|
377 |
+
<wp:postmeta>
|
378 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
379 |
+
<wp:meta_value><![CDATA[2021/03/demo-gyoza-scaled-1.jpg]]></wp:meta_value>
|
380 |
+
</wp:postmeta>
|
381 |
+
<wp:postmeta>
|
382 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
383 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1920;s:4:"file";s:31:"2021/03/demo-gyoza-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:31:"demo-gyoza-scaled-1-300x225.jpg";s:5:"width";i:300;s:6:"height";i:225;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:32:"demo-gyoza-scaled-1-1024x768.jpg";s:5:"width";i:1024;s:6:"height";i:768;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:31:"demo-gyoza-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:31:"demo-gyoza-scaled-1-768x576.jpg";s:5:"width";i:768;s:6:"height";i:576;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:33:"demo-gyoza-scaled-1-1536x1152.jpg";s:5:"width";i:1536;s:6:"height";i:1152;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:33:"demo-gyoza-scaled-1-2048x1536.jpg";s:5:"width";i:2048;s:6:"height";i:1536;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
384 |
+
</wp:postmeta>
|
385 |
+
</item>
|
386 |
+
|
387 |
+
<item>
|
388 |
+
<title><![CDATA[demo-vegan]]></title>
|
389 |
+
<link>https://ocdi.com/demo-vegan-2/</link>
|
390 |
+
<pubDate>Tue, 09 Mar 2021 11:23:10 +0000</pubDate>
|
391 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/demo-vegan-edited.jpg</guid>
|
392 |
+
<description></description>
|
393 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
394 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
395 |
+
<wp:post_id>2420</wp:post_id>
|
396 |
+
<wp:post_date><![CDATA[2021-03-09 06:23:10]]></wp:post_date>
|
397 |
+
<wp:post_date_gmt><![CDATA[2021-03-09 11:23:10]]></wp:post_date_gmt>
|
398 |
+
<wp:post_modified><![CDATA[2021-03-09 06:23:10]]></wp:post_modified>
|
399 |
+
<wp:post_modified_gmt><![CDATA[2021-03-09 11:23:10]]></wp:post_modified_gmt>
|
400 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
401 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
402 |
+
<wp:post_name><![CDATA[demo-vegan-2]]></wp:post_name>
|
403 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
404 |
+
<wp:post_parent>0</wp:post_parent>
|
405 |
+
<wp:menu_order>0</wp:menu_order>
|
406 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
407 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
408 |
+
<wp:is_sticky>0</wp:is_sticky>
|
409 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/demo-vegan-edited-scaled-1.jpg]]></wp:attachment_url>
|
410 |
+
<wp:postmeta>
|
411 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
412 |
+
<wp:meta_value><![CDATA[2021/03/demo-vegan-edited-scaled-1.jpg]]></wp:meta_value>
|
413 |
+
</wp:postmeta>
|
414 |
+
<wp:postmeta>
|
415 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
416 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1920;s:4:"file";s:38:"2021/03/demo-vegan-edited-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:38:"demo-vegan-edited-scaled-1-300x225.jpg";s:5:"width";i:300;s:6:"height";i:225;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:39:"demo-vegan-edited-scaled-1-1024x768.jpg";s:5:"width";i:1024;s:6:"height";i:768;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:38:"demo-vegan-edited-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:38:"demo-vegan-edited-scaled-1-768x576.jpg";s:5:"width";i:768;s:6:"height";i:576;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:40:"demo-vegan-edited-scaled-1-1536x1152.jpg";s:5:"width";i:1536;s:6:"height";i:1152;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:40:"demo-vegan-edited-scaled-1-2048x1536.jpg";s:5:"width";i:2048;s:6:"height";i:1536;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
417 |
+
</wp:postmeta>
|
418 |
+
</item>
|
419 |
+
|
420 |
+
<item>
|
421 |
+
<title><![CDATA[demo-salmon-avocado]]></title>
|
422 |
+
<link>https://ocdi.com/demo-salmon-avocado-2/</link>
|
423 |
+
<pubDate>Tue, 09 Mar 2021 11:22:31 +0000</pubDate>
|
424 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/demo-salmon-avocado-edited.jpg</guid>
|
425 |
+
<description></description>
|
426 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
427 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
428 |
+
<wp:post_id>2418</wp:post_id>
|
429 |
+
<wp:post_date><![CDATA[2021-03-09 06:22:31]]></wp:post_date>
|
430 |
+
<wp:post_date_gmt><![CDATA[2021-03-09 11:22:31]]></wp:post_date_gmt>
|
431 |
+
<wp:post_modified><![CDATA[2021-03-09 06:22:31]]></wp:post_modified>
|
432 |
+
<wp:post_modified_gmt><![CDATA[2021-03-09 11:22:31]]></wp:post_modified_gmt>
|
433 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
434 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
435 |
+
<wp:post_name><![CDATA[demo-salmon-avocado-2]]></wp:post_name>
|
436 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
437 |
+
<wp:post_parent>0</wp:post_parent>
|
438 |
+
<wp:menu_order>0</wp:menu_order>
|
439 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
440 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
441 |
+
<wp:is_sticky>0</wp:is_sticky>
|
442 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/demo-salmon-avocado-edited-scaled-1.jpg]]></wp:attachment_url>
|
443 |
+
<wp:postmeta>
|
444 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
445 |
+
<wp:meta_value><![CDATA[2021/03/demo-salmon-avocado-edited-scaled-1.jpg]]></wp:meta_value>
|
446 |
+
</wp:postmeta>
|
447 |
+
<wp:postmeta>
|
448 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
449 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1915;s:4:"file";s:47:"2021/03/demo-salmon-avocado-edited-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:47:"demo-salmon-avocado-edited-scaled-1-300x224.jpg";s:5:"width";i:300;s:6:"height";i:224;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:48:"demo-salmon-avocado-edited-scaled-1-1024x766.jpg";s:5:"width";i:1024;s:6:"height";i:766;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:47:"demo-salmon-avocado-edited-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:47:"demo-salmon-avocado-edited-scaled-1-768x575.jpg";s:5:"width";i:768;s:6:"height";i:575;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:49:"demo-salmon-avocado-edited-scaled-1-1536x1149.jpg";s:5:"width";i:1536;s:6:"height";i:1149;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:49:"demo-salmon-avocado-edited-scaled-1-2048x1532.jpg";s:5:"width";i:2048;s:6:"height";i:1532;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
450 |
+
</wp:postmeta>
|
451 |
+
</item>
|
452 |
+
|
453 |
+
<item>
|
454 |
+
<title><![CDATA[demo-lunch]]></title>
|
455 |
+
<link>https://ocdi.com/demo-lunch-2/</link>
|
456 |
+
<pubDate>Tue, 09 Mar 2021 11:22:50 +0000</pubDate>
|
457 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/demo-lunch-edited.jpg</guid>
|
458 |
+
<description></description>
|
459 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
460 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
461 |
+
<wp:post_id>2419</wp:post_id>
|
462 |
+
<wp:post_date><![CDATA[2021-03-09 06:22:50]]></wp:post_date>
|
463 |
+
<wp:post_date_gmt><![CDATA[2021-03-09 11:22:50]]></wp:post_date_gmt>
|
464 |
+
<wp:post_modified><![CDATA[2021-03-09 06:22:50]]></wp:post_modified>
|
465 |
+
<wp:post_modified_gmt><![CDATA[2021-03-09 11:22:50]]></wp:post_modified_gmt>
|
466 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
467 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
468 |
+
<wp:post_name><![CDATA[demo-lunch-2]]></wp:post_name>
|
469 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
470 |
+
<wp:post_parent>0</wp:post_parent>
|
471 |
+
<wp:menu_order>0</wp:menu_order>
|
472 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
473 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
474 |
+
<wp:is_sticky>0</wp:is_sticky>
|
475 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/demo-lunch-edited-scaled-1.jpg]]></wp:attachment_url>
|
476 |
+
<wp:postmeta>
|
477 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
478 |
+
<wp:meta_value><![CDATA[2021/03/demo-lunch-edited-scaled-1.jpg]]></wp:meta_value>
|
479 |
+
</wp:postmeta>
|
480 |
+
<wp:postmeta>
|
481 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
482 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1911;s:4:"file";s:38:"2021/03/demo-lunch-edited-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:38:"demo-lunch-edited-scaled-1-300x224.jpg";s:5:"width";i:300;s:6:"height";i:224;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:39:"demo-lunch-edited-scaled-1-1024x764.jpg";s:5:"width";i:1024;s:6:"height";i:764;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:38:"demo-lunch-edited-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:38:"demo-lunch-edited-scaled-1-768x573.jpg";s:5:"width";i:768;s:6:"height";i:573;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:40:"demo-lunch-edited-scaled-1-1536x1147.jpg";s:5:"width";i:1536;s:6:"height";i:1147;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:40:"demo-lunch-edited-scaled-1-2048x1529.jpg";s:5:"width";i:2048;s:6:"height";i:1529;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
483 |
+
</wp:postmeta>
|
484 |
+
</item>
|
485 |
+
|
486 |
+
<item>
|
487 |
+
<title><![CDATA[demo-salmon]]></title>
|
488 |
+
<link>https://ocdi.com/demo-salmon-2/</link>
|
489 |
+
<pubDate>Tue, 09 Mar 2021 11:23:40 +0000</pubDate>
|
490 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/demo-salmon-edited.jpg</guid>
|
491 |
+
<description></description>
|
492 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
493 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
494 |
+
<wp:post_id>2421</wp:post_id>
|
495 |
+
<wp:post_date><![CDATA[2021-03-09 06:23:40]]></wp:post_date>
|
496 |
+
<wp:post_date_gmt><![CDATA[2021-03-09 11:23:40]]></wp:post_date_gmt>
|
497 |
+
<wp:post_modified><![CDATA[2021-03-09 06:23:40]]></wp:post_modified>
|
498 |
+
<wp:post_modified_gmt><![CDATA[2021-03-09 11:23:40]]></wp:post_modified_gmt>
|
499 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
500 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
501 |
+
<wp:post_name><![CDATA[demo-salmon-2]]></wp:post_name>
|
502 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
503 |
+
<wp:post_parent>0</wp:post_parent>
|
504 |
+
<wp:menu_order>0</wp:menu_order>
|
505 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
506 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
507 |
+
<wp:is_sticky>0</wp:is_sticky>
|
508 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/demo-salmon-edited-scaled-1.jpg]]></wp:attachment_url>
|
509 |
+
<wp:postmeta>
|
510 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
511 |
+
<wp:meta_value><![CDATA[2021/03/demo-salmon-edited-scaled-1.jpg]]></wp:meta_value>
|
512 |
+
</wp:postmeta>
|
513 |
+
<wp:postmeta>
|
514 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
515 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1922;s:4:"file";s:39:"2021/03/demo-salmon-edited-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:39:"demo-salmon-edited-scaled-1-300x225.jpg";s:5:"width";i:300;s:6:"height";i:225;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:40:"demo-salmon-edited-scaled-1-1024x769.jpg";s:5:"width";i:1024;s:6:"height";i:769;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:39:"demo-salmon-edited-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:39:"demo-salmon-edited-scaled-1-768x577.jpg";s:5:"width";i:768;s:6:"height";i:577;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:41:"demo-salmon-edited-scaled-1-1536x1153.jpg";s:5:"width";i:1536;s:6:"height";i:1153;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:41:"demo-salmon-edited-scaled-1-2048x1538.jpg";s:5:"width";i:2048;s:6:"height";i:1538;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
516 |
+
</wp:postmeta>
|
517 |
+
</item>
|
518 |
+
|
519 |
+
<item>
|
520 |
+
<title><![CDATA[demo-tofu-katsu]]></title>
|
521 |
+
<link>https://ocdi.com/demo-tofu-katsu-2/</link>
|
522 |
+
<pubDate>Tue, 09 Mar 2021 11:24:21 +0000</pubDate>
|
523 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/demo-tofu-katsu-edited.jpg</guid>
|
524 |
+
<description></description>
|
525 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
526 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
527 |
+
<wp:post_id>2423</wp:post_id>
|
528 |
+
<wp:post_date><![CDATA[2021-03-09 06:24:21]]></wp:post_date>
|
529 |
+
<wp:post_date_gmt><![CDATA[2021-03-09 11:24:21]]></wp:post_date_gmt>
|
530 |
+
<wp:post_modified><![CDATA[2021-03-09 06:24:21]]></wp:post_modified>
|
531 |
+
<wp:post_modified_gmt><![CDATA[2021-03-09 11:24:21]]></wp:post_modified_gmt>
|
532 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
533 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
534 |
+
<wp:post_name><![CDATA[demo-tofu-katsu-2]]></wp:post_name>
|
535 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
536 |
+
<wp:post_parent>0</wp:post_parent>
|
537 |
+
<wp:menu_order>0</wp:menu_order>
|
538 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
539 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
540 |
+
<wp:is_sticky>0</wp:is_sticky>
|
541 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/demo-tofu-katsu-edited-scaled-1.jpg]]></wp:attachment_url>
|
542 |
+
<wp:postmeta>
|
543 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
544 |
+
<wp:meta_value><![CDATA[2021/03/demo-tofu-katsu-edited-scaled-1.jpg]]></wp:meta_value>
|
545 |
+
</wp:postmeta>
|
546 |
+
<wp:postmeta>
|
547 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
548 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1915;s:4:"file";s:43:"2021/03/demo-tofu-katsu-edited-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:43:"demo-tofu-katsu-edited-scaled-1-300x224.jpg";s:5:"width";i:300;s:6:"height";i:224;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:44:"demo-tofu-katsu-edited-scaled-1-1024x766.jpg";s:5:"width";i:1024;s:6:"height";i:766;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:43:"demo-tofu-katsu-edited-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:43:"demo-tofu-katsu-edited-scaled-1-768x575.jpg";s:5:"width";i:768;s:6:"height";i:575;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:45:"demo-tofu-katsu-edited-scaled-1-1536x1149.jpg";s:5:"width";i:1536;s:6:"height";i:1149;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:45:"demo-tofu-katsu-edited-scaled-1-2048x1532.jpg";s:5:"width";i:2048;s:6:"height";i:1532;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
549 |
+
</wp:postmeta>
|
550 |
+
</item>
|
551 |
+
|
552 |
+
<item>
|
553 |
+
<title><![CDATA[demo-sashimi-deluxe]]></title>
|
554 |
+
<link>https://ocdi.com/demo-sashimi-deluxe-2/</link>
|
555 |
+
<pubDate>Tue, 09 Mar 2021 11:24:06 +0000</pubDate>
|
556 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/demo-sashimi-deluxe-edited.jpg</guid>
|
557 |
+
<description></description>
|
558 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
559 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
560 |
+
<wp:post_id>2422</wp:post_id>
|
561 |
+
<wp:post_date><![CDATA[2021-03-09 06:24:06]]></wp:post_date>
|
562 |
+
<wp:post_date_gmt><![CDATA[2021-03-09 11:24:06]]></wp:post_date_gmt>
|
563 |
+
<wp:post_modified><![CDATA[2021-03-09 06:24:06]]></wp:post_modified>
|
564 |
+
<wp:post_modified_gmt><![CDATA[2021-03-09 11:24:06]]></wp:post_modified_gmt>
|
565 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
566 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
567 |
+
<wp:post_name><![CDATA[demo-sashimi-deluxe-2]]></wp:post_name>
|
568 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
569 |
+
<wp:post_parent>0</wp:post_parent>
|
570 |
+
<wp:menu_order>0</wp:menu_order>
|
571 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
572 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
573 |
+
<wp:is_sticky>0</wp:is_sticky>
|
574 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/demo-sashimi-deluxe-edited-scaled-1.jpg]]></wp:attachment_url>
|
575 |
+
<wp:postmeta>
|
576 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
577 |
+
<wp:meta_value><![CDATA[2021/03/demo-sashimi-deluxe-edited-scaled-1.jpg]]></wp:meta_value>
|
578 |
+
</wp:postmeta>
|
579 |
+
<wp:postmeta>
|
580 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
581 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1922;s:4:"file";s:47:"2021/03/demo-sashimi-deluxe-edited-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:47:"demo-sashimi-deluxe-edited-scaled-1-300x225.jpg";s:5:"width";i:300;s:6:"height";i:225;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:48:"demo-sashimi-deluxe-edited-scaled-1-1024x769.jpg";s:5:"width";i:1024;s:6:"height";i:769;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:47:"demo-sashimi-deluxe-edited-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:47:"demo-sashimi-deluxe-edited-scaled-1-768x577.jpg";s:5:"width";i:768;s:6:"height";i:577;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:49:"demo-sashimi-deluxe-edited-scaled-1-1536x1153.jpg";s:5:"width";i:1536;s:6:"height";i:1153;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:49:"demo-sashimi-deluxe-edited-scaled-1-2048x1538.jpg";s:5:"width";i:2048;s:6:"height";i:1538;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
582 |
+
</wp:postmeta>
|
583 |
+
</item>
|
584 |
+
|
585 |
+
<item>
|
586 |
+
<title><![CDATA[demo-eel-bento]]></title>
|
587 |
+
<link>https://ocdi.com/demo-eel-bento-2/</link>
|
588 |
+
<pubDate>Tue, 09 Mar 2021 11:24:40 +0000</pubDate>
|
589 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/demo-eel-bento-edited.jpg</guid>
|
590 |
+
<description></description>
|
591 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
592 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
593 |
+
<wp:post_id>2424</wp:post_id>
|
594 |
+
<wp:post_date><![CDATA[2021-03-09 06:24:40]]></wp:post_date>
|
595 |
+
<wp:post_date_gmt><![CDATA[2021-03-09 11:24:40]]></wp:post_date_gmt>
|
596 |
+
<wp:post_modified><![CDATA[2021-03-09 06:24:40]]></wp:post_modified>
|
597 |
+
<wp:post_modified_gmt><![CDATA[2021-03-09 11:24:40]]></wp:post_modified_gmt>
|
598 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
599 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
600 |
+
<wp:post_name><![CDATA[demo-eel-bento-2]]></wp:post_name>
|
601 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
602 |
+
<wp:post_parent>0</wp:post_parent>
|
603 |
+
<wp:menu_order>0</wp:menu_order>
|
604 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
605 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
606 |
+
<wp:is_sticky>0</wp:is_sticky>
|
607 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/demo-eel-bento-edited-scaled-1.jpg]]></wp:attachment_url>
|
608 |
+
<wp:postmeta>
|
609 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
610 |
+
<wp:meta_value><![CDATA[2021/03/demo-eel-bento-edited-scaled-1.jpg]]></wp:meta_value>
|
611 |
+
</wp:postmeta>
|
612 |
+
<wp:postmeta>
|
613 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
614 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1923;s:4:"file";s:42:"2021/03/demo-eel-bento-edited-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:42:"demo-eel-bento-edited-scaled-1-300x225.jpg";s:5:"width";i:300;s:6:"height";i:225;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:43:"demo-eel-bento-edited-scaled-1-1024x769.jpg";s:5:"width";i:1024;s:6:"height";i:769;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:42:"demo-eel-bento-edited-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:42:"demo-eel-bento-edited-scaled-1-768x577.jpg";s:5:"width";i:768;s:6:"height";i:577;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:44:"demo-eel-bento-edited-scaled-1-1536x1154.jpg";s:5:"width";i:1536;s:6:"height";i:1154;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:44:"demo-eel-bento-edited-scaled-1-2048x1538.jpg";s:5:"width";i:2048;s:6:"height";i:1538;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
615 |
+
</wp:postmeta>
|
616 |
+
</item>
|
617 |
+
|
618 |
+
<item>
|
619 |
+
<title><![CDATA[demo-chocolate]]></title>
|
620 |
+
<link>https://ocdi.com/demo-chocolate-2/</link>
|
621 |
+
<pubDate>Tue, 09 Mar 2021 11:25:03 +0000</pubDate>
|
622 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/demo-chocolate-edited.jpg</guid>
|
623 |
+
<description></description>
|
624 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
625 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
626 |
+
<wp:post_id>2425</wp:post_id>
|
627 |
+
<wp:post_date><![CDATA[2021-03-09 06:25:03]]></wp:post_date>
|
628 |
+
<wp:post_date_gmt><![CDATA[2021-03-09 11:25:03]]></wp:post_date_gmt>
|
629 |
+
<wp:post_modified><![CDATA[2021-03-09 06:25:03]]></wp:post_modified>
|
630 |
+
<wp:post_modified_gmt><![CDATA[2021-03-09 11:25:03]]></wp:post_modified_gmt>
|
631 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
632 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
633 |
+
<wp:post_name><![CDATA[demo-chocolate-2]]></wp:post_name>
|
634 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
635 |
+
<wp:post_parent>0</wp:post_parent>
|
636 |
+
<wp:menu_order>0</wp:menu_order>
|
637 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
638 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
639 |
+
<wp:is_sticky>0</wp:is_sticky>
|
640 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/demo-chocolate-edited-scaled-1.jpg]]></wp:attachment_url>
|
641 |
+
<wp:postmeta>
|
642 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
643 |
+
<wp:meta_value><![CDATA[2021/03/demo-chocolate-edited-scaled-1.jpg]]></wp:meta_value>
|
644 |
+
</wp:postmeta>
|
645 |
+
<wp:postmeta>
|
646 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
647 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1921;s:4:"file";s:42:"2021/03/demo-chocolate-edited-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:42:"demo-chocolate-edited-scaled-1-300x225.jpg";s:5:"width";i:300;s:6:"height";i:225;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:43:"demo-chocolate-edited-scaled-1-1024x768.jpg";s:5:"width";i:1024;s:6:"height";i:768;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:42:"demo-chocolate-edited-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:42:"demo-chocolate-edited-scaled-1-768x576.jpg";s:5:"width";i:768;s:6:"height";i:576;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:44:"demo-chocolate-edited-scaled-1-1536x1153.jpg";s:5:"width";i:1536;s:6:"height";i:1153;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:44:"demo-chocolate-edited-scaled-1-2048x1537.jpg";s:5:"width";i:2048;s:6:"height";i:1537;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
648 |
+
</wp:postmeta>
|
649 |
+
</item>
|
650 |
+
<item>
|
651 |
+
<title><![CDATA[demo-cream-puff]]></title>
|
652 |
+
<link>https://ocdi.com/demo-cream-puff-2/</link>
|
653 |
+
<pubDate>Tue, 09 Mar 2021 11:25:20 +0000</pubDate>
|
654 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/demo-cream-puff-edited.jpg</guid>
|
655 |
+
<description></description>
|
656 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
657 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
658 |
+
<wp:post_id>2426</wp:post_id>
|
659 |
+
<wp:post_date><![CDATA[2021-03-09 06:25:20]]></wp:post_date>
|
660 |
+
<wp:post_date_gmt><![CDATA[2021-03-09 11:25:20]]></wp:post_date_gmt>
|
661 |
+
<wp:post_modified><![CDATA[2021-03-09 06:25:20]]></wp:post_modified>
|
662 |
+
<wp:post_modified_gmt><![CDATA[2021-03-09 11:25:20]]></wp:post_modified_gmt>
|
663 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
664 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
665 |
+
<wp:post_name><![CDATA[demo-cream-puff-2]]></wp:post_name>
|
666 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
667 |
+
<wp:post_parent>0</wp:post_parent>
|
668 |
+
<wp:menu_order>0</wp:menu_order>
|
669 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
670 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
671 |
+
<wp:is_sticky>0</wp:is_sticky>
|
672 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/demo-cream-puff-edited-scaled-1.jpg]]></wp:attachment_url>
|
673 |
+
<wp:postmeta>
|
674 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
675 |
+
<wp:meta_value><![CDATA[2021/03/demo-cream-puff-edited-scaled-1.jpg]]></wp:meta_value>
|
676 |
+
</wp:postmeta>
|
677 |
+
<wp:postmeta>
|
678 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
679 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1915;s:4:"file";s:43:"2021/03/demo-cream-puff-edited-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:43:"demo-cream-puff-edited-scaled-1-300x224.jpg";s:5:"width";i:300;s:6:"height";i:224;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:44:"demo-cream-puff-edited-scaled-1-1024x766.jpg";s:5:"width";i:1024;s:6:"height";i:766;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:43:"demo-cream-puff-edited-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:43:"demo-cream-puff-edited-scaled-1-768x575.jpg";s:5:"width";i:768;s:6:"height";i:575;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:45:"demo-cream-puff-edited-scaled-1-1536x1149.jpg";s:5:"width";i:1536;s:6:"height";i:1149;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:45:"demo-cream-puff-edited-scaled-1-2048x1532.jpg";s:5:"width";i:2048;s:6:"height";i:1532;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
680 |
+
</wp:postmeta>
|
681 |
+
</item>
|
682 |
+
|
683 |
+
</channel>
|
684 |
+
</rss>
|
assets/demo-content/portfolio-page.xml
ADDED
@@ -0,0 +1,254 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" ?>
|
2 |
+
<!-- generator="WordPress/5.7" created="2021-03-25 06:41" -->
|
3 |
+
<rss version="2.0"
|
4 |
+
xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
|
5 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
6 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
7 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
8 |
+
xmlns:wp="http://wordpress.org/export/1.2/"
|
9 |
+
>
|
10 |
+
|
11 |
+
<channel>
|
12 |
+
<title>ocdi</title>
|
13 |
+
<link>https://ocdi.com</link>
|
14 |
+
<description>Just another WordPress site</description>
|
15 |
+
<pubDate>Thu, 25 Mar 2021 06:41:21 +0000</pubDate>
|
16 |
+
<language>en-US</language>
|
17 |
+
<wp:wxr_version>1.2</wp:wxr_version>
|
18 |
+
<wp:base_site_url>https://ocdi.com</wp:base_site_url>
|
19 |
+
<wp:base_blog_url>https://ocdi.com</wp:base_blog_url>
|
20 |
+
|
21 |
+
<generator>https://wordpress.org/?v=5.7</generator>
|
22 |
+
|
23 |
+
<item>
|
24 |
+
<title><![CDATA[Portfolio]]></title>
|
25 |
+
<link>https://ocdi.com/portfolio/</link>
|
26 |
+
<pubDate>Tue, 09 Mar 2021 14:19:21 +0000</pubDate>
|
27 |
+
<description></description>
|
28 |
+
<content:encoded><![CDATA[<!-- wp:paragraph -->
|
29 |
+
<p>We've helped thousands of businesses to thrive and grow. Read about our awesome customers to find out exactly how we helped them.</p>
|
30 |
+
<!-- /wp:paragraph -->
|
31 |
+
|
32 |
+
<!-- wp:columns -->
|
33 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
34 |
+
<div class="wp-block-column"><!-- wp:buttons {"contentJustification":"center"} -->
|
35 |
+
<div class="wp-block-buttons is-content-justification-center"><!-- wp:button -->
|
36 |
+
<div class="wp-block-button"><a class="wp-block-button__link" rel="#gusto">Gusto Burgers</a></div>
|
37 |
+
<!-- /wp:button --></div>
|
38 |
+
<!-- /wp:buttons --></div>
|
39 |
+
<!-- /wp:column -->
|
40 |
+
|
41 |
+
<!-- wp:column -->
|
42 |
+
<div class="wp-block-column"><!-- wp:buttons {"contentJustification":"center"} -->
|
43 |
+
<div class="wp-block-buttons is-content-justification-center"><!-- wp:button -->
|
44 |
+
<div class="wp-block-button"><a class="wp-block-button__link" rel="#aurora">Aurora Flowers</a></div>
|
45 |
+
<!-- /wp:button --></div>
|
46 |
+
<!-- /wp:buttons --></div>
|
47 |
+
<!-- /wp:column --></div>
|
48 |
+
<!-- /wp:columns -->
|
49 |
+
|
50 |
+
<!-- wp:separator {"className":"is-style-dots"} -->
|
51 |
+
<hr class="wp-block-separator is-style-dots"/>
|
52 |
+
<!-- /wp:separator -->
|
53 |
+
|
54 |
+
<!-- wp:image {"align":"center","id":2109,"sizeSlug":"large","linkDestination":"none"} -->
|
55 |
+
<figure id="gusto" class="wp-block-image aligncenter size-large"><img src="https://ocdi.com/wp-content/uploads/2021/02/demo-photo-2-1024x714.png" alt="" class="wp-image-2109"/></figure>
|
56 |
+
<!-- /wp:image -->
|
57 |
+
|
58 |
+
<!-- wp:columns -->
|
59 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"25%"} -->
|
60 |
+
<div class="wp-block-column" style="flex-basis:25%"><!-- wp:image {"id":2106,"sizeSlug":"large","linkDestination":"none"} -->
|
61 |
+
<figure class="wp-block-image size-large"><img src="https://ocdi.com/wp-content/uploads/2021/02/demo-logo-2.png" alt="" class="wp-image-2106"/></figure>
|
62 |
+
<!-- /wp:image --></div>
|
63 |
+
<!-- /wp:column -->
|
64 |
+
|
65 |
+
<!-- wp:column {"width":""} -->
|
66 |
+
<div class="wp-block-column"><!-- wp:paragraph -->
|
67 |
+
<p>Acme helped Gusto Burgers to pivot rapidly to online ordering and take-away during 2020. Our team worked with the brand to add interactive menus to its website covering its entire menu. We also developed a branded app to support speedy ordering, collection and delivery. </p>
|
68 |
+
<!-- /wp:paragraph -->
|
69 |
+
|
70 |
+
<!-- wp:buttons -->
|
71 |
+
<div class="wp-block-buttons"><!-- wp:button {"borderRadius":0,"className":"is-style-outline"} -->
|
72 |
+
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link no-border-radius" rel="#">Read the case study</a></div>
|
73 |
+
<!-- /wp:button --></div>
|
74 |
+
<!-- /wp:buttons --></div>
|
75 |
+
<!-- /wp:column --></div>
|
76 |
+
<!-- /wp:columns -->
|
77 |
+
|
78 |
+
<!-- wp:separator {"className":"is-style-dots"} -->
|
79 |
+
<hr class="wp-block-separator is-style-dots"/>
|
80 |
+
<!-- /wp:separator -->
|
81 |
+
|
82 |
+
<!-- wp:image {"id":2110,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
|
83 |
+
<figure class="wp-block-image size-large is-style-default" id="aurora"><img src="https://ocdi.com/wp-content/uploads/2021/02/demo-photo-3-1024x757.png" alt="" class="wp-image-2110"/></figure>
|
84 |
+
<!-- /wp:image -->
|
85 |
+
|
86 |
+
<!-- wp:columns -->
|
87 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33.33%"} -->
|
88 |
+
<div class="wp-block-column" style="flex-basis:33.33%"><!-- wp:image {"id":2107,"sizeSlug":"large","linkDestination":"none"} -->
|
89 |
+
<figure class="wp-block-image size-large"><img src="https://ocdi.com/wp-content/uploads/2021/02/logo-demo-3.png" alt="" class="wp-image-2107"/></figure>
|
90 |
+
<!-- /wp:image --></div>
|
91 |
+
<!-- /wp:column -->
|
92 |
+
|
93 |
+
<!-- wp:column {"width":"66.66%"} -->
|
94 |
+
<div class="wp-block-column" style="flex-basis:66.66%"><!-- wp:paragraph -->
|
95 |
+
<p>Our marketing team helped Aurora Flowers to develop a coherent social media strategy, focusing on visual channels like Instagram and Pinterest. We improved post engagement and integrated its online store, resulting in a 10% increase in sales over the Christmas season.</p>
|
96 |
+
<!-- /wp:paragraph -->
|
97 |
+
|
98 |
+
<!-- wp:buttons -->
|
99 |
+
<div class="wp-block-buttons"><!-- wp:button {"borderRadius":0,"className":"is-style-outline"} -->
|
100 |
+
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link no-border-radius" rel="#">Read the case study</a></div>
|
101 |
+
<!-- /wp:button --></div>
|
102 |
+
<!-- /wp:buttons --></div>
|
103 |
+
<!-- /wp:column --></div>
|
104 |
+
<!-- /wp:columns -->]]></content:encoded>
|
105 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
106 |
+
<wp:post_date><![CDATA[2021-03-09 09:19:21]]></wp:post_date>
|
107 |
+
<wp:post_date_gmt><![CDATA[2021-03-09 14:19:21]]></wp:post_date_gmt>
|
108 |
+
<wp:post_modified><![CDATA[2021-03-29 14:48:29]]></wp:post_modified>
|
109 |
+
<wp:post_modified_gmt><![CDATA[2021-03-29 14:48:29]]></wp:post_modified_gmt>
|
110 |
+
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
|
111 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
112 |
+
<wp:post_name><![CDATA[portfolio]]></wp:post_name>
|
113 |
+
<wp:status><![CDATA[publish]]></wp:status>
|
114 |
+
<wp:post_parent>0</wp:post_parent>
|
115 |
+
<wp:menu_order>0</wp:menu_order>
|
116 |
+
<wp:post_type><![CDATA[page]]></wp:post_type>
|
117 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
118 |
+
<wp:is_sticky>0</wp:is_sticky>
|
119 |
+
</item>
|
120 |
+
|
121 |
+
<item>
|
122 |
+
<title><![CDATA[demo-photo-2]]></title>
|
123 |
+
<link>https://ocdi.com/portfolio/demo-photo-2/</link>
|
124 |
+
<pubDate>Tue, 23 Feb 2021 13:13:50 +0000</pubDate>
|
125 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/02/demo-photo-2.png</guid>
|
126 |
+
<description></description>
|
127 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
128 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
129 |
+
<wp:post_id>2109</wp:post_id>
|
130 |
+
<wp:post_date><![CDATA[2021-02-23 08:13:50]]></wp:post_date>
|
131 |
+
<wp:post_date_gmt><![CDATA[2021-02-23 13:13:50]]></wp:post_date_gmt>
|
132 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:54]]></wp:post_modified>
|
133 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:54]]></wp:post_modified_gmt>
|
134 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
135 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
136 |
+
<wp:post_name><![CDATA[demo-photo-2]]></wp:post_name>
|
137 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
138 |
+
<wp:post_parent>2103</wp:post_parent>
|
139 |
+
<wp:menu_order>0</wp:menu_order>
|
140 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
141 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
142 |
+
<wp:is_sticky>0</wp:is_sticky>
|
143 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/02/demo-photo-2.png]]></wp:attachment_url>
|
144 |
+
<wp:postmeta>
|
145 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
146 |
+
<wp:meta_value><![CDATA[2021/02/demo-photo-2.png]]></wp:meta_value>
|
147 |
+
</wp:postmeta>
|
148 |
+
<wp:postmeta>
|
149 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
150 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:1310;s:6:"height";i:914;s:4:"file";s:24:"2021/02/demo-photo-2.png";s:5:"sizes";a:4:{s:6:"medium";a:4:{s:4:"file";s:24:"demo-photo-2-300x209.png";s:5:"width";i:300;s:6:"height";i:209;s:9:"mime-type";s:9:"image/png";}s:5:"large";a:4:{s:4:"file";s:25:"demo-photo-2-1024x714.png";s:5:"width";i:1024;s:6:"height";i:714;s:9:"mime-type";s:9:"image/png";}s:9:"thumbnail";a:4:{s:4:"file";s:24:"demo-photo-2-150x150.png";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/png";}s:12:"medium_large";a:4:{s:4:"file";s:24:"demo-photo-2-768x536.png";s:5:"width";i:768;s:6:"height";i:536;s:9:"mime-type";s:9:"image/png";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
151 |
+
</wp:postmeta>
|
152 |
+
</item>
|
153 |
+
|
154 |
+
<item>
|
155 |
+
<title><![CDATA[demo-photo-3]]></title>
|
156 |
+
<link>https://ocdi.com/portfolio/demo-photo-3/</link>
|
157 |
+
<pubDate>Tue, 23 Feb 2021 13:21:32 +0000</pubDate>
|
158 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/02/demo-photo-3.png</guid>
|
159 |
+
<description></description>
|
160 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
161 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
162 |
+
<wp:post_id>2110</wp:post_id>
|
163 |
+
<wp:post_date><![CDATA[2021-02-23 08:21:32]]></wp:post_date>
|
164 |
+
<wp:post_date_gmt><![CDATA[2021-02-23 13:21:32]]></wp:post_date_gmt>
|
165 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:54]]></wp:post_modified>
|
166 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:54]]></wp:post_modified_gmt>
|
167 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
168 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
169 |
+
<wp:post_name><![CDATA[demo-photo-3]]></wp:post_name>
|
170 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
171 |
+
<wp:post_parent>2103</wp:post_parent>
|
172 |
+
<wp:menu_order>0</wp:menu_order>
|
173 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
174 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
175 |
+
<wp:is_sticky>0</wp:is_sticky>
|
176 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/02/demo-photo-3.png]]></wp:attachment_url>
|
177 |
+
<wp:postmeta>
|
178 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
179 |
+
<wp:meta_value><![CDATA[2021/02/demo-photo-3.png]]></wp:meta_value>
|
180 |
+
</wp:postmeta>
|
181 |
+
<wp:postmeta>
|
182 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
183 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:1432;s:6:"height";i:1058;s:4:"file";s:24:"2021/02/demo-photo-3.png";s:5:"sizes";a:4:{s:6:"medium";a:4:{s:4:"file";s:24:"demo-photo-3-300x222.png";s:5:"width";i:300;s:6:"height";i:222;s:9:"mime-type";s:9:"image/png";}s:5:"large";a:4:{s:4:"file";s:25:"demo-photo-3-1024x757.png";s:5:"width";i:1024;s:6:"height";i:757;s:9:"mime-type";s:9:"image/png";}s:9:"thumbnail";a:4:{s:4:"file";s:24:"demo-photo-3-150x150.png";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/png";}s:12:"medium_large";a:4:{s:4:"file";s:24:"demo-photo-3-768x567.png";s:5:"width";i:768;s:6:"height";i:567;s:9:"mime-type";s:9:"image/png";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
184 |
+
</wp:postmeta>
|
185 |
+
</item>
|
186 |
+
|
187 |
+
<item>
|
188 |
+
<title><![CDATA[demo-logo-2]]></title>
|
189 |
+
<link>https://ocdi.com/portfolio/demo-logo-2/</link>
|
190 |
+
<pubDate>Tue, 23 Feb 2021 12:11:17 +0000</pubDate>
|
191 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/02/demo-logo-2.png</guid>
|
192 |
+
<description></description>
|
193 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
194 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
195 |
+
<wp:post_id>2106</wp:post_id>
|
196 |
+
<wp:post_date><![CDATA[2021-02-23 07:11:17]]></wp:post_date>
|
197 |
+
<wp:post_date_gmt><![CDATA[2021-02-23 12:11:17]]></wp:post_date_gmt>
|
198 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:54]]></wp:post_modified>
|
199 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:54]]></wp:post_modified_gmt>
|
200 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
201 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
202 |
+
<wp:post_name><![CDATA[demo-logo-2]]></wp:post_name>
|
203 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
204 |
+
<wp:post_parent>2103</wp:post_parent>
|
205 |
+
<wp:menu_order>0</wp:menu_order>
|
206 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
207 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
208 |
+
<wp:is_sticky>0</wp:is_sticky>
|
209 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/02/demo-logo-2.png]]></wp:attachment_url>
|
210 |
+
<wp:postmeta>
|
211 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
212 |
+
<wp:meta_value><![CDATA[2021/02/demo-logo-2.png]]></wp:meta_value>
|
213 |
+
</wp:postmeta>
|
214 |
+
<wp:postmeta>
|
215 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
216 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:1000;s:6:"height";i:1000;s:4:"file";s:23:"2021/02/demo-logo-2.png";s:5:"sizes";a:3:{s:6:"medium";a:4:{s:4:"file";s:23:"demo-logo-2-300x300.png";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:9:"image/png";}s:9:"thumbnail";a:4:{s:4:"file";s:23:"demo-logo-2-150x150.png";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/png";}s:12:"medium_large";a:4:{s:4:"file";s:23:"demo-logo-2-768x768.png";s:5:"width";i:768;s:6:"height";i:768;s:9:"mime-type";s:9:"image/png";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
217 |
+
</wp:postmeta>
|
218 |
+
</item>
|
219 |
+
|
220 |
+
<item>
|
221 |
+
<title><![CDATA[logo-demo-3]]></title>
|
222 |
+
<link>https://ocdi.com/portfolio/logo-demo-3/</link>
|
223 |
+
<pubDate>Tue, 23 Feb 2021 12:17:24 +0000</pubDate>
|
224 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/02/logo-demo-3.png</guid>
|
225 |
+
<description></description>
|
226 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
227 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
228 |
+
<wp:post_id>2107</wp:post_id>
|
229 |
+
<wp:post_date><![CDATA[2021-02-23 07:17:24]]></wp:post_date>
|
230 |
+
<wp:post_date_gmt><![CDATA[2021-02-23 12:17:24]]></wp:post_date_gmt>
|
231 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:54]]></wp:post_modified>
|
232 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:54]]></wp:post_modified_gmt>
|
233 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
234 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
235 |
+
<wp:post_name><![CDATA[logo-demo-3]]></wp:post_name>
|
236 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
237 |
+
<wp:post_parent>2103</wp:post_parent>
|
238 |
+
<wp:menu_order>0</wp:menu_order>
|
239 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
240 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
241 |
+
<wp:is_sticky>0</wp:is_sticky>
|
242 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/02/logo-demo-3.png]]></wp:attachment_url>
|
243 |
+
<wp:postmeta>
|
244 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
245 |
+
<wp:meta_value><![CDATA[2021/02/logo-demo-3.png]]></wp:meta_value>
|
246 |
+
</wp:postmeta>
|
247 |
+
<wp:postmeta>
|
248 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
249 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:1000;s:6:"height";i:1000;s:4:"file";s:23:"2021/02/logo-demo-3.png";s:5:"sizes";a:3:{s:6:"medium";a:4:{s:4:"file";s:23:"logo-demo-3-300x300.png";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:9:"image/png";}s:9:"thumbnail";a:4:{s:4:"file";s:23:"logo-demo-3-150x150.png";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/png";}s:12:"medium_large";a:4:{s:4:"file";s:23:"logo-demo-3-768x768.png";s:5:"width";i:768;s:6:"height";i:768;s:9:"mime-type";s:9:"image/png";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
250 |
+
</wp:postmeta>
|
251 |
+
</item>
|
252 |
+
|
253 |
+
</channel>
|
254 |
+
</rss>
|
assets/demo-content/services-page.xml
ADDED
@@ -0,0 +1,138 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" ?>
|
2 |
+
<!-- generator="WordPress/5.7" created="2021-03-25 06:41" -->
|
3 |
+
<rss version="2.0"
|
4 |
+
xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
|
5 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
6 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
7 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
8 |
+
xmlns:wp="http://wordpress.org/export/1.2/"
|
9 |
+
>
|
10 |
+
|
11 |
+
<channel>
|
12 |
+
<title>ocdi</title>
|
13 |
+
<link>https://ocdi.com</link>
|
14 |
+
<description>Just another WordPress site</description>
|
15 |
+
<pubDate>Thu, 25 Mar 2021 06:41:21 +0000</pubDate>
|
16 |
+
<language>en-US</language>
|
17 |
+
<wp:wxr_version>1.2</wp:wxr_version>
|
18 |
+
<wp:base_site_url>https://ocdi.com</wp:base_site_url>
|
19 |
+
<wp:base_blog_url>https://ocdi.com</wp:base_blog_url>
|
20 |
+
|
21 |
+
<generator>https://wordpress.org/?v=5.7</generator>
|
22 |
+
|
23 |
+
<item>
|
24 |
+
<title><![CDATA[Services]]></title>
|
25 |
+
<link>https://ocdi.com/services/</link>
|
26 |
+
<pubDate>Tue, 09 Mar 2021 14:11:37 +0000</pubDate>
|
27 |
+
<description></description>
|
28 |
+
<content:encoded><![CDATA[<!-- wp:paragraph -->
|
29 |
+
<p>Choose between three monthly plans. </p>
|
30 |
+
<!-- /wp:paragraph -->
|
31 |
+
|
32 |
+
<!-- wp:columns {"backgroundColor":"gray"} -->
|
33 |
+
<div class="wp-block-columns has-gray-background-color has-background"><!-- wp:column -->
|
34 |
+
<div class="wp-block-column"><!-- wp:heading {"textAlign":"center","level":3} -->
|
35 |
+
<h3 class="has-text-align-center" id="h-basic">Basic</h3>
|
36 |
+
<!-- /wp:heading -->
|
37 |
+
|
38 |
+
<!-- wp:paragraph {"align":"center"} -->
|
39 |
+
<p class="has-text-align-center">$20/mo</p>
|
40 |
+
<!-- /wp:paragraph -->
|
41 |
+
|
42 |
+
<!-- wp:paragraph -->
|
43 |
+
<p>This service is awesome if you're just starting out!</p>
|
44 |
+
<!-- /wp:paragraph -->
|
45 |
+
|
46 |
+
<!-- wp:list -->
|
47 |
+
<ul><li>Service</li><li>Service</li><li>Service</li></ul>
|
48 |
+
<!-- /wp:list --></div>
|
49 |
+
<!-- /wp:column -->
|
50 |
+
|
51 |
+
<!-- wp:column -->
|
52 |
+
<div class="wp-block-column"><!-- wp:heading {"textAlign":"center","level":3} -->
|
53 |
+
<h3 class="has-text-align-center" id="h-agency">Agency</h3>
|
54 |
+
<!-- /wp:heading -->
|
55 |
+
|
56 |
+
<!-- wp:paragraph {"align":"center"} -->
|
57 |
+
<p class="has-text-align-center">$50/mo</p>
|
58 |
+
<!-- /wp:paragraph -->
|
59 |
+
|
60 |
+
<!-- wp:paragraph -->
|
61 |
+
<p>This is the best choice for small businesses who want to see rapid results.</p>
|
62 |
+
<!-- /wp:paragraph -->
|
63 |
+
|
64 |
+
<!-- wp:list -->
|
65 |
+
<ul><li>Service</li><li>Service</li><li>Service</li><li>Service</li><li>Service</li></ul>
|
66 |
+
<!-- /wp:list --></div>
|
67 |
+
<!-- /wp:column -->
|
68 |
+
|
69 |
+
<!-- wp:column -->
|
70 |
+
<div class="wp-block-column"><!-- wp:heading {"textAlign":"center","level":3} -->
|
71 |
+
<h3 class="has-text-align-center" id="h-pro">Pro</h3>
|
72 |
+
<!-- /wp:heading -->
|
73 |
+
|
74 |
+
<!-- wp:paragraph {"align":"center"} -->
|
75 |
+
<p class="has-text-align-center">$30/mo</p>
|
76 |
+
<!-- /wp:paragraph -->
|
77 |
+
|
78 |
+
<!-- wp:paragraph -->
|
79 |
+
<p>Want the whole package? We got it covered.</p>
|
80 |
+
<!-- /wp:paragraph -->
|
81 |
+
|
82 |
+
<!-- wp:list -->
|
83 |
+
<ul><li>Service</li><li>Service</li><li>Service</li><li>Service</li></ul>
|
84 |
+
<!-- /wp:list --></div>
|
85 |
+
<!-- /wp:column --></div>
|
86 |
+
<!-- /wp:columns -->
|
87 |
+
|
88 |
+
<!-- wp:columns -->
|
89 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
90 |
+
<div class="wp-block-column"><!-- wp:buttons {"contentJustification":"center"} -->
|
91 |
+
<div class="wp-block-buttons is-content-justification-center"><!-- wp:button -->
|
92 |
+
<div class="wp-block-button"><a class="wp-block-button__link">Learn More</a></div>
|
93 |
+
<!-- /wp:button --></div>
|
94 |
+
<!-- /wp:buttons --></div>
|
95 |
+
<!-- /wp:column -->
|
96 |
+
|
97 |
+
<!-- wp:column -->
|
98 |
+
<div class="wp-block-column"><!-- wp:buttons {"contentJustification":"center"} -->
|
99 |
+
<div class="wp-block-buttons is-content-justification-center"><!-- wp:button -->
|
100 |
+
<div class="wp-block-button"><a class="wp-block-button__link">Learn More</a></div>
|
101 |
+
<!-- /wp:button --></div>
|
102 |
+
<!-- /wp:buttons --></div>
|
103 |
+
<!-- /wp:column -->
|
104 |
+
|
105 |
+
<!-- wp:column -->
|
106 |
+
<div class="wp-block-column"><!-- wp:buttons {"contentJustification":"center"} -->
|
107 |
+
<div class="wp-block-buttons is-content-justification-center"><!-- wp:button -->
|
108 |
+
<div class="wp-block-button"><a class="wp-block-button__link">Learn More</a></div>
|
109 |
+
<!-- /wp:button --></div>
|
110 |
+
<!-- /wp:buttons --></div>
|
111 |
+
<!-- /wp:column --></div>
|
112 |
+
<!-- /wp:columns -->
|
113 |
+
|
114 |
+
<!-- wp:heading -->
|
115 |
+
<h2 id="h-our-guarantee">Our Guarantee</h2>
|
116 |
+
<!-- /wp:heading -->
|
117 |
+
|
118 |
+
<!-- wp:paragraph -->
|
119 |
+
<p>We offer a full money-back guarantee on all plans if you cancel within the first 30-days. Not happy with your plan? Switch it any time!</p>
|
120 |
+
<!-- /wp:paragraph -->]]></content:encoded>
|
121 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
122 |
+
<wp:post_date><![CDATA[2021-03-09 09:11:37]]></wp:post_date>
|
123 |
+
<wp:post_date_gmt><![CDATA[2021-03-09 14:11:37]]></wp:post_date_gmt>
|
124 |
+
<wp:post_modified><![CDATA[2021-03-23 08:46:09]]></wp:post_modified>
|
125 |
+
<wp:post_modified_gmt><![CDATA[2021-03-23 08:46:09]]></wp:post_modified_gmt>
|
126 |
+
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
|
127 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
128 |
+
<wp:post_name><![CDATA[services]]></wp:post_name>
|
129 |
+
<wp:status><![CDATA[publish]]></wp:status>
|
130 |
+
<wp:post_parent>0</wp:post_parent>
|
131 |
+
<wp:menu_order>0</wp:menu_order>
|
132 |
+
<wp:post_type><![CDATA[page]]></wp:post_type>
|
133 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
134 |
+
<wp:is_sticky>0</wp:is_sticky>
|
135 |
+
</item>
|
136 |
+
|
137 |
+
</channel>
|
138 |
+
</rss>
|
assets/demo-content/shop-page.xml
ADDED
@@ -0,0 +1,450 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" ?>
|
2 |
+
<!-- generator="WordPress/5.7" created="2021-03-25 06:41" -->
|
3 |
+
<rss version="2.0"
|
4 |
+
xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
|
5 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
6 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
7 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
8 |
+
xmlns:wp="http://wordpress.org/export/1.2/"
|
9 |
+
>
|
10 |
+
|
11 |
+
<channel>
|
12 |
+
<title>ocdi</title>
|
13 |
+
<link>https://ocdi.com</link>
|
14 |
+
<description>Just another WordPress site</description>
|
15 |
+
<pubDate>Thu, 25 Mar 2021 06:41:21 +0000</pubDate>
|
16 |
+
<language>en-US</language>
|
17 |
+
<wp:wxr_version>1.2</wp:wxr_version>
|
18 |
+
<wp:base_site_url>https://ocdi.com</wp:base_site_url>
|
19 |
+
<wp:base_blog_url>https://ocdi.com</wp:base_blog_url>
|
20 |
+
|
21 |
+
<generator>https://wordpress.org/?v=5.7</generator>
|
22 |
+
|
23 |
+
<item>
|
24 |
+
<title><![CDATA[Shop]]></title>
|
25 |
+
<link>https://ocdi.com/shop/</link>
|
26 |
+
<pubDate>Fri, 05 Mar 2021 23:02:56 +0000</pubDate>
|
27 |
+
<description></description>
|
28 |
+
<content:encoded><![CDATA[<!-- wp:cover {"url":"https://ocdi.com/wp-content/uploads/2021/03/domenico-loia-hGV2TfOh0ns-unsplash-1-1-scaled-1.jpg","id":2332,"dimRatio":15,"focalPoint":{"x":"0.40","y":"0.26"},"minHeight":375,"minHeightUnit":"px","contentPosition":"center center","align":"wide","className":"is-position-center-center"} -->
|
29 |
+
<div class="wp-block-cover alignwide has-background-dim-20 has-background-dim is-position-center-center" style="min-height:375px"><img class="wp-block-cover__image-background wp-image-2332" alt="" src="https://ocdi.com/wp-content/uploads/2021/03/domenico-loia-hGV2TfOh0ns-unsplash-1-1-scaled-1.jpg" style="object-position:40% 26%" data-object-fit="cover" data-object-position="40% 26%"/><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center"} -->
|
30 |
+
<p class="has-text-align-center">RESOURCES THAT WILL HELP YOU</p>
|
31 |
+
<!-- /wp:paragraph -->
|
32 |
+
|
33 |
+
<!-- wp:paragraph {"align":"center","placeholder":"Write title…","style":{"typography":{"fontSize":74,"lineHeight":"1.1"},"color":{"text":"#fffffa"}}} -->
|
34 |
+
<p class="has-text-align-center has-text-color" style="color:#fffffa;font-size:74px;line-height:1.1"><strong>Make Your Life Easier</strong></p>
|
35 |
+
<!-- /wp:paragraph -->
|
36 |
+
|
37 |
+
<!-- wp:paragraph {"align":"center"} -->
|
38 |
+
<p class="has-text-align-center">Check out our latest tools, products, and services to help you do the things you need to do.</p>
|
39 |
+
<!-- /wp:paragraph --></div></div>
|
40 |
+
<!-- /wp:cover -->
|
41 |
+
|
42 |
+
<!-- wp:spacer -->
|
43 |
+
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
|
44 |
+
<!-- /wp:spacer -->
|
45 |
+
|
46 |
+
<!-- wp:separator -->
|
47 |
+
<hr class="wp-block-separator"/>
|
48 |
+
<!-- /wp:separator -->
|
49 |
+
|
50 |
+
<!-- wp:categories {"displayAsDropdown":true,"showHierarchy":true} /-->
|
51 |
+
|
52 |
+
<!-- wp:gallery {"ids":[2352],"linkTo":"none"} -->
|
53 |
+
<figure class="wp-block-gallery columns-1 is-cropped"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img src="https://ocdi.com/wp-content/uploads/2021/03/bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1-1024x684.jpg" alt="" data-id="2352" data-full-url="https://ocdi.com/wp-content/uploads/2021/03/bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1.jpg" data-link="https://ocdi.com/shop/bench-accounting-c3v88boorom-unsplash-1/" class="wp-image-2352"/><figcaption class="blocks-gallery-item__caption">FREEBIES</figcaption></figure></li></ul></figure>
|
54 |
+
<!-- /wp:gallery -->
|
55 |
+
|
56 |
+
<!-- wp:gallery {"ids":[2347,2346,2344],"linkTo":"none"} -->
|
57 |
+
<figure class="wp-block-gallery columns-3 is-cropped"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img src="https://ocdi.com/wp-content/uploads/2021/03/alexandra-tran-vfLzpWbuweE-unsplash-1-scaled-1-1024x683.jpg" alt="" data-id="2347" data-full-url="https://ocdi.com/wp-content/uploads/2021/03/alexandra-tran-vfLzpWbuweE-unsplash-1-scaled-1.jpg" data-link="https://ocdi.com/shop/alexandra-tran-vflzpwbuwee-unsplash-1/" class="wp-image-2347"/><figcaption class="blocks-gallery-item__caption">PRODUCTS</figcaption></figure></li><li class="blocks-gallery-item"><figure><img src="https://ocdi.com/wp-content/uploads/2021/03/spencer-DXobXpIa9_4-unsplash-2-1-scaled-1-1024x768.jpg" alt="" data-id="2346" data-full-url="https://ocdi.com/wp-content/uploads/2021/03/spencer-DXobXpIa9_4-unsplash-2-1-scaled-1.jpg" data-link="https://ocdi.com/shop/spencer-dxobxpia9_4-unsplash-2-1/" class="wp-image-2346"/><figcaption class="blocks-gallery-item__caption">COURSES</figcaption></figure></li><li class="blocks-gallery-item"><figure><img src="https://ocdi.com/wp-content/uploads/2021/03/alejandro-escamilla-BbQLHCpVUqA-unsplash-2-scaled-1-1024x686.jpg" alt="" data-id="2344" data-full-url="https://ocdi.com/wp-content/uploads/2021/03/alejandro-escamilla-BbQLHCpVUqA-unsplash-2-scaled-1.jpg" data-link="https://ocdi.com/shop/alejandro-escamilla-bbqlhcpvuqa-unsplash-2/" class="wp-image-2344"/><figcaption class="blocks-gallery-item__caption">CONSULTING</figcaption></figure></li></ul></figure>
|
58 |
+
<!-- /wp:gallery -->
|
59 |
+
|
60 |
+
<!-- wp:spacer {"height":27} -->
|
61 |
+
<div style="height:27px" aria-hidden="true" class="wp-block-spacer"></div>
|
62 |
+
<!-- /wp:spacer -->
|
63 |
+
|
64 |
+
<!-- wp:separator -->
|
65 |
+
<hr class="wp-block-separator"/>
|
66 |
+
<!-- /wp:separator -->
|
67 |
+
|
68 |
+
<!-- wp:cover {"url":"https://ocdi.com/wp-content/uploads/2021/03/bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1.jpg","id":2352,"isRepeated":true,"dimRatio":15,"focalPoint":{"x":"0.05","y":"0.71"},"minHeight":375,"minHeightUnit":"px","contentPosition":"center center","align":"wide","className":"is-position-center-center"} -->
|
69 |
+
<div class="wp-block-cover alignwide has-background-dim-20 has-background-dim is-repeated is-position-center-center" style="background-image:url(https://ocdi.com/wp-content/uploads/2021/03/bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1.jpg);min-height:375px"><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title…","style":{"typography":{"fontSize":74,"lineHeight":"1.1"},"color":{"text":"#fffffa"}}} -->
|
70 |
+
<p class="has-text-align-center has-text-color" style="color:#fffffa;font-size:74px;line-height:1.1"><strong>The Reviews Are In</strong></p>
|
71 |
+
<!-- /wp:paragraph --></div></div>
|
72 |
+
<!-- /wp:cover -->
|
73 |
+
|
74 |
+
<!-- wp:spacer {"height":46} -->
|
75 |
+
<div style="height:46px" aria-hidden="true" class="wp-block-spacer"></div>
|
76 |
+
<!-- /wp:spacer -->
|
77 |
+
|
78 |
+
<!-- wp:heading {"textAlign":"center","level":3} -->
|
79 |
+
<h3 class="has-text-align-center" id="h-real-customers-real-results">Real Customers. Real Results.</h3>
|
80 |
+
<!-- /wp:heading -->
|
81 |
+
|
82 |
+
<!-- wp:columns -->
|
83 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
84 |
+
<div class="wp-block-column"><!-- wp:image {"align":"center","id":2354,"sizeSlug":"thumbnail","linkDestination":"none","className":"is-style-rounded"} -->
|
85 |
+
<div class="wp-block-image is-style-rounded"><figure class="aligncenter size-thumbnail"><img src="https://ocdi.com/wp-content/uploads/2021/03/aryo-lahap-ZVc4Zg4TY8s-unsplash-1-150x150.jpg" alt="" class="wp-image-2354"/></figure></div>
|
86 |
+
<!-- /wp:image --></div>
|
87 |
+
<!-- /wp:column -->
|
88 |
+
|
89 |
+
<!-- wp:column -->
|
90 |
+
<div class="wp-block-column"><!-- wp:image {"align":"center","id":2355,"sizeSlug":"thumbnail","linkDestination":"none","className":"is-style-rounded"} -->
|
91 |
+
<div class="wp-block-image is-style-rounded"><figure class="aligncenter size-thumbnail"><img src="https://ocdi.com/wp-content/uploads/2021/03/the-creative-exchange-UhpAf0ySwuk-unsplash-1-1-scaled-1-150x150.jpg" alt="" class="wp-image-2355"/></figure></div>
|
92 |
+
<!-- /wp:image --></div>
|
93 |
+
<!-- /wp:column -->
|
94 |
+
|
95 |
+
<!-- wp:column -->
|
96 |
+
<div class="wp-block-column"><!-- wp:image {"align":"center","id":2356,"sizeSlug":"thumbnail","linkDestination":"none","className":"is-style-rounded"} -->
|
97 |
+
<div class="wp-block-image is-style-rounded"><figure class="aligncenter size-thumbnail"><img src="https://ocdi.com/wp-content/uploads/2021/03/meritt-thomas-aoQ4DYZLE_E-unsplash-1-1-scaled-1-150x150.jpg" alt="" class="wp-image-2356"/></figure></div>
|
98 |
+
<!-- /wp:image --></div>
|
99 |
+
<!-- /wp:column --></div>
|
100 |
+
<!-- /wp:columns -->
|
101 |
+
|
102 |
+
<!-- wp:columns -->
|
103 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
104 |
+
<div class="wp-block-column"><!-- wp:heading {"textAlign":"center","level":3} -->
|
105 |
+
<h3 class="has-text-align-center" id="h-seriously-magic">"Seriously magic."</h3>
|
106 |
+
<!-- /wp:heading -->
|
107 |
+
|
108 |
+
<!-- wp:quote -->
|
109 |
+
<blockquote class="wp-block-quote"><p><strong>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."</strong></p><cite><em>-Marcus Tran</em></cite></blockquote>
|
110 |
+
<!-- /wp:quote --></div>
|
111 |
+
<!-- /wp:column -->
|
112 |
+
|
113 |
+
<!-- wp:column -->
|
114 |
+
<div class="wp-block-column"><!-- wp:heading {"textAlign":"center","level":3} -->
|
115 |
+
<h3 class="has-text-align-center" id="h-my-favorite-tool">"My favorite tool!</h3>
|
116 |
+
<!-- /wp:heading -->
|
117 |
+
|
118 |
+
<!-- wp:quote -->
|
119 |
+
<blockquote class="wp-block-quote"><p><strong>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."</strong></p><cite><em>-Sarah Jackson</em></cite></blockquote>
|
120 |
+
<!-- /wp:quote --></div>
|
121 |
+
<!-- /wp:column -->
|
122 |
+
|
123 |
+
<!-- wp:column -->
|
124 |
+
<div class="wp-block-column"><!-- wp:heading {"textAlign":"center","level":3} -->
|
125 |
+
<h3 class="has-text-align-center" id="h-game-changer">"Game-changer."</h3>
|
126 |
+
<!-- /wp:heading -->
|
127 |
+
|
128 |
+
<!-- wp:quote -->
|
129 |
+
<blockquote class="wp-block-quote"><p><strong>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."</strong></p><cite><em>-Susan Hartley</em></cite></blockquote>
|
130 |
+
<!-- /wp:quote --></div>
|
131 |
+
<!-- /wp:column --></div>
|
132 |
+
<!-- /wp:columns -->
|
133 |
+
|
134 |
+
<!-- wp:heading -->
|
135 |
+
<h2 id="h-"></h2>
|
136 |
+
<!-- /wp:heading -->]]></content:encoded>
|
137 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
138 |
+
<wp:post_date><![CDATA[2021-03-05 18:02:56]]></wp:post_date>
|
139 |
+
<wp:post_date_gmt><![CDATA[2021-03-05 23:02:56]]></wp:post_date_gmt>
|
140 |
+
<wp:post_modified><![CDATA[2021-03-29 14:55:50]]></wp:post_modified>
|
141 |
+
<wp:post_modified_gmt><![CDATA[2021-03-29 14:55:50]]></wp:post_modified_gmt>
|
142 |
+
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
|
143 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
144 |
+
<wp:post_name><![CDATA[shop]]></wp:post_name>
|
145 |
+
<wp:status><![CDATA[publish]]></wp:status>
|
146 |
+
<wp:post_parent>0</wp:post_parent>
|
147 |
+
<wp:menu_order>0</wp:menu_order>
|
148 |
+
<wp:post_type><![CDATA[page]]></wp:post_type>
|
149 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
150 |
+
<wp:is_sticky>0</wp:is_sticky>
|
151 |
+
</item>
|
152 |
+
|
153 |
+
<item>
|
154 |
+
<title><![CDATA[domenico-loia-hGV2TfOh0ns-unsplash-1-1]]></title>
|
155 |
+
<link>https://ocdi.com/shop/domenico-loia-hgv2tfoh0ns-unsplash-1-1/</link>
|
156 |
+
<pubDate>Fri, 05 Mar 2021 18:30:02 +0000</pubDate>
|
157 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/domenico-loia-hGV2TfOh0ns-unsplash-1-1.jpg</guid>
|
158 |
+
<description></description>
|
159 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
160 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
161 |
+
<wp:post_id>2332</wp:post_id>
|
162 |
+
<wp:post_date><![CDATA[2021-03-05 13:30:02]]></wp:post_date>
|
163 |
+
<wp:post_date_gmt><![CDATA[2021-03-05 18:30:02]]></wp:post_date_gmt>
|
164 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:57]]></wp:post_modified>
|
165 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:57]]></wp:post_modified_gmt>
|
166 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
167 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
168 |
+
<wp:post_name><![CDATA[domenico-loia-hgv2tfoh0ns-unsplash-1-1]]></wp:post_name>
|
169 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
170 |
+
<wp:post_parent>2330</wp:post_parent>
|
171 |
+
<wp:menu_order>0</wp:menu_order>
|
172 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
173 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
174 |
+
<wp:is_sticky>0</wp:is_sticky>
|
175 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/domenico-loia-hGV2TfOh0ns-unsplash-1-1-scaled-1.jpg]]></wp:attachment_url>
|
176 |
+
<wp:postmeta>
|
177 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
178 |
+
<wp:meta_value><![CDATA[2021/03/domenico-loia-hGV2TfOh0ns-unsplash-1-1-scaled-1.jpg]]></wp:meta_value>
|
179 |
+
</wp:postmeta>
|
180 |
+
<wp:postmeta>
|
181 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
182 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1707;s:4:"file";s:59:"2021/03/domenico-loia-hGV2TfOh0ns-unsplash-1-1-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:59:"domenico-loia-hGV2TfOh0ns-unsplash-1-1-scaled-1-300x200.jpg";s:5:"width";i:300;s:6:"height";i:200;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:60:"domenico-loia-hGV2TfOh0ns-unsplash-1-1-scaled-1-1024x683.jpg";s:5:"width";i:1024;s:6:"height";i:683;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:59:"domenico-loia-hGV2TfOh0ns-unsplash-1-1-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:59:"domenico-loia-hGV2TfOh0ns-unsplash-1-1-scaled-1-768x512.jpg";s:5:"width";i:768;s:6:"height";i:512;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:61:"domenico-loia-hGV2TfOh0ns-unsplash-1-1-scaled-1-1536x1024.jpg";s:5:"width";i:1536;s:6:"height";i:1024;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:61:"domenico-loia-hGV2TfOh0ns-unsplash-1-1-scaled-1-2048x1366.jpg";s:5:"width";i:2048;s:6:"height";i:1366;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
183 |
+
</wp:postmeta>
|
184 |
+
</item>
|
185 |
+
|
186 |
+
<item>
|
187 |
+
<title><![CDATA[bench-accounting-C3V88BOoRoM-unsplash-1]]></title>
|
188 |
+
<link>https://ocdi.com/shop/bench-accounting-c3v88boorom-unsplash-1/</link>
|
189 |
+
<pubDate>Fri, 05 Mar 2021 19:00:32 +0000</pubDate>
|
190 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/bench-accounting-C3V88BOoRoM-unsplash-1.jpg</guid>
|
191 |
+
<description></description>
|
192 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
193 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
194 |
+
<wp:post_id>2352</wp:post_id>
|
195 |
+
<wp:post_date><![CDATA[2021-03-05 14:00:32]]></wp:post_date>
|
196 |
+
<wp:post_date_gmt><![CDATA[2021-03-05 19:00:32]]></wp:post_date_gmt>
|
197 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:58]]></wp:post_modified>
|
198 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:58]]></wp:post_modified_gmt>
|
199 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
200 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
201 |
+
<wp:post_name><![CDATA[bench-accounting-c3v88boorom-unsplash-1]]></wp:post_name>
|
202 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
203 |
+
<wp:post_parent>2330</wp:post_parent>
|
204 |
+
<wp:menu_order>0</wp:menu_order>
|
205 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
206 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
207 |
+
<wp:is_sticky>0</wp:is_sticky>
|
208 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1.jpg]]></wp:attachment_url>
|
209 |
+
<wp:postmeta>
|
210 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
211 |
+
<wp:meta_value><![CDATA[2021/03/bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1.jpg]]></wp:meta_value>
|
212 |
+
</wp:postmeta>
|
213 |
+
<wp:postmeta>
|
214 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
215 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1710;s:4:"file";s:60:"2021/03/bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:60:"bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1-300x200.jpg";s:5:"width";i:300;s:6:"height";i:200;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:61:"bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1-1024x684.jpg";s:5:"width";i:1024;s:6:"height";i:684;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:60:"bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:60:"bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1-768x513.jpg";s:5:"width";i:768;s:6:"height";i:513;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:62:"bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1-1536x1026.jpg";s:5:"width";i:1536;s:6:"height";i:1026;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:62:"bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1-2048x1368.jpg";s:5:"width";i:2048;s:6:"height";i:1368;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
216 |
+
</wp:postmeta>
|
217 |
+
</item>
|
218 |
+
|
219 |
+
<item>
|
220 |
+
<title><![CDATA[alexandra-tran-vfLzpWbuweE-unsplash-1]]></title>
|
221 |
+
<link>https://ocdi.com/shop/alexandra-tran-vflzpwbuwee-unsplash-1/</link>
|
222 |
+
<pubDate>Fri, 05 Mar 2021 18:50:58 +0000</pubDate>
|
223 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/alexandra-tran-vfLzpWbuweE-unsplash-1.jpg</guid>
|
224 |
+
<description></description>
|
225 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
226 |
+
<excerpt:encoded><![CDATA[PRODUCTS]]></excerpt:encoded>
|
227 |
+
<wp:post_id>2347</wp:post_id>
|
228 |
+
<wp:post_date><![CDATA[2021-03-05 13:50:58]]></wp:post_date>
|
229 |
+
<wp:post_date_gmt><![CDATA[2021-03-05 18:50:58]]></wp:post_date_gmt>
|
230 |
+
<wp:post_modified><![CDATA[2021-03-29 14:53:47]]></wp:post_modified>
|
231 |
+
<wp:post_modified_gmt><![CDATA[2021-03-29 14:53:47]]></wp:post_modified_gmt>
|
232 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
233 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
234 |
+
<wp:post_name><![CDATA[alexandra-tran-vflzpwbuwee-unsplash-1]]></wp:post_name>
|
235 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
236 |
+
<wp:post_parent>2330</wp:post_parent>
|
237 |
+
<wp:menu_order>0</wp:menu_order>
|
238 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
239 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
240 |
+
<wp:is_sticky>0</wp:is_sticky>
|
241 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/alexandra-tran-vfLzpWbuweE-unsplash-1-scaled-1.jpg]]></wp:attachment_url>
|
242 |
+
<wp:postmeta>
|
243 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
244 |
+
<wp:meta_value><![CDATA[2021/03/alexandra-tran-vfLzpWbuweE-unsplash-1-scaled-1.jpg]]></wp:meta_value>
|
245 |
+
</wp:postmeta>
|
246 |
+
<wp:postmeta>
|
247 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
248 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1707;s:4:"file";s:58:"2021/03/alexandra-tran-vfLzpWbuweE-unsplash-1-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:58:"alexandra-tran-vfLzpWbuweE-unsplash-1-scaled-1-300x200.jpg";s:5:"width";i:300;s:6:"height";i:200;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:59:"alexandra-tran-vfLzpWbuweE-unsplash-1-scaled-1-1024x683.jpg";s:5:"width";i:1024;s:6:"height";i:683;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:58:"alexandra-tran-vfLzpWbuweE-unsplash-1-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:58:"alexandra-tran-vfLzpWbuweE-unsplash-1-scaled-1-768x512.jpg";s:5:"width";i:768;s:6:"height";i:512;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:60:"alexandra-tran-vfLzpWbuweE-unsplash-1-scaled-1-1536x1024.jpg";s:5:"width";i:1536;s:6:"height";i:1024;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:60:"alexandra-tran-vfLzpWbuweE-unsplash-1-scaled-1-2048x1366.jpg";s:5:"width";i:2048;s:6:"height";i:1366;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
249 |
+
</wp:postmeta>
|
250 |
+
</item>
|
251 |
+
|
252 |
+
<item>
|
253 |
+
<title><![CDATA[spencer-DXobXpIa9_4-unsplash-2-1]]></title>
|
254 |
+
<link>https://ocdi.com/shop/spencer-dxobxpia9_4-unsplash-2-1/</link>
|
255 |
+
<pubDate>Fri, 05 Mar 2021 18:49:26 +0000</pubDate>
|
256 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/spencer-DXobXpIa9_4-unsplash-2-1.jpg</guid>
|
257 |
+
<description></description>
|
258 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
259 |
+
<excerpt:encoded><![CDATA[COURSES]]></excerpt:encoded>
|
260 |
+
<wp:post_id>2346</wp:post_id>
|
261 |
+
<wp:post_date><![CDATA[2021-03-05 13:49:26]]></wp:post_date>
|
262 |
+
<wp:post_date_gmt><![CDATA[2021-03-05 18:49:26]]></wp:post_date_gmt>
|
263 |
+
<wp:post_modified><![CDATA[2021-03-29 14:53:52]]></wp:post_modified>
|
264 |
+
<wp:post_modified_gmt><![CDATA[2021-03-29 14:53:52]]></wp:post_modified_gmt>
|
265 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
266 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
267 |
+
<wp:post_name><![CDATA[spencer-dxobxpia9_4-unsplash-2-1]]></wp:post_name>
|
268 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
269 |
+
<wp:post_parent>2330</wp:post_parent>
|
270 |
+
<wp:menu_order>0</wp:menu_order>
|
271 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
272 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
273 |
+
<wp:is_sticky>0</wp:is_sticky>
|
274 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/spencer-DXobXpIa9_4-unsplash-2-1-scaled-1.jpg]]></wp:attachment_url>
|
275 |
+
<wp:postmeta>
|
276 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
277 |
+
<wp:meta_value><![CDATA[2021/03/spencer-DXobXpIa9_4-unsplash-2-1-scaled-1.jpg]]></wp:meta_value>
|
278 |
+
</wp:postmeta>
|
279 |
+
<wp:postmeta>
|
280 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
281 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1920;s:4:"file";s:53:"2021/03/spencer-DXobXpIa9_4-unsplash-2-1-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:53:"spencer-DXobXpIa9_4-unsplash-2-1-scaled-1-300x225.jpg";s:5:"width";i:300;s:6:"height";i:225;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:54:"spencer-DXobXpIa9_4-unsplash-2-1-scaled-1-1024x768.jpg";s:5:"width";i:1024;s:6:"height";i:768;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:53:"spencer-DXobXpIa9_4-unsplash-2-1-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:53:"spencer-DXobXpIa9_4-unsplash-2-1-scaled-1-768x576.jpg";s:5:"width";i:768;s:6:"height";i:576;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:55:"spencer-DXobXpIa9_4-unsplash-2-1-scaled-1-1536x1152.jpg";s:5:"width";i:1536;s:6:"height";i:1152;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:55:"spencer-DXobXpIa9_4-unsplash-2-1-scaled-1-2048x1536.jpg";s:5:"width";i:2048;s:6:"height";i:1536;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
282 |
+
</wp:postmeta>
|
283 |
+
</item>
|
284 |
+
|
285 |
+
<item>
|
286 |
+
<title><![CDATA[alejandro-escamilla-BbQLHCpVUqA-unsplash-2]]></title>
|
287 |
+
<link>https://ocdi.com/shop/alejandro-escamilla-bbqlhcpvuqa-unsplash-2/</link>
|
288 |
+
<pubDate>Fri, 05 Mar 2021 18:48:12 +0000</pubDate>
|
289 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/alejandro-escamilla-BbQLHCpVUqA-unsplash-2.jpg</guid>
|
290 |
+
<description></description>
|
291 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
292 |
+
<excerpt:encoded><![CDATA[CONSULTING]]></excerpt:encoded>
|
293 |
+
<wp:post_id>2344</wp:post_id>
|
294 |
+
<wp:post_date><![CDATA[2021-03-05 13:48:12]]></wp:post_date>
|
295 |
+
<wp:post_date_gmt><![CDATA[2021-03-05 18:48:12]]></wp:post_date_gmt>
|
296 |
+
<wp:post_modified><![CDATA[2021-03-29 14:53:57]]></wp:post_modified>
|
297 |
+
<wp:post_modified_gmt><![CDATA[2021-03-29 14:53:57]]></wp:post_modified_gmt>
|
298 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
299 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
300 |
+
<wp:post_name><![CDATA[alejandro-escamilla-bbqlhcpvuqa-unsplash-2]]></wp:post_name>
|
301 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
302 |
+
<wp:post_parent>2330</wp:post_parent>
|
303 |
+
<wp:menu_order>0</wp:menu_order>
|
304 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
305 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
306 |
+
<wp:is_sticky>0</wp:is_sticky>
|
307 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/alejandro-escamilla-BbQLHCpVUqA-unsplash-2-scaled-1.jpg]]></wp:attachment_url>
|
308 |
+
<wp:postmeta>
|
309 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
310 |
+
<wp:meta_value><![CDATA[2021/03/alejandro-escamilla-BbQLHCpVUqA-unsplash-2-scaled-1.jpg]]></wp:meta_value>
|
311 |
+
</wp:postmeta>
|
312 |
+
<wp:postmeta>
|
313 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
314 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1715;s:4:"file";s:63:"2021/03/alejandro-escamilla-BbQLHCpVUqA-unsplash-2-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:63:"alejandro-escamilla-BbQLHCpVUqA-unsplash-2-scaled-1-300x201.jpg";s:5:"width";i:300;s:6:"height";i:201;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:64:"alejandro-escamilla-BbQLHCpVUqA-unsplash-2-scaled-1-1024x686.jpg";s:5:"width";i:1024;s:6:"height";i:686;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:63:"alejandro-escamilla-BbQLHCpVUqA-unsplash-2-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:63:"alejandro-escamilla-BbQLHCpVUqA-unsplash-2-scaled-1-768x515.jpg";s:5:"width";i:768;s:6:"height";i:515;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:65:"alejandro-escamilla-BbQLHCpVUqA-unsplash-2-scaled-1-1536x1029.jpg";s:5:"width";i:1536;s:6:"height";i:1029;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:65:"alejandro-escamilla-BbQLHCpVUqA-unsplash-2-scaled-1-2048x1372.jpg";s:5:"width";i:2048;s:6:"height";i:1372;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
315 |
+
</wp:postmeta>
|
316 |
+
</item>
|
317 |
+
|
318 |
+
<item>
|
319 |
+
<title><![CDATA[bench-accounting-C3V88BOoRoM-unsplash-1]]></title>
|
320 |
+
<link>https://ocdi.com/shop/bench-accounting-c3v88boorom-unsplash-1/</link>
|
321 |
+
<pubDate>Fri, 05 Mar 2021 19:00:32 +0000</pubDate>
|
322 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/bench-accounting-C3V88BOoRoM-unsplash-1.jpg</guid>
|
323 |
+
<description></description>
|
324 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
325 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
326 |
+
<wp:post_id>2352</wp:post_id>
|
327 |
+
<wp:post_date><![CDATA[2021-03-05 14:00:32]]></wp:post_date>
|
328 |
+
<wp:post_date_gmt><![CDATA[2021-03-05 19:00:32]]></wp:post_date_gmt>
|
329 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:58]]></wp:post_modified>
|
330 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:58]]></wp:post_modified_gmt>
|
331 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
332 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
333 |
+
<wp:post_name><![CDATA[bench-accounting-c3v88boorom-unsplash-1]]></wp:post_name>
|
334 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
335 |
+
<wp:post_parent>2330</wp:post_parent>
|
336 |
+
<wp:menu_order>0</wp:menu_order>
|
337 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
338 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
339 |
+
<wp:is_sticky>0</wp:is_sticky>
|
340 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1.jpg]]></wp:attachment_url>
|
341 |
+
<wp:postmeta>
|
342 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
343 |
+
<wp:meta_value><![CDATA[2021/03/bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1.jpg]]></wp:meta_value>
|
344 |
+
</wp:postmeta>
|
345 |
+
<wp:postmeta>
|
346 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
347 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:1710;s:4:"file";s:60:"2021/03/bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:60:"bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1-300x200.jpg";s:5:"width";i:300;s:6:"height";i:200;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:61:"bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1-1024x684.jpg";s:5:"width";i:1024;s:6:"height";i:684;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:60:"bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:60:"bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1-768x513.jpg";s:5:"width";i:768;s:6:"height";i:513;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:62:"bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1-1536x1026.jpg";s:5:"width";i:1536;s:6:"height";i:1026;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:62:"bench-accounting-C3V88BOoRoM-unsplash-1-scaled-1-2048x1368.jpg";s:5:"width";i:2048;s:6:"height";i:1368;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
348 |
+
</wp:postmeta>
|
349 |
+
</item>
|
350 |
+
|
351 |
+
<item>
|
352 |
+
<title><![CDATA[aryo-lahap-ZVc4Zg4TY8s-unsplash-1]]></title>
|
353 |
+
<link>https://ocdi.com/shop/aryo-lahap-zvc4zg4ty8s-unsplash-1/</link>
|
354 |
+
<pubDate>Fri, 05 Mar 2021 19:15:55 +0000</pubDate>
|
355 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/aryo-lahap-ZVc4Zg4TY8s-unsplash-1.jpg</guid>
|
356 |
+
<description></description>
|
357 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
358 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
359 |
+
<wp:post_id>2354</wp:post_id>
|
360 |
+
<wp:post_date><![CDATA[2021-03-05 14:15:55]]></wp:post_date>
|
361 |
+
<wp:post_date_gmt><![CDATA[2021-03-05 19:15:55]]></wp:post_date_gmt>
|
362 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:58]]></wp:post_modified>
|
363 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:58]]></wp:post_modified_gmt>
|
364 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
365 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
366 |
+
<wp:post_name><![CDATA[aryo-lahap-zvc4zg4ty8s-unsplash-1]]></wp:post_name>
|
367 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
368 |
+
<wp:post_parent>2330</wp:post_parent>
|
369 |
+
<wp:menu_order>0</wp:menu_order>
|
370 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
371 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
372 |
+
<wp:is_sticky>0</wp:is_sticky>
|
373 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/aryo-lahap-ZVc4Zg4TY8s-unsplash-1.jpg]]></wp:attachment_url>
|
374 |
+
<wp:postmeta>
|
375 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
376 |
+
<wp:meta_value><![CDATA[2021/03/aryo-lahap-ZVc4Zg4TY8s-unsplash-1.jpg]]></wp:meta_value>
|
377 |
+
</wp:postmeta>
|
378 |
+
<wp:postmeta>
|
379 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
380 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:1798;s:6:"height";i:1798;s:4:"file";s:45:"2021/03/aryo-lahap-ZVc4Zg4TY8s-unsplash-1.jpg";s:5:"sizes";a:5:{s:6:"medium";a:4:{s:4:"file";s:45:"aryo-lahap-ZVc4Zg4TY8s-unsplash-1-300x300.jpg";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:47:"aryo-lahap-ZVc4Zg4TY8s-unsplash-1-1024x1024.jpg";s:5:"width";i:1024;s:6:"height";i:1024;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:45:"aryo-lahap-ZVc4Zg4TY8s-unsplash-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:45:"aryo-lahap-ZVc4Zg4TY8s-unsplash-1-768x768.jpg";s:5:"width";i:768;s:6:"height";i:768;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:47:"aryo-lahap-ZVc4Zg4TY8s-unsplash-1-1536x1536.jpg";s:5:"width";i:1536;s:6:"height";i:1536;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"1";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
381 |
+
</wp:postmeta>
|
382 |
+
</item>
|
383 |
+
|
384 |
+
<item>
|
385 |
+
<title><![CDATA[the-creative-exchange-UhpAf0ySwuk-unsplash-1-1]]></title>
|
386 |
+
<link>https://ocdi.com/shop/the-creative-exchange-uhpaf0yswuk-unsplash-1-1/</link>
|
387 |
+
<pubDate>Fri, 05 Mar 2021 19:17:42 +0000</pubDate>
|
388 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/the-creative-exchange-UhpAf0ySwuk-unsplash-1-1.jpg</guid>
|
389 |
+
<description></description>
|
390 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
391 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
392 |
+
<wp:post_id>2355</wp:post_id>
|
393 |
+
<wp:post_date><![CDATA[2021-03-05 14:17:42]]></wp:post_date>
|
394 |
+
<wp:post_date_gmt><![CDATA[2021-03-05 19:17:42]]></wp:post_date_gmt>
|
395 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:58]]></wp:post_modified>
|
396 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:58]]></wp:post_modified_gmt>
|
397 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
398 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
399 |
+
<wp:post_name><![CDATA[the-creative-exchange-uhpaf0yswuk-unsplash-1-1]]></wp:post_name>
|
400 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
401 |
+
<wp:post_parent>2330</wp:post_parent>
|
402 |
+
<wp:menu_order>0</wp:menu_order>
|
403 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
404 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
405 |
+
<wp:is_sticky>0</wp:is_sticky>
|
406 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/the-creative-exchange-UhpAf0ySwuk-unsplash-1-1-scaled-1.jpg]]></wp:attachment_url>
|
407 |
+
<wp:postmeta>
|
408 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
409 |
+
<wp:meta_value><![CDATA[2021/03/the-creative-exchange-UhpAf0ySwuk-unsplash-1-1-scaled-1.jpg]]></wp:meta_value>
|
410 |
+
</wp:postmeta>
|
411 |
+
<wp:postmeta>
|
412 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
413 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:2560;s:4:"file";s:67:"2021/03/the-creative-exchange-UhpAf0ySwuk-unsplash-1-1-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:67:"the-creative-exchange-UhpAf0ySwuk-unsplash-1-1-scaled-1-300x300.jpg";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:69:"the-creative-exchange-UhpAf0ySwuk-unsplash-1-1-scaled-1-1024x1024.jpg";s:5:"width";i:1024;s:6:"height";i:1024;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:67:"the-creative-exchange-UhpAf0ySwuk-unsplash-1-1-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:67:"the-creative-exchange-UhpAf0ySwuk-unsplash-1-1-scaled-1-768x768.jpg";s:5:"width";i:768;s:6:"height";i:768;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:69:"the-creative-exchange-UhpAf0ySwuk-unsplash-1-1-scaled-1-1536x1536.jpg";s:5:"width";i:1536;s:6:"height";i:1536;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:69:"the-creative-exchange-UhpAf0ySwuk-unsplash-1-1-scaled-1-2048x2048.jpg";s:5:"width";i:2048;s:6:"height";i:2048;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
414 |
+
</wp:postmeta>
|
415 |
+
</item>
|
416 |
+
<item>
|
417 |
+
<title><![CDATA[meritt-thomas-aoQ4DYZLE_E-unsplash-1-1]]></title>
|
418 |
+
<link>https://ocdi.com/shop/meritt-thomas-aoq4dyzle_e-unsplash-1-1/</link>
|
419 |
+
<pubDate>Fri, 05 Mar 2021 19:17:54 +0000</pubDate>
|
420 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/03/meritt-thomas-aoQ4DYZLE_E-unsplash-1-1.jpg</guid>
|
421 |
+
<description></description>
|
422 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
423 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
424 |
+
<wp:post_id>2356</wp:post_id>
|
425 |
+
<wp:post_date><![CDATA[2021-03-05 14:17:54]]></wp:post_date>
|
426 |
+
<wp:post_date_gmt><![CDATA[2021-03-05 19:17:54]]></wp:post_date_gmt>
|
427 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:58]]></wp:post_modified>
|
428 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:58]]></wp:post_modified_gmt>
|
429 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
430 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
431 |
+
<wp:post_name><![CDATA[meritt-thomas-aoq4dyzle_e-unsplash-1-1]]></wp:post_name>
|
432 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
433 |
+
<wp:post_parent>2330</wp:post_parent>
|
434 |
+
<wp:menu_order>0</wp:menu_order>
|
435 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
436 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
437 |
+
<wp:is_sticky>0</wp:is_sticky>
|
438 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/03/meritt-thomas-aoQ4DYZLE_E-unsplash-1-1-scaled-1.jpg]]></wp:attachment_url>
|
439 |
+
<wp:postmeta>
|
440 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
441 |
+
<wp:meta_value><![CDATA[2021/03/meritt-thomas-aoQ4DYZLE_E-unsplash-1-1-scaled-1.jpg]]></wp:meta_value>
|
442 |
+
</wp:postmeta>
|
443 |
+
<wp:postmeta>
|
444 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
445 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2560;s:6:"height";i:2560;s:4:"file";s:59:"2021/03/meritt-thomas-aoQ4DYZLE_E-unsplash-1-1-scaled-1.jpg";s:5:"sizes";a:6:{s:6:"medium";a:4:{s:4:"file";s:59:"meritt-thomas-aoQ4DYZLE_E-unsplash-1-1-scaled-1-300x300.jpg";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:61:"meritt-thomas-aoQ4DYZLE_E-unsplash-1-1-scaled-1-1024x1024.jpg";s:5:"width";i:1024;s:6:"height";i:1024;s:9:"mime-type";s:10:"image/jpeg";}s:9:"thumbnail";a:4:{s:4:"file";s:59:"meritt-thomas-aoQ4DYZLE_E-unsplash-1-1-scaled-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:59:"meritt-thomas-aoQ4DYZLE_E-unsplash-1-1-scaled-1-768x768.jpg";s:5:"width";i:768;s:6:"height";i:768;s:9:"mime-type";s:10:"image/jpeg";}s:9:"1536x1536";a:4:{s:4:"file";s:61:"meritt-thomas-aoQ4DYZLE_E-unsplash-1-1-scaled-1-1536x1536.jpg";s:5:"width";i:1536;s:6:"height";i:1536;s:9:"mime-type";s:10:"image/jpeg";}s:9:"2048x2048";a:4:{s:4:"file";s:61:"meritt-thomas-aoQ4DYZLE_E-unsplash-1-1-scaled-1-2048x2048.jpg";s:5:"width";i:2048;s:6:"height";i:2048;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
446 |
+
</wp:postmeta>
|
447 |
+
</item>
|
448 |
+
|
449 |
+
</channel>
|
450 |
+
</rss>
|
assets/demo-content/testimonials-page.xml
ADDED
@@ -0,0 +1,229 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" ?>
|
2 |
+
<!-- generator="WordPress/5.7" created="2021-03-25 06:41" -->
|
3 |
+
<rss version="2.0"
|
4 |
+
xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
|
5 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
6 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
7 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
8 |
+
xmlns:wp="http://wordpress.org/export/1.2/"
|
9 |
+
>
|
10 |
+
|
11 |
+
<channel>
|
12 |
+
<title>ocdi</title>
|
13 |
+
<link>https://ocdi.com</link>
|
14 |
+
<description>Just another WordPress site</description>
|
15 |
+
<pubDate>Thu, 25 Mar 2021 06:41:21 +0000</pubDate>
|
16 |
+
<language>en-US</language>
|
17 |
+
<wp:wxr_version>1.2</wp:wxr_version>
|
18 |
+
<wp:base_site_url>https://ocdi.com</wp:base_site_url>
|
19 |
+
<wp:base_blog_url>https://ocdi.com</wp:base_blog_url>
|
20 |
+
|
21 |
+
<generator>https://wordpress.org/?v=5.7</generator>
|
22 |
+
|
23 |
+
<item>
|
24 |
+
<title><![CDATA[Testimonials]]></title>
|
25 |
+
<link>https://ocdi.com/testimonials/</link>
|
26 |
+
<pubDate>Fri, 26 Feb 2021 11:05:31 +0000</pubDate>
|
27 |
+
<description></description>
|
28 |
+
<content:encoded><![CDATA[<!-- wp:columns -->
|
29 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
30 |
+
<div class="wp-block-column"><!-- wp:quote {"className":"is-style-large"} -->
|
31 |
+
<blockquote class="wp-block-quote is-style-large"><p>Acme Marketing provided the tools and strategies we needed to build PPC campaigns with great ROI.</p><cite>John Doe, ABC Corp</cite></blockquote>
|
32 |
+
<!-- /wp:quote --></div>
|
33 |
+
<!-- /wp:column -->
|
34 |
+
|
35 |
+
<!-- wp:column {"width":"33%"} -->
|
36 |
+
<div class="wp-block-column" style="flex-basis:33%"><!-- wp:image {"id":2120,"width":200,"height":200,"sizeSlug":"large","linkDestination":"none","className":"is-style-rounded"} -->
|
37 |
+
<figure class="wp-block-image size-large is-resized is-style-rounded"><img src="https://ocdi.com/wp-content/uploads/2021/02/demo-man-3.png" alt="" class="wp-image-2120" width="200" height="200"/></figure>
|
38 |
+
<!-- /wp:image --></div>
|
39 |
+
<!-- /wp:column --></div>
|
40 |
+
<!-- /wp:columns -->
|
41 |
+
|
42 |
+
<!-- wp:columns -->
|
43 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33%"} -->
|
44 |
+
<div class="wp-block-column" style="flex-basis:33%"><!-- wp:image {"id":2126,"sizeSlug":"large","linkDestination":"none","className":"is-style-rounded"} -->
|
45 |
+
<figure class="wp-block-image size-large is-style-rounded"><img src="https://ocdi.com/wp-content/uploads/2021/02/demo-woman-3.png" alt="" class="wp-image-2126"/></figure>
|
46 |
+
<!-- /wp:image --></div>
|
47 |
+
<!-- /wp:column -->
|
48 |
+
|
49 |
+
<!-- wp:column -->
|
50 |
+
<div class="wp-block-column"><!-- wp:quote -->
|
51 |
+
<blockquote class="wp-block-quote"><p>I wouldn't hesitate to recommend Acme for marketing support. Their team of experts have assisted us with everything from keyword research to getting our social media strategy on the right track.</p><cite>Jane Doe, XYZ Interiors</cite></blockquote>
|
52 |
+
<!-- /wp:quote --></div>
|
53 |
+
<!-- /wp:column --></div>
|
54 |
+
<!-- /wp:columns -->
|
55 |
+
|
56 |
+
<!-- wp:columns -->
|
57 |
+
<div class="wp-block-columns"><!-- wp:column -->
|
58 |
+
<div class="wp-block-column"><!-- wp:quote {"className":"is-style-large"} -->
|
59 |
+
<blockquote class="wp-block-quote is-style-large"><p>Our team is free to work on the tasks they do best.</p><cite>Vasu Sameer, AK Consulting</cite></blockquote>
|
60 |
+
<!-- /wp:quote --></div>
|
61 |
+
<!-- /wp:column -->
|
62 |
+
|
63 |
+
<!-- wp:column {"width":"33%"} -->
|
64 |
+
<div class="wp-block-column" style="flex-basis:33%"><!-- wp:image {"id":2127,"sizeSlug":"large","linkDestination":"none","className":"is-style-rounded"} -->
|
65 |
+
<figure class="wp-block-image size-large is-style-rounded"><img src="https://ocdi.com/wp-content/uploads/2021/02/demo-man-4.png" alt="" class="wp-image-2127"/></figure>
|
66 |
+
<!-- /wp:image --></div>
|
67 |
+
<!-- /wp:column --></div>
|
68 |
+
<!-- /wp:columns -->
|
69 |
+
|
70 |
+
<!-- wp:columns -->
|
71 |
+
<div class="wp-block-columns"><!-- wp:column {"width":"33%"} -->
|
72 |
+
<div class="wp-block-column" style="flex-basis:33%"><!-- wp:image {"id":2128,"sizeSlug":"large","linkDestination":"none","className":"is-style-rounded"} -->
|
73 |
+
<figure class="wp-block-image size-large is-style-rounded"><img src="https://ocdi.com/wp-content/uploads/2021/02/demo-woman-2.png" alt="" class="wp-image-2128"/></figure>
|
74 |
+
<!-- /wp:image --></div>
|
75 |
+
<!-- /wp:column -->
|
76 |
+
|
77 |
+
<!-- wp:column -->
|
78 |
+
<div class="wp-block-column"><!-- wp:quote -->
|
79 |
+
<blockquote class="wp-block-quote"><p>From day one, the team at Acme become partners and friends. They immediately got to know the business are driven to help small businesses succeed.</p><cite>Amanda Smith, Awesome Software</cite></blockquote>
|
80 |
+
<!-- /wp:quote --></div>
|
81 |
+
<!-- /wp:column --></div>
|
82 |
+
<!-- /wp:columns -->]]></content:encoded>
|
83 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
84 |
+
<wp:post_date><![CDATA[2021-02-26 06:05:31]]></wp:post_date>
|
85 |
+
<wp:post_date_gmt><![CDATA[2021-02-26 11:05:31]]></wp:post_date_gmt>
|
86 |
+
<wp:post_modified><![CDATA[2021-03-23 08:56:22]]></wp:post_modified>
|
87 |
+
<wp:post_modified_gmt><![CDATA[2021-03-23 08:56:22]]></wp:post_modified_gmt>
|
88 |
+
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
|
89 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
90 |
+
<wp:post_name><![CDATA[testimonials]]></wp:post_name>
|
91 |
+
<wp:status><![CDATA[publish]]></wp:status>
|
92 |
+
<wp:post_parent>0</wp:post_parent>
|
93 |
+
<wp:menu_order>0</wp:menu_order>
|
94 |
+
<wp:post_type><![CDATA[page]]></wp:post_type>
|
95 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
96 |
+
<wp:is_sticky>0</wp:is_sticky>
|
97 |
+
</item>
|
98 |
+
|
99 |
+
<item>
|
100 |
+
<title><![CDATA[demo-man-3]]></title>
|
101 |
+
<link>https://ocdi.com/testimonials/demo-man-3/</link>
|
102 |
+
<pubDate>Tue, 23 Feb 2021 14:36:42 +0000</pubDate>
|
103 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/02/demo-man-3.png</guid>
|
104 |
+
<description></description>
|
105 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
106 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
107 |
+
<wp:post_id>2120</wp:post_id>
|
108 |
+
<wp:post_date><![CDATA[2021-02-23 09:36:42]]></wp:post_date>
|
109 |
+
<wp:post_date_gmt><![CDATA[2021-02-23 14:36:42]]></wp:post_date_gmt>
|
110 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:55]]></wp:post_modified>
|
111 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:55]]></wp:post_modified_gmt>
|
112 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
113 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
114 |
+
<wp:post_name><![CDATA[demo-man-3]]></wp:post_name>
|
115 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
116 |
+
<wp:post_parent>2119</wp:post_parent>
|
117 |
+
<wp:menu_order>0</wp:menu_order>
|
118 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
119 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
120 |
+
<wp:is_sticky>0</wp:is_sticky>
|
121 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/02/demo-man-3.png]]></wp:attachment_url>
|
122 |
+
<wp:postmeta>
|
123 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
124 |
+
<wp:meta_value><![CDATA[2021/02/demo-man-3.png]]></wp:meta_value>
|
125 |
+
</wp:postmeta>
|
126 |
+
<wp:postmeta>
|
127 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
128 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:800;s:6:"height";i:800;s:4:"file";s:22:"2021/02/demo-man-3.png";s:5:"sizes";a:3:{s:6:"medium";a:4:{s:4:"file";s:22:"demo-man-3-300x300.png";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:9:"image/png";}s:9:"thumbnail";a:4:{s:4:"file";s:22:"demo-man-3-150x150.png";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/png";}s:12:"medium_large";a:4:{s:4:"file";s:22:"demo-man-3-768x768.png";s:5:"width";i:768;s:6:"height";i:768;s:9:"mime-type";s:9:"image/png";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
129 |
+
</wp:postmeta>
|
130 |
+
</item>
|
131 |
+
<item>
|
132 |
+
<title><![CDATA[demo-woman-3]]></title>
|
133 |
+
<link>https://ocdi.com/testimonials/demo-woman-3/</link>
|
134 |
+
<pubDate>Tue, 23 Feb 2021 15:12:59 +0000</pubDate>
|
135 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/02/demo-woman-3.png</guid>
|
136 |
+
<description></description>
|
137 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
138 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
139 |
+
<wp:post_id>2126</wp:post_id>
|
140 |
+
<wp:post_date><![CDATA[2021-02-23 10:12:59]]></wp:post_date>
|
141 |
+
<wp:post_date_gmt><![CDATA[2021-02-23 15:12:59]]></wp:post_date_gmt>
|
142 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:55]]></wp:post_modified>
|
143 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:55]]></wp:post_modified_gmt>
|
144 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
145 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
146 |
+
<wp:post_name><![CDATA[demo-woman-3]]></wp:post_name>
|
147 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
148 |
+
<wp:post_parent>2119</wp:post_parent>
|
149 |
+
<wp:menu_order>0</wp:menu_order>
|
150 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
151 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
152 |
+
<wp:is_sticky>0</wp:is_sticky>
|
153 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/02/demo-woman-3.png]]></wp:attachment_url>
|
154 |
+
<wp:postmeta>
|
155 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
156 |
+
<wp:meta_value><![CDATA[2021/02/demo-woman-3.png]]></wp:meta_value>
|
157 |
+
</wp:postmeta>
|
158 |
+
<wp:postmeta>
|
159 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
160 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:800;s:6:"height";i:800;s:4:"file";s:24:"2021/02/demo-woman-3.png";s:5:"sizes";a:3:{s:6:"medium";a:4:{s:4:"file";s:24:"demo-woman-3-300x300.png";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:9:"image/png";}s:9:"thumbnail";a:4:{s:4:"file";s:24:"demo-woman-3-150x150.png";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/png";}s:12:"medium_large";a:4:{s:4:"file";s:24:"demo-woman-3-768x768.png";s:5:"width";i:768;s:6:"height";i:768;s:9:"mime-type";s:9:"image/png";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
161 |
+
</wp:postmeta>
|
162 |
+
</item>
|
163 |
+
<item>
|
164 |
+
<title><![CDATA[demo-man-4]]></title>
|
165 |
+
<link>https://ocdi.com/testimonials/demo-man-4/</link>
|
166 |
+
<pubDate>Tue, 23 Feb 2021 15:15:38 +0000</pubDate>
|
167 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/02/demo-man-4.png</guid>
|
168 |
+
<description></description>
|
169 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
170 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
171 |
+
<wp:post_id>2127</wp:post_id>
|
172 |
+
<wp:post_date><![CDATA[2021-02-23 10:15:38]]></wp:post_date>
|
173 |
+
<wp:post_date_gmt><![CDATA[2021-02-23 15:15:38]]></wp:post_date_gmt>
|
174 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:55]]></wp:post_modified>
|
175 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:55]]></wp:post_modified_gmt>
|
176 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
177 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
178 |
+
<wp:post_name><![CDATA[demo-man-4]]></wp:post_name>
|
179 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
180 |
+
<wp:post_parent>2119</wp:post_parent>
|
181 |
+
<wp:menu_order>0</wp:menu_order>
|
182 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
183 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
184 |
+
<wp:is_sticky>0</wp:is_sticky>
|
185 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/02/demo-man-4.png]]></wp:attachment_url>
|
186 |
+
<wp:postmeta>
|
187 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
188 |
+
<wp:meta_value><![CDATA[2021/02/demo-man-4.png]]></wp:meta_value>
|
189 |
+
</wp:postmeta>
|
190 |
+
<wp:postmeta>
|
191 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
192 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:800;s:6:"height";i:800;s:4:"file";s:22:"2021/02/demo-man-4.png";s:5:"sizes";a:3:{s:6:"medium";a:4:{s:4:"file";s:22:"demo-man-4-300x300.png";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:9:"image/png";}s:9:"thumbnail";a:4:{s:4:"file";s:22:"demo-man-4-150x150.png";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/png";}s:12:"medium_large";a:4:{s:4:"file";s:22:"demo-man-4-768x768.png";s:5:"width";i:768;s:6:"height";i:768;s:9:"mime-type";s:9:"image/png";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
193 |
+
</wp:postmeta>
|
194 |
+
</item>
|
195 |
+
<item>
|
196 |
+
<title><![CDATA[demo-woman-2]]></title>
|
197 |
+
<link>https://ocdi.com/testimonials/demo-woman-2/</link>
|
198 |
+
<pubDate>Tue, 23 Feb 2021 15:20:28 +0000</pubDate>
|
199 |
+
<guid isPermaLink="false">https://ocdi.com/wp-content/uploads/2021/02/demo-woman-2.png</guid>
|
200 |
+
<description></description>
|
201 |
+
<content:encoded><![CDATA[]]></content:encoded>
|
202 |
+
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
|
203 |
+
<wp:post_id>2128</wp:post_id>
|
204 |
+
<wp:post_date><![CDATA[2021-02-23 10:20:28]]></wp:post_date>
|
205 |
+
<wp:post_date_gmt><![CDATA[2021-02-23 15:20:28]]></wp:post_date_gmt>
|
206 |
+
<wp:post_modified><![CDATA[2021-03-22 15:36:55]]></wp:post_modified>
|
207 |
+
<wp:post_modified_gmt><![CDATA[2021-03-22 15:36:55]]></wp:post_modified_gmt>
|
208 |
+
<wp:comment_status><![CDATA[open]]></wp:comment_status>
|
209 |
+
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
|
210 |
+
<wp:post_name><![CDATA[demo-woman-2]]></wp:post_name>
|
211 |
+
<wp:status><![CDATA[inherit]]></wp:status>
|
212 |
+
<wp:post_parent>2119</wp:post_parent>
|
213 |
+
<wp:menu_order>0</wp:menu_order>
|
214 |
+
<wp:post_type><![CDATA[attachment]]></wp:post_type>
|
215 |
+
<wp:post_password><![CDATA[]]></wp:post_password>
|
216 |
+
<wp:is_sticky>0</wp:is_sticky>
|
217 |
+
<wp:attachment_url><![CDATA[https://ocdi.com/wp-content/uploads/2021/02/demo-woman-2.png]]></wp:attachment_url>
|
218 |
+
<wp:postmeta>
|
219 |
+
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
|
220 |
+
<wp:meta_value><![CDATA[2021/02/demo-woman-2.png]]></wp:meta_value>
|
221 |
+
</wp:postmeta>
|
222 |
+
<wp:postmeta>
|
223 |
+
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
|
224 |
+
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:800;s:6:"height";i:800;s:4:"file";s:24:"2021/02/demo-woman-2.png";s:5:"sizes";a:3:{s:6:"medium";a:4:{s:4:"file";s:24:"demo-woman-2-300x300.png";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:9:"image/png";}s:9:"thumbnail";a:4:{s:4:"file";s:24:"demo-woman-2-150x150.png";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/png";}s:12:"medium_large";a:4:{s:4:"file";s:24:"demo-woman-2-768x768.png";s:5:"width";i:768;s:6:"height";i:768;s:9:"mime-type";s:9:"image/png";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
|
225 |
+
</wp:postmeta>
|
226 |
+
</item>
|
227 |
+
|
228 |
+
</channel>
|
229 |
+
</rss>
|
assets/images/error.svg
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
<svg width="124" height="124" viewBox="0 0 124 124" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<path d="M62 0C27.75 0 0 27.75 0 62C0 96.25 27.75 124 62 124C96.25 124 124 96.25 124 62C124 27.75 96.25 0 62 0ZM116 62C116 91.75 91.75 116 62 116C32.25 116 8 92 8 62C8 32.5 32 8 62 8C91.5 8 116 32.25 116 62Z" fill="#DB3232"/>
|
3 |
+
<path d="M73.7413 61.9128L92.5639 43.2645L92.5705 43.258C94.4765 41.3519 94.4765 38.0231 92.5705 36.117L87.883 31.4295C85.9769 29.5235 82.6481 29.5235 80.742 31.4295L80.742 31.4295L80.7355 31.4361L62.0872 50.2587L43.258 31.4295C41.3519 29.5235 38.0231 29.5235 36.117 31.4295L31.4295 36.117C29.5235 38.0231 29.5235 41.3519 31.4295 43.258L31.4295 43.258L31.4361 43.2645L50.2587 61.9128L31.4295 80.742C29.5235 82.6481 29.5235 85.9769 31.4295 87.883L36.117 92.5705C38.0231 94.4765 41.3519 94.4765 43.258 92.5705L62.0872 73.7413L80.7355 92.5639L80.742 92.5705C82.6481 94.4765 85.9769 94.4765 87.883 92.5705L92.5705 87.883C94.4765 85.9769 94.4765 82.6481 92.5705 80.742L73.7413 61.9128Z" fill="#DB3232" stroke="white" stroke-width="4"/>
|
4 |
+
</svg>
|
assets/images/icons/brush.svg
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<svg width="55" height="52" viewBox="0 0 55 52" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<path d="M54.125 5.375C54.2083 5.125 54.25 4.91667 54.25 4.75C54.3333 4.08333 54.3333 3.5 54.25 3C54.0833 2.25 53.7083 1.625 53.125 1.125C52.4583 0.375 51.625 0.0416667 50.625 0.125C50.0417 0.125 49.5833 0.166667 49.25 0.25C48.3333 0.75 46.375 1.95833 43.375 3.875C39.7083 6.20833 36.375 8.5 33.375 10.75C29.4583 13.6667 26.5833 16.125 24.75 18.125C23.75 19.2083 22.7917 20.75 21.875 22.75C20.9583 24.9167 20.375 26.9167 20.125 28.75C19.875 30.9167 20.2083 32.5 21.125 33.5C22.125 34.5 23.7083 34.9167 25.875 34.75C27.7917 34.5833 29.7917 34.0417 31.875 33.125C34.0417 32.2083 35.5833 31.2917 36.5 30.375C38.5 28.375 40.9583 25.375 43.875 21.375C46.125 18.2917 48.375 14.9167 50.625 11.25C52.5417 8.25 53.7083 6.29167 54.125 5.375ZM0 50.5C1.83333 49.3333 3.25 47.9167 4.25 46.25C4.83333 45.3333 5.45833 43.9167 6.125 42C6.625 40.5 7.08333 39.375 7.5 38.625C8.25 37.4583 9.20833 36.4583 10.375 35.625C11.875 34.5417 13.5417 34.0833 15.375 34.25C17.2083 34.3333 18.7917 35.0833 20.125 36.5C20.875 37.25 21.375 38.3333 21.625 39.75C21.875 41.1667 21.8333 42.625 21.5 44.125C21.25 45.5417 20.625 46.7083 19.625 47.625C17.2917 49.875 14.25 51.2083 10.5 51.625C7.16667 51.9583 3.66667 51.5833 0 50.5Z" fill="#999999"/>
|
3 |
+
</svg>
|
assets/images/icons/check-solid-white.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check" class="svg-inline--fa fa-check fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#ffffff" d="M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"></path></svg>
|
assets/images/icons/content.svg
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<svg width="53" height="53" viewBox="0 0 53 53" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<path d="M6.75 11H0.375V52.625H32.375V46.25H6.75V11ZM51.25 5.875L47.125 1.75C46.4583 1.08333 45.625 0.708333 44.625 0.625C43.625 0.541667 42.75 0.791667 42 1.375L38.75 4.625H10V43H38.75V23.75L51.625 11C52.2083 10.25 52.4583 9.375 52.375 8.375C52.2917 7.375 51.9167 6.54167 51.25 5.875ZM33 25.125L25 28L27.875 20L42 5.875L47.125 11L33 25.125Z" fill="#999999"/>
|
3 |
+
</svg>
|
assets/images/icons/copy.svg
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<svg width="42" height="52" viewBox="0 0 42 52" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<path d="M9.75 42V0.375H41.75V42H9.75ZM6.5 45.25H32.125V51.625H0.125V10H6.5V45.25Z" fill="#999999"/>
|
3 |
+
</svg>
|
assets/images/icons/info-circle.svg
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<path d="M8 1.25C11.6875 1.25 14.75 4.28125 14.75 8C14.75 11.75 11.7188 14.75 8 14.75C4.25 14.75 1.25 11.75 1.25 8C1.25 4.28125 4.25 1.25 8 1.25ZM8 0.25C3.71875 0.25 0.25 3.75 0.25 8C0.25 12.2812 3.71875 15.75 8 15.75C12.25 15.75 15.75 12.2812 15.75 8C15.75 3.75 12.25 0.25 8 0.25ZM6.875 11C6.65625 11 6.5 11.1875 6.5 11.375V11.625C6.5 11.8438 6.65625 12 6.875 12H9.125C9.3125 12 9.5 11.8438 9.5 11.625V11.375C9.5 11.1875 9.3125 11 9.125 11H8.75V6.625C8.75 6.4375 8.5625 6.25 8.375 6.25H6.875C6.65625 6.25 6.5 6.4375 6.5 6.625V6.875C6.5 7.09375 6.65625 7.25 6.875 7.25H7.25V11H6.875ZM8 3.5C7.4375 3.5 7 3.96875 7 4.5C7 5.0625 7.4375 5.5 8 5.5C8.53125 5.5 9 5.0625 9 4.5C9 3.96875 8.53125 3.5 8 3.5Z" fill="#999999"/>
|
3 |
+
</svg>
|
assets/images/icons/layout.svg
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<svg width="53" height="52" viewBox="0 0 53 52" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<path d="M0.875 0.375H16.875V35.625H0.875V0.375ZM20.125 0.375H36.125V16.375H20.125V0.375ZM39.25 0.375H52.125V51.625H39.25V0.375ZM20.125 19.625H36.125V35.625H20.125V19.625ZM0.875 38.75H36.125V51.625H0.875V38.75Z" fill="#999999"/>
|
3 |
+
</svg>
|
assets/images/icons/lock.svg
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<svg width="14" height="17" viewBox="0 0 14 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<path d="M11.9375 7.375H11.7812V5.90625C11.7812 3.36058 9.67067 1.25 7.125 1.25C4.54985 1.25 2.46875 3.36272 2.46875 5.90625V7.375H2.3125C1.29132 7.375 0.5 8.20723 0.5 9.1875V14.4375C0.5 15.4519 1.29808 16.25 2.3125 16.25H11.9375C12.9178 16.25 13.75 15.4587 13.75 14.4375V9.1875C13.75 8.20042 12.9246 7.375 11.9375 7.375ZM5.65625 7.375V5.90625C5.65625 5.11146 6.31189 4.4375 7.125 4.4375C7.91526 4.4375 8.59375 5.11599 8.59375 5.90625V7.375H5.65625Z" fill="#23282D" stroke="white"/>
|
3 |
+
</svg>
|
assets/images/icons/long-arrow-alt-left-blue.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="long-arrow-alt-left" class="svg-inline--fa fa-long-arrow-alt-left fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="#0071A1" d="M107.515 150.971L8.485 250c-4.686 4.686-4.686 12.284 0 16.971L107.515 366c7.56 7.56 20.485 2.206 20.485-8.485v-71.03h308c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H128v-71.03c0-10.69-12.926-16.044-20.485-8.484z"></path></svg>
|
assets/images/icons/plugins.svg
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<svg width="65" height="64" viewBox="0 0 65 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<path d="M44 16.375L34.125 26.25L39.875 32L49.75 22.125C50.25 21.625 50.4167 20.9167 50.25 20C50.0833 19 49.5833 18.125 48.75 17.375C48 16.5417 47.1667 16.0417 46.25 15.875C45.4167 15.7083 44.6667 15.875 44 16.375ZM45 1C44.0833 0.416667 38.5833 4.125 28.5 12.125C23.4167 16.125 18.4583 20.2083 13.625 24.375L10.625 22.625C8.375 21.375 6.45833 20.4167 4.875 19.75C2.625 18.75 1.29167 18.4583 0.875 18.875C0.208333 19.375 2.125 22.2083 6.625 27.375C8.875 29.9583 11.2083 32.4583 13.625 34.875L22.25 26.25C28.75 19.75 33.9583 14.375 37.875 10.125C43.2917 4.29167 45.6667 1.25 45 1ZM62.625 30.75C61.7917 29.9167 60.875 29.4167 59.875 29.25C58.9583 29.0833 58.25 29.25 57.75 29.75L47.875 39.625L53.625 45.5L63.5 35.25C64 34.9167 64.1667 34.2917 64 33.375C63.8333 32.375 63.375 31.5 62.625 30.75ZM25.125 27.5C24.125 28.5833 23.25 30.4583 22.5 33.125C21.9167 35.4583 21.625 37.625 21.625 39.625V51.875L17.75 55.625C16.8333 56.625 16.375 57.7917 16.375 59.125C16.375 60.375 16.8333 61.5 17.75 62.5C18.75 63.4167 19.875 63.875 21.125 63.875C22.375 63.875 23.5 63.375 24.5 62.375L28.375 58.5H40.5C42.5833 58.5 44.75 58.2083 47 57.625C49.5 56.9583 51.2917 56.0833 52.375 55L56.125 52.5L27.75 24L25.125 27.5Z" fill="#999999"/>
|
3 |
+
</svg>
|
assets/images/icons/question-circle.svg
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<path d="M10 12.9688C9.375 12.9688 8.90625 13.4766 8.90625 14.0625C8.90625 14.6875 9.375 15.1562 10 15.1562C10.5859 15.1562 11.0938 14.6875 11.0938 14.0625C11.0938 13.4766 10.5859 12.9688 10 12.9688ZM10.2734 12.0312C10.5469 12.0312 10.7422 11.8359 10.7422 11.5625C10.7422 9.88281 13.7891 10 13.7891 7.38281C13.7891 5.39062 11.9922 4.21875 9.96094 4.21875C8.20312 4.21875 7.22656 4.92188 6.40625 5.97656C6.25 6.21094 6.28906 6.48438 6.52344 6.64062L7.03125 7.03125C7.22656 7.14844 7.5 7.10938 7.65625 6.91406C8.24219 6.17188 8.82812 5.78125 9.96094 5.78125C11.5234 5.78125 12.2266 6.60156 12.2266 7.38281C12.2266 9.0625 9.17969 8.82812 9.17969 11.5625C9.17969 11.8359 9.41406 12.0312 9.64844 12.0312H10.2734ZM10 1.25C14.6094 1.25 18.4375 5.03906 18.4375 9.6875C18.4375 14.375 14.6484 18.125 10 18.125C5.3125 18.125 1.5625 14.375 1.5625 9.6875C1.5625 5.03906 5.3125 1.25 10 1.25ZM10 0C4.64844 0 0.3125 4.375 0.3125 9.6875C0.3125 15.0391 4.64844 19.375 10 19.375C15.3125 19.375 19.6875 15.0391 19.6875 9.6875C19.6875 4.375 15.3125 0 10 0Z" fill="#666666"/>
|
3 |
+
</svg>
|
assets/images/icons/redux.svg
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
<svg width="82" height="70" viewBox="0 0 82 70" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<path d="M44.5075 59H34.2891L31.6521 54.5103L37.8241 47.6337L44.5075 59ZM29.1743 54.2489L24.9119 59H13L24.3891 46.1106L29.1743 54.2489Z" fill="#999999"/>
|
3 |
+
<path d="M30.584 52.6803L13.9551 24.4123H24.162L31.9139 37.5858L55.4194 11H68.0133L30.584 52.6803Z" fill="#999999"/>
|
4 |
+
</svg>
|
assets/images/icons/star.svg
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<svg width="11" height="10" viewBox="0 0 11 10" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<path d="M5.23262 0.344145L4.017 2.9408L1.26782 3.3508C0.781568 3.4289 0.594549 4.05366 0.949886 4.42461L2.91359 6.43556L2.44604 9.2665C2.37123 9.77412 2.89488 10.1646 3.32503 9.93031L5.77498 8.58317L8.20622 9.93031C8.63637 10.1646 9.16002 9.77412 9.08521 9.2665L8.61766 6.43556L10.5814 4.42461C10.9367 4.05366 10.7497 3.4289 10.2634 3.3508L7.53295 2.9408L6.29863 0.344145C6.09291 -0.104901 5.45704 -0.124425 5.23262 0.344145Z" fill="white"/>
|
3 |
+
</svg>
|
assets/images/icons/widgets.svg
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<svg width="56" height="49" viewBox="0 0 56 49" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<path d="M55.25 45.25V3.625C55.25 2.70833 54.9167 1.95833 54.25 1.375C53.6667 0.708333 52.9583 0.375 52.125 0.375H4.125C3.20833 0.375 2.41667 0.708333 1.75 1.375C1.16667 1.95833 0.875 2.70833 0.875 3.625V45.25C0.875 46.0833 1.16667 46.8333 1.75 47.5C2.41667 48.0833 3.20833 48.375 4.125 48.375H52.125C52.9583 48.375 53.6667 48.0833 54.25 47.5C54.9167 46.8333 55.25 46.0833 55.25 45.25ZM7.25 6.75H48.875V19.625H7.25V6.75ZM10.5 10V16.375H20.125V10H10.5ZM23.25 10V16.375H32.875V10H23.25ZM36.125 10V16.375H45.75V10H36.125ZM8.875 26C9.375 26 9.75 26.1667 10 26.5C10.3333 26.75 10.5 27.125 10.5 27.625C10.5 28.0417 10.3333 28.4167 10 28.75C9.75 29.0833 9.375 29.25 8.875 29.25C8.45833 29.25 8.08333 29.0833 7.75 28.75C7.41667 28.4167 7.25 28.0417 7.25 27.625C7.25 27.125 7.41667 26.75 7.75 26.5C8.08333 26.1667 8.45833 26 8.875 26ZM13.75 26H26.5V29.25H13.75V26ZM32.875 26H48.875V42H32.875V26ZM8.875 32.375C9.375 32.375 9.75 32.5417 10 32.875C10.3333 33.2083 10.5 33.5833 10.5 34C10.5 34.4167 10.3333 34.7917 10 35.125C9.75 35.4583 9.375 35.625 8.875 35.625C8.45833 35.625 8.08333 35.4583 7.75 35.125C7.41667 34.7917 7.25 34.4167 7.25 34C7.25 33.5833 7.41667 33.2083 7.75 32.875C8.08333 32.5417 8.45833 32.375 8.875 32.375ZM13.75 32.375H26.5V35.625H13.75V32.375ZM36.125 32.375V38.75H45.75V32.375H36.125ZM8.875 38.75C9.375 38.75 9.75 38.9167 10 39.25C10.3333 39.5833 10.5 40 10.5 40.5C10.5 40.9167 10.3333 41.2917 10 41.625C9.75 41.875 9.375 42 8.875 42C8.45833 42 8.08333 41.875 7.75 41.625C7.41667 41.2917 7.25 40.9167 7.25 40.5C7.25 40 7.41667 39.5833 7.75 39.25C8.08333 38.9167 8.45833 38.75 8.875 38.75ZM13.75 38.75H26.5V42H13.75V38.75Z" fill="#999999"/>
|
3 |
+
</svg>
|
assets/images/importing.svg
ADDED
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="415" height="228" viewBox="0 0 415 228">
|
2 |
+
<defs>
|
3 |
+
<radialGradient id="radial-gradient" cx="0.5" cy="0.5" r="0.5" gradientUnits="objectBoundingBox">
|
4 |
+
<stop offset="0" stop-color="#ddd"/>
|
5 |
+
<stop offset="1" stop-color="#fff"/>
|
6 |
+
</radialGradient>
|
7 |
+
</defs>
|
8 |
+
<g id="process" transform="translate(-492 -434)">
|
9 |
+
<g id="circles">
|
10 |
+
<g id="Ellipse_9" data-name="Ellipse 9" transform="translate(574 527)" fill="#fff" stroke="#777" stroke-width="3" opacity="0.15">
|
11 |
+
<circle cx="8" cy="8" r="8" stroke="none"/>
|
12 |
+
<circle cx="8" cy="8" r="6.5" fill="none"/>
|
13 |
+
<animate attributeName="opacity" values="0;0.25;0" dur="1s" repeatCount="indefinite"/>
|
14 |
+
</g>
|
15 |
+
<g id="Ellipse_13" data-name="Ellipse 13" transform="translate(895 567)" fill="#fff" stroke="#777" stroke-width="2" opacity="0.3">
|
16 |
+
<circle cx="6" cy="6" r="6" stroke="none"/>
|
17 |
+
<circle cx="6" cy="6" r="5" fill="none"/>
|
18 |
+
<animate attributeName="opacity" values="0;0.6;0" dur="1.3s" repeatCount="indefinite"/>
|
19 |
+
</g>
|
20 |
+
<g id="Ellipse_14" data-name="Ellipse 14" transform="translate(592 440)" fill="#fff" stroke="#777" stroke-width="2" opacity="0.15">
|
21 |
+
<circle cx="6" cy="6" r="6" stroke="none"/>
|
22 |
+
<circle cx="6" cy="6" r="5" fill="none"/>
|
23 |
+
<animate attributeName="opacity" values="0;0.25;0" dur="1.6s" repeatCount="indefinite"/>
|
24 |
+
</g>
|
25 |
+
<g id="Ellipse_10" data-name="Ellipse 10" transform="translate(845 460)" fill="#fff" stroke="#777" stroke-width="3" opacity="0.3">
|
26 |
+
<circle cx="8" cy="8" r="8" stroke="none"/>
|
27 |
+
<circle cx="8" cy="8" r="6.5" fill="none"/>
|
28 |
+
<animate attributeName="opacity" values="0;0.6;0" dur="1.9s" repeatCount="indefinite"/>
|
29 |
+
</g>
|
30 |
+
<g id="Ellipse_11" data-name="Ellipse 11" transform="translate(824 618)" fill="#fff" stroke="#777" stroke-width="1" opacity="0.15">
|
31 |
+
<circle cx="4" cy="4" r="4" stroke="none"/>
|
32 |
+
<circle cx="4" cy="4" r="3.5" fill="none"/>
|
33 |
+
<animate attributeName="opacity" values="0;0.25;0" dur="2.2s" repeatCount="indefinite"/>
|
34 |
+
</g>
|
35 |
+
<g id="Ellipse_16" data-name="Ellipse 16" transform="translate(492 517)" fill="#fff" stroke="#777" stroke-width="1" opacity="0.3">
|
36 |
+
<circle cx="4" cy="4" r="4" stroke="none"/>
|
37 |
+
<circle cx="4" cy="4" r="3.5" fill="none"/>
|
38 |
+
<animate attributeName="opacity" values="0;0.6;0" dur="2.5s" repeatCount="indefinite"/>
|
39 |
+
</g>
|
40 |
+
<g id="Ellipse_15" data-name="Ellipse 15" transform="translate(719 434)" fill="#fff" stroke="#777" stroke-width="1" opacity="0.15">
|
41 |
+
<circle cx="4" cy="4" r="4" stroke="none"/>
|
42 |
+
<circle cx="4" cy="4" r="3.5" fill="none"/>
|
43 |
+
<animate attributeName="opacity" values="0;0.25;0" dur="2.8s" repeatCount="indefinite"/>
|
44 |
+
</g>
|
45 |
+
<g id="Ellipse_12" data-name="Ellipse 12" transform="translate(521 452)" fill="#fff" stroke="#777" stroke-width="1" opacity="0.3">
|
46 |
+
<circle cx="4" cy="4" r="4" stroke="none"/>
|
47 |
+
<circle cx="4" cy="4" r="3.5" fill="none"/>
|
48 |
+
<animate attributeName="opacity" values="0;0.6;0" dur="3.1s" repeatCount="indefinite"/>
|
49 |
+
</g>
|
50 |
+
</g>
|
51 |
+
<g id="stars">
|
52 |
+
<path id="Path_510" data-name="Path 510" d="M7.5-8.641,2.937-9.306.9-13.444a1,1,0,0,0-1.794,0L-2.938-9.306-7.5-8.641a1,1,0,0,0-.553,1.706l3.3,3.219L-5.534.831a1,1,0,0,0,1.45,1.053L0-.263,4.084,1.884A1,1,0,0,0,5.534.831L4.753-3.716l3.3-3.219A1,1,0,0,0,7.5-8.641Zm-4.359,4.4L3.884.084,0-1.956-3.884.084l.741-4.325L-6.288-7.3l4.344-.631L0-11.872,1.944-7.934,6.287-7.3Z" transform="matrix(0.966, 0.259, -0.259, 0.966, 826.447, 540.796)" fill="#777" opacity="0.3"><animate attributeName="opacity" values="0;0.6;0" dur="1.5s" repeatCount="indefinite"/></path>
|
53 |
+
<path id="Path_509" data-name="Path 509" d="M7.5-8.641,2.937-9.306.9-13.444a1,1,0,0,0-1.794,0L-2.938-9.306-7.5-8.641a1,1,0,0,0-.553,1.706l3.3,3.219L-5.534.831a1,1,0,0,0,1.45,1.053L0-.263,4.084,1.884A1,1,0,0,0,5.534.831L4.753-3.716l3.3-3.219A1,1,0,0,0,7.5-8.641Zm-4.359,4.4L3.884.084,0-1.956-3.884.084l.741-4.325L-6.288-7.3l4.344-.631L0-11.872,1.944-7.934,6.287-7.3Z" transform="matrix(0.966, -0.259, 0.259, 0.966, 672.553, 471.795)" fill="#777" opacity="0.5"><animate attributeName="opacity" values="0;0.4;0" dur="1.7s" repeatCount="indefinite"/></path>
|
54 |
+
<path id="Path_508" data-name="Path 508" d="M7.5-8.641,2.937-9.306.9-13.444a1,1,0,0,0-1.794,0L-2.938-9.306-7.5-8.641a1,1,0,0,0-.553,1.706l3.3,3.219L-5.534.831a1,1,0,0,0,1.45,1.053L0-.263,4.084,1.884A1,1,0,0,0,5.534.831L4.753-3.716l3.3-3.219A1,1,0,0,0,7.5-8.641Zm-4.359,4.4L3.884.084,0-1.956-3.884.084l.741-4.325L-6.288-7.3l4.344-.631L0-11.872,1.944-7.934,6.287-7.3Z" transform="matrix(0.966, -0.259, 0.259, 0.966, 557.553, 495.795)" fill="#777" opacity="0.1"><animate attributeName="opacity" values="0;0.25;0" dur="1.9s" repeatCount="indefinite"/></path>
|
55 |
+
<path id="Path_507" data-name="Path 507" d="M4.689-5.4,1.836-5.816.561-8.4a.626.626,0,0,0-1.121,0L-1.836-5.816-4.689-5.4a.625.625,0,0,0-.346,1.066l2.064,2.012L-3.459.52a.625.625,0,0,0,.906.658L0-.164,2.553,1.178A.625.625,0,0,0,3.459.52L2.971-2.322,5.035-4.334A.625.625,0,0,0,4.689-5.4ZM1.965-2.65l.463,2.7L0-1.223-2.428.053l.463-2.7L-3.93-4.564l2.715-.395L0-7.42,1.215-4.959l2.715.395Z" transform="matrix(0.966, -0.259, 0.259, 0.966, 519.553, 584.795)" fill="#777" opacity="0.5"><animate attributeName="opacity" values="0;0.4;0" dur="2.1s" repeatCount="indefinite"/></path>
|
56 |
+
<path id="Path_506" data-name="Path 506" d="M4.689-5.4,1.836-5.816.561-8.4a.626.626,0,0,0-1.121,0L-1.836-5.816-4.689-5.4a.625.625,0,0,0-.346,1.066l2.064,2.012L-3.459.52a.625.625,0,0,0,.906.658L0-.164,2.553,1.178A.625.625,0,0,0,3.459.52L2.971-2.322,5.035-4.334A.625.625,0,0,0,4.689-5.4ZM1.965-2.65l.463,2.7L0-1.223-2.428.053l.463-2.7L-3.93-4.564l2.715-.395L0-7.42,1.215-4.959l2.715.395Z" transform="matrix(0.966, 0.259, -0.259, 0.966, 778.482, 455.795)" fill="#777" opacity="0.3"><animate attributeName="opacity" values="0;0.6;0" dur="2.3s" repeatCount="indefinite"/></path>
|
57 |
+
</g>
|
58 |
+
<g id="shadow">
|
59 |
+
<ellipse id="shadow-2" data-name="shadow" cx="80" cy="6" rx="100" ry="6" transform="translate(620 650)" fill="url(#radial-gradient)"/>
|
60 |
+
</g>
|
61 |
+
</g>
|
62 |
+
<g id="cog-bottom">
|
63 |
+
<path id="cog-bottom" d="M269.481 194.85L268.778 193.753C267.625 193.837 266.5 193.837 265.347 193.753L264.644 194.878C263.013 197.466 259.834 198.647 256.909 197.719C253.028 196.509 250.441 195.244 247.263 192.628C244.731 190.547 244.113 186.919 245.744 184.078L246.447 182.869C245.8 181.912 245.238 180.928 244.731 179.887H242.172C238.909 179.887 236.153 177.581 235.534 174.375C234.803 170.522 234.775 167.569 235.563 163.547C236.153 160.369 238.966 158.062 242.2 158.062H244.731C245.238 157.022 245.8 156.037 246.447 155.081L245.716 153.816C244.084 151.003 244.703 147.431 247.178 145.294C250.159 142.734 252.719 141.272 256.6 139.95C259.638 138.909 262.984 140.147 264.616 142.931L265.347 144.169C266.5 144.084 267.625 144.084 268.778 144.169L269.509 142.931C271.141 140.147 274.488 138.909 277.553 139.978C281.294 141.244 283.825 142.678 286.975 145.35C289.45 147.459 290.041 151.031 288.409 153.844L287.678 155.081C288.325 156.037 288.888 157.022 289.394 158.062H290.828C294.091 158.062 296.847 160.369 297.466 163.575C298.197 167.428 298.225 170.381 297.438 174.403C296.847 177.581 294.034 179.887 290.8 179.887H289.394C288.888 180.928 288.325 181.912 287.678 182.869L288.381 184.078C290.041 186.947 289.366 190.575 286.834 192.656C283.825 195.131 281.238 196.425 277.272 197.691C274.319 198.591 271.113 197.437 269.481 194.85ZM272.913 185.119L275.894 190.266C277.778 189.478 279.522 188.466 281.153 187.228L278.172 182.081L279.972 179.972C281.322 178.369 282.391 176.569 283.066 174.6L283.994 171.984H289.928C290.181 169.987 290.181 167.934 289.928 165.937H283.994L283.066 163.322C282.363 161.353 281.322 159.553 279.972 157.95L278.172 155.841L281.153 150.694C279.55 149.456 277.778 148.444 275.894 147.656L272.913 152.803L270.184 152.297C268.131 151.903 266.022 151.903 263.969 152.297L261.241 152.803L258.259 147.656C256.375 148.444 254.631 149.456 253 150.694L255.981 155.841L254.181 157.95C252.831 159.553 251.763 161.353 251.088 163.322L250.159 165.937H244.225C243.972 167.934 243.972 169.987 244.225 171.984H250.159L251.088 174.6C251.791 176.569 252.831 178.369 254.181 179.972L255.981 182.081L253 187.228C254.603 188.466 256.375 189.478 258.259 190.266L261.241 185.119L263.969 185.625C266.022 186.019 268.131 186.019 270.184 185.625L272.913 185.119ZM275.5 168.75C275.5 163.772 271.478 159.75 266.5 159.75C261.522 159.75 257.5 163.772 257.5 168.75C257.5 173.728 261.522 177.75 266.5 177.75C271.478 177.75 275.5 173.728 275.5 168.75Z" fill="#A0A5AA"/>
|
64 |
+
<animateTransform attributeType="xml" attributeName="transform" type="rotate" from="360 266.5 169" to="0 266.5 169" dur="2s" additive="sum" repeatCount="indefinite" />
|
65 |
+
</g>
|
66 |
+
<g id="cog-top">
|
67 |
+
<path d="M269.481 109.237L268.778 108.141C267.625 108.225 266.5 108.225 265.347 108.141L264.644 109.266C263.013 111.853 259.834 113.034 256.909 112.106C253.028 110.897 250.441 109.631 247.263 107.016C244.731 104.934 244.113 101.306 245.744 98.4656L246.447 97.2562C245.8 96.3 245.238 95.3156 244.731 94.275H242.172C238.909 94.275 236.153 91.9687 235.534 88.7625C234.803 84.9094 234.775 81.9562 235.563 77.9344C236.153 74.7562 238.966 72.45 242.2 72.45H244.731C245.238 71.4094 245.8 70.425 246.447 69.4687L245.716 68.2031C244.084 65.3906 244.703 61.8187 247.178 59.6812C250.159 57.1219 252.719 55.6594 256.6 54.3375C259.638 53.2969 262.984 54.5344 264.616 57.3187L265.347 58.5562C266.5 58.4719 267.625 58.4719 268.778 58.5562L269.509 57.3187C271.141 54.5344 274.488 53.2969 277.553 54.3656C281.294 55.6312 283.825 57.0656 286.975 59.7375C289.45 61.8469 290.041 65.4187 288.409 68.2312L287.678 69.4687C288.325 70.425 288.888 71.4094 289.394 72.45H290.828C294.091 72.45 296.847 74.7562 297.466 77.9625C298.197 81.8156 298.225 84.7687 297.438 88.7906C296.847 91.9687 294.034 94.275 290.8 94.275H289.394C288.888 95.3156 288.325 96.3 287.678 97.2562L288.381 98.4656C290.041 101.334 289.366 104.962 286.834 107.044C283.825 109.519 281.238 110.812 277.272 112.078C274.319 113.006 271.113 111.853 269.481 109.237ZM272.913 99.5344L275.894 104.681C277.778 103.894 279.522 102.881 281.153 101.644L278.172 96.4969L279.972 94.3875C281.322 92.7844 282.391 90.9844 283.066 89.0156L283.994 86.4H289.928C290.181 84.4031 290.181 82.35 289.928 80.3531H283.994L283.066 77.7375C282.363 75.7687 281.322 73.9687 279.972 72.3656L278.172 70.2562L281.125 65.0812C279.522 63.8437 277.75 62.8312 275.866 62.0437L272.884 67.1906L270.156 66.6844C268.103 66.2906 265.994 66.2906 263.941 66.6844L261.213 67.1906L258.231 62.0437C256.375 62.8031 254.603 63.8437 253 65.0812L255.981 70.2281L254.181 72.3375C252.831 73.9406 251.763 75.7406 251.088 77.7094L250.159 80.325H244.225C243.972 82.3219 243.972 84.375 244.225 86.3719H250.159L251.088 88.9875C251.791 90.9562 252.831 92.7562 254.181 94.3594L255.981 96.4687L253 101.644C254.603 102.881 256.375 103.894 258.259 104.681L261.241 99.5344L263.969 100.041C266.022 100.434 268.131 100.434 270.184 100.041L272.913 99.5344ZM275.5 83.1656C275.5 78.1875 271.478 74.1656 266.5 74.1656C261.522 74.1656 257.5 78.1875 257.5 83.1656C257.5 88.1437 261.522 92.1656 266.5 92.1656C271.478 92.1656 275.5 88.1156 275.5 83.1656Z" fill="#00A0D2"/>
|
68 |
+
<animateTransform attributeType="xml" attributeName="transform" type="rotate" from="360 266.5 83.5" to="0 266.5 83.5" dur="2s" additive="sum" repeatCount="indefinite" />
|
69 |
+
</g>
|
70 |
+
<g id="cog-left">
|
71 |
+
<path d="M159.458 179.912V171.167C155.778 169.645 152.297 167.68 149.072 165.328L141.226 169.728C138.43 171.277 134.92 170.752 132.752 168.455C125.847 161.177 121.766 154.756 118.314 144.074C117.344 141.113 118.628 137.903 121.395 136.326L129.185 131.925C128.7 128.051 128.7 124.149 129.185 120.275L121.395 115.902C118.628 114.353 117.344 111.115 118.314 108.154C121.766 97.5271 125.79 91.1068 132.752 83.7733C134.92 81.4764 138.458 80.9506 141.226 82.5003L149.044 86.9004C152.268 84.5482 155.749 82.611 159.43 81.0613V72.3164C159.43 69.1893 161.655 66.5049 164.794 65.8408C174.695 63.6822 182.484 63.4332 193.812 65.8408C196.95 66.5049 199.204 69.217 199.204 72.3164V81.0613C202.885 82.5833 206.366 84.5482 209.59 86.8727L217.408 82.5003C220.205 80.9506 223.743 81.4764 225.911 83.7733C233.586 91.9647 237.752 99.2429 240.777 108.264C241.747 111.17 240.548 114.325 237.866 115.93L230.733 120.303C231.218 124.177 231.218 128.079 230.733 131.953L238.751 136.796C241.205 138.29 242.46 141.113 241.832 143.853C239.864 152.515 232.417 161.73 225.883 168.538C223.714 170.807 220.205 171.305 217.437 169.755L209.59 165.355C206.366 167.707 202.885 169.645 199.204 171.194V179.939C199.204 183.039 196.979 185.751 193.84 186.415C183.14 188.712 175.322 188.684 164.765 186.415C161.684 185.723 159.458 183.011 159.458 179.912ZM168.589 178.196C175.665 179.579 182.998 179.579 190.074 178.196V164.995L193.127 163.944C197.92 162.311 202.343 159.821 206.223 156.61L208.677 154.563L220.49 161.177C225.283 155.891 230.191 149.747 232.502 143.133L220.69 136.519L221.289 133.448C222.202 128.577 222.202 123.623 221.289 118.753L220.69 115.681L232.502 109.067C230.191 102.453 225.283 96.2818 220.49 91.0238L208.677 97.6378L206.223 95.59C202.343 92.3521 197.949 89.8892 193.127 88.2564L190.074 87.2048V74.0322C182.998 72.6485 175.665 72.6485 168.589 74.0322V87.2325L165.536 88.2841C160.742 89.9169 156.32 92.4075 152.439 95.6176L149.985 97.6655L138.173 91.0515C133.395 96.3189 129.74 102.451 127.416 109.095L139.228 115.709L138.629 118.78C137.716 123.651 137.716 128.605 138.629 133.475L139.228 136.547L127.416 143.161C129.727 149.775 133.379 155.946 138.173 161.204L149.985 154.59L152.439 156.638C156.32 159.876 160.714 162.339 165.536 163.972L168.589 165.023V178.196ZM179.545 149.055C166.506 149.055 155.892 138.761 155.892 126.114C155.892 113.467 166.506 103.173 179.545 103.173C192.585 103.173 203.199 113.467 203.199 126.114C203.199 138.761 192.585 149.055 179.545 149.055ZM179.545 112.028C171.556 112.028 165.022 118.338 165.022 126.114C165.022 133.89 171.528 140.2 179.545 140.2C187.535 140.2 194.069 133.89 194.069 126.114C194.069 118.338 187.563 112.028 179.545 112.028Z" fill="#0073AA"/>
|
72 |
+
<animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 180 126" to="360 180 126" dur="3s" additive="sum" repeatCount="indefinite" />
|
73 |
+
</g>
|
74 |
+
</svg>
|
assets/images/loader.svg
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<circle cx="16" cy="16" r="16" fill="#F1F1F1"/>
|
3 |
+
<path d="M15.9999 0.00012207C7.15995 0.00012207 0 7.16007 0 16C0 24.8399 7.15995 31.9999 15.9999 31.9999C24.8398 31.9999 31.9998 24.8399 31.9998 16C31.9998 7.16007 24.8398 0.00012207 15.9999 0.00012207ZM15.9999 28.7999C8.91993 28.7999 3.19998 23.08 3.19998 16C3.19998 8.92006 8.91993 3.2001 15.9999 3.2001C23.0798 3.2001 28.7998 8.92006 28.7998 16C28.7998 23.08 23.0798 28.7999 15.9999 28.7999Z" fill="#DDDDDD"/>
|
4 |
+
<path d="M30.3203 18.96C30.2803 18.96 30.2003 18.96 30.1603 18.96C29.2803 18.88 28.6403 18.08 28.7203 17.2C28.7603 16.8 28.7603 16.4 28.7603 16C28.8003 8.96006 23.0403 3.2001 16.0004 3.2001C15.1204 3.2001 14.4004 2.4801 14.4004 1.60011C14.4004 0.720117 15.1204 0.00012207 16.0004 0.00012207C24.8403 0.00012207 32.0003 7.16007 32.0003 16C32.0003 16.52 31.9603 17 31.9203 17.52C31.8403 18.36 31.1603 18.96 30.3203 18.96Z" fill="#007CBA"/>
|
5 |
+
</svg>
|
assets/images/success.svg
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
<svg width="160" height="124" viewBox="0 0 160 124" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<path d="M78 0C43.75 0 16 27.75 16 62C16 96.25 43.75 124 78 124C112.25 124 140 96.25 140 62C140 27.75 112.25 0 78 0ZM132 62C132 91.75 107.75 116 78 116C48.25 116 24 92 24 62C24 32.5 48 8 78 8C107.5 8 132 32.25 132 62Z" fill="#64B450"/>
|
3 |
+
<path d="M78.0073 67.9142L55.4215 45.0931L55.3399 45.0107L55.2494 44.9383C54.2296 44.1224 52.9623 43.75 51.7812 43.75C50.6146 43.75 49.3023 44.1193 48.3358 45.0858L41.0858 52.3358C40.1193 53.3023 39.75 54.6146 39.75 55.7812C39.75 56.9623 40.1224 58.2296 40.9383 59.2494L41.0098 59.3388L41.0911 59.4195L74.5858 92.6642C74.5868 92.6652 74.5878 92.6663 74.5888 92.6673C75.5522 93.6292 76.7967 94.1875 78.125 94.1875C79.4547 94.1875 80.7005 93.628 81.6642 92.6642L156.664 17.6642C157.631 16.6977 158 15.3854 158 14.2188C158 13.0377 157.628 11.7704 156.812 10.7506L156.732 10.6504L156.639 10.5612L149.469 3.63831C147.572 1.41002 144.237 1.68448 142.336 3.58579L78.0073 67.9142Z" fill="#64B450" stroke="white" stroke-width="4"/>
|
4 |
+
</svg>
|
assets/images/warning.svg
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
<svg width="124" height="124" viewBox="0 0 124 124" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<path d="M62 0C27.75 0 0 27.75 0 62C0 96.25 27.75 124 62 124C96.25 124 124 96.25 124 62C124 27.75 96.25 0 62 0ZM116 62C116 91.75 91.75 116 62 116C32.25 116 8 92 8 62C8 32.5 32 8 62 8C91.5 8 116 32.25 116 62Z" fill="#FFB900"/>
|
3 |
+
<path d="M71.75 82.625C71.75 77.4688 67.5312 73.25 62.375 73.25C57.1016 73.25 53 77.4688 53 82.625C53 87.8984 57.1016 92 62.375 92C67.5312 92 71.75 87.8984 71.75 82.625ZM54.0547 35.0469L55.5781 66.9219C55.6953 68.3281 56.9844 69.5 58.3906 69.5H66.2422C67.6484 69.5 68.9375 68.3281 69.0547 66.9219L70.5781 35.0469C70.6953 33.4062 69.4062 32 67.7656 32H56.8672C55.2266 32 53.9375 33.4062 54.0547 35.0469Z" fill="#FFB900"/>
|
4 |
+
</svg>
|
assets/js/main.js
CHANGED
@@ -1,6 +1,20 @@
|
|
1 |
jQuery( function ( $ ) {
|
2 |
'use strict';
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
/**
|
5 |
* ---------------------------------------
|
6 |
* ------------- Events ------------------
|
@@ -8,53 +22,282 @@ jQuery( function ( $ ) {
|
|
8 |
*/
|
9 |
|
10 |
/**
|
11 |
-
* No
|
12 |
*/
|
13 |
-
$( '.js-ocdi-import
|
|
|
14 |
|
15 |
-
|
16 |
-
|
|
|
|
|
|
|
17 |
|
18 |
// Prepare data for the AJAX call
|
19 |
var data = new FormData();
|
20 |
-
data.append( 'action', '
|
21 |
data.append( 'security', ocdi.ajax_nonce );
|
22 |
-
|
23 |
-
if ( $('#ocdi__content-file-upload').length ) {
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
}
|
26 |
-
if ( $('#ocdi__widget-file-upload').length ) {
|
27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
}
|
29 |
-
if ( $('#ocdi__customizer-file-upload').length ) {
|
30 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
}
|
32 |
-
if ( $('#ocdi__redux-file-upload').length ) {
|
33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
data.append( 'redux_option_name', $('#ocdi__redux-option-name').val() );
|
35 |
}
|
36 |
|
37 |
-
|
38 |
-
ajaxCall( data );
|
39 |
|
40 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
|
|
|
|
|
|
|
|
|
42 |
|
43 |
/**
|
44 |
-
*
|
45 |
*/
|
46 |
-
$( '.
|
47 |
-
|
48 |
-
var $itemContainer = $( this ).closest( '.js-ocdi-gl-item' );
|
49 |
|
50 |
-
|
51 |
-
|
52 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
}
|
54 |
-
|
55 |
-
|
|
|
|
|
|
|
56 |
}
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
|
60 |
/**
|
@@ -163,110 +406,6 @@ jQuery( function ( $ ) {
|
|
163 |
* ---------------------------------------
|
164 |
*/
|
165 |
|
166 |
-
/**
|
167 |
-
* Prepare grid layout import data and execute the AJAX call.
|
168 |
-
*
|
169 |
-
* @param int selectedImportID The selected import ID.
|
170 |
-
* @param obj $itemContainer The jQuery selected item container object.
|
171 |
-
*/
|
172 |
-
function gridLayoutImport( selectedImportID, $itemContainer ) {
|
173 |
-
// Reset response div content.
|
174 |
-
$( '.js-ocdi-ajax-response' ).empty();
|
175 |
-
|
176 |
-
// Hide all other import items.
|
177 |
-
$itemContainer.siblings( '.js-ocdi-gl-item' ).fadeOut( 500 );
|
178 |
-
|
179 |
-
$itemContainer.animate({
|
180 |
-
opacity: 0
|
181 |
-
}, 500, 'swing', function () {
|
182 |
-
$itemContainer.animate({
|
183 |
-
opacity: 1
|
184 |
-
}, 500 )
|
185 |
-
});
|
186 |
-
|
187 |
-
// Hide the header with category navigation and search box.
|
188 |
-
$itemContainer.closest( '.js-ocdi-gl' ).find( '.js-ocdi-gl-header' ).fadeOut( 500 );
|
189 |
-
|
190 |
-
// Append a title for the selected demo import.
|
191 |
-
$itemContainer.parent().prepend( '<h3>' + ocdi.texts.selected_import_title + '</h3>' );
|
192 |
-
|
193 |
-
// Remove the import button of the selected item.
|
194 |
-
$itemContainer.find( '.js-ocdi-gl-import-data' ).remove();
|
195 |
-
|
196 |
-
// Prepare data for the AJAX call
|
197 |
-
var data = new FormData();
|
198 |
-
data.append( 'action', 'ocdi_import_demo_data' );
|
199 |
-
data.append( 'security', ocdi.ajax_nonce );
|
200 |
-
data.append( 'selected', selectedImportID );
|
201 |
-
|
202 |
-
// AJAX call to import everything (content, widgets, before/after setup)
|
203 |
-
ajaxCall( data );
|
204 |
-
}
|
205 |
-
|
206 |
-
/**
|
207 |
-
* Display the confirmation popup.
|
208 |
-
*
|
209 |
-
* @param int selectedImportID The selected import ID.
|
210 |
-
* @param obj $itemContainer The jQuery selected item container object.
|
211 |
-
*/
|
212 |
-
function displayConfirmationPopup( selectedImportID, $itemContainer ) {
|
213 |
-
var $dialogContiner = $( '#js-ocdi-modal-content' );
|
214 |
-
var currentFilePreviewImage = ocdi.import_files[ selectedImportID ]['import_preview_image_url'] || ocdi.theme_screenshot;
|
215 |
-
var previewImageContent = '';
|
216 |
-
var importNotice = ocdi.import_files[ selectedImportID ]['import_notice'] || '';
|
217 |
-
var importNoticeContent = '';
|
218 |
-
var dialogOptions = $.extend(
|
219 |
-
{
|
220 |
-
'dialogClass': 'wp-dialog',
|
221 |
-
'resizable': false,
|
222 |
-
'height': 'auto',
|
223 |
-
'modal': true
|
224 |
-
},
|
225 |
-
ocdi.dialog_options,
|
226 |
-
{
|
227 |
-
'buttons':
|
228 |
-
[
|
229 |
-
{
|
230 |
-
text: ocdi.texts.dialog_no,
|
231 |
-
click: function() {
|
232 |
-
$(this).dialog('close');
|
233 |
-
}
|
234 |
-
},
|
235 |
-
{
|
236 |
-
text: ocdi.texts.dialog_yes,
|
237 |
-
class: 'button button-primary',
|
238 |
-
click: function() {
|
239 |
-
$(this).dialog('close');
|
240 |
-
gridLayoutImport( selectedImportID, $itemContainer );
|
241 |
-
}
|
242 |
-
}
|
243 |
-
]
|
244 |
-
});
|
245 |
-
|
246 |
-
if ( '' === currentFilePreviewImage ) {
|
247 |
-
previewImageContent = '<p>' + ocdi.texts.missing_preview_image + '</p>';
|
248 |
-
}
|
249 |
-
else {
|
250 |
-
previewImageContent = '<div class="ocdi__modal-image-container"><img src="' + currentFilePreviewImage + '" alt="' + ocdi.import_files[ selectedImportID ]['import_file_name'] + '"></div>'
|
251 |
-
}
|
252 |
-
|
253 |
-
// Prepare notice output.
|
254 |
-
if( '' !== importNotice ) {
|
255 |
-
importNoticeContent = '<div class="ocdi__modal-notice ocdi__demo-import-notice">' + importNotice + '</div>';
|
256 |
-
}
|
257 |
-
|
258 |
-
// Populate the dialog content.
|
259 |
-
$dialogContiner.prop( 'title', ocdi.texts.dialog_title );
|
260 |
-
$dialogContiner.html(
|
261 |
-
'<p class="ocdi__modal-item-title">' + ocdi.import_files[ selectedImportID ]['import_file_name'] + '</p>' +
|
262 |
-
previewImageContent +
|
263 |
-
importNoticeContent
|
264 |
-
);
|
265 |
-
|
266 |
-
// Display the confirmation popup.
|
267 |
-
$dialogContiner.dialog( dialogOptions );
|
268 |
-
}
|
269 |
-
|
270 |
/**
|
271 |
* The main AJAX call, which executes the import process.
|
272 |
*
|
@@ -280,7 +419,8 @@ jQuery( function ( $ ) {
|
|
280 |
contentType: false,
|
281 |
processData: false,
|
282 |
beforeSend: function() {
|
283 |
-
$( '.js-ocdi-
|
|
|
284 |
}
|
285 |
})
|
286 |
.done( function( response ) {
|
@@ -308,20 +448,246 @@ jQuery( function ( $ ) {
|
|
308 |
ajaxCall( newData );
|
309 |
}
|
310 |
else if ( 'undefined' !== typeof response.message ) {
|
311 |
-
$( '.js-ocdi-ajax-response' ).append(
|
312 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
313 |
|
314 |
// Trigger custom event, when OCDI import is complete.
|
315 |
$( document ).trigger( 'ocdiImportComplete' );
|
316 |
}
|
317 |
else {
|
318 |
-
$( '.js-ocdi-ajax-response' ).append( '<
|
319 |
-
$( '.js-ocdi-ajax-
|
|
|
|
|
|
|
320 |
}
|
321 |
})
|
322 |
.fail( function( error ) {
|
323 |
-
$( '.js-ocdi-ajax-response' ).append( '<
|
324 |
-
$( '.js-ocdi-ajax-
|
|
|
|
|
|
|
325 |
});
|
326 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
327 |
} );
|
1 |
jQuery( function ( $ ) {
|
2 |
'use strict';
|
3 |
|
4 |
+
/**
|
5 |
+
* ---------------------------------------
|
6 |
+
* ------------- DOM Ready ---------------
|
7 |
+
* ---------------------------------------
|
8 |
+
*/
|
9 |
+
|
10 |
+
// Move the admin notices inside the appropriate div.
|
11 |
+
$( '.js-ocdi-notice-wrapper' ).appendTo( '.js-ocdi-admin-notices-container' );
|
12 |
+
|
13 |
+
// Auto start the manual import if on the import page and the 'js-ocdi-auto-start-manual-import' element is present.
|
14 |
+
if ( $( '.js-ocdi-auto-start-manual-import' ).length ) {
|
15 |
+
startImport( false );
|
16 |
+
}
|
17 |
+
|
18 |
/**
|
19 |
* ---------------------------------------
|
20 |
* ------------- Events ------------------
|
22 |
*/
|
23 |
|
24 |
/**
|
25 |
+
* No predefined demo import button click (manual import).
|
26 |
*/
|
27 |
+
$( '.js-ocdi-start-manual-import' ).on( 'click', function ( event ) {
|
28 |
+
event.preventDefault();
|
29 |
|
30 |
+
var $button = $( this );
|
31 |
+
|
32 |
+
if ( $button.hasClass( 'ocdi-button-disabled' ) ) {
|
33 |
+
return false;
|
34 |
+
}
|
35 |
|
36 |
// Prepare data for the AJAX call
|
37 |
var data = new FormData();
|
38 |
+
data.append( 'action', 'ocdi_upload_manual_import_files' );
|
39 |
data.append( 'security', ocdi.ajax_nonce );
|
40 |
+
|
41 |
+
if ( $('#ocdi__content-file-upload').length && $('#ocdi__content-file-upload').get(0).files.length ) {
|
42 |
+
var contentFile = $('#ocdi__content-file-upload')[0].files[0];
|
43 |
+
var contentFileExt = contentFile.name.split('.').pop();
|
44 |
+
|
45 |
+
if ( -1 === [ 'xml' ].indexOf( contentFileExt.toLowerCase() ) ) {
|
46 |
+
alert( ocdi.texts.content_filetype_warn );
|
47 |
+
|
48 |
+
return false;
|
49 |
+
}
|
50 |
+
|
51 |
+
data.append( 'content_file', contentFile );
|
52 |
}
|
53 |
+
if ( $('#ocdi__widget-file-upload').length && $('#ocdi__widget-file-upload').get(0).files.length ) {
|
54 |
+
var widgetsFile = $('#ocdi__widget-file-upload')[0].files[0];
|
55 |
+
var widgetsFileExt = widgetsFile.name.split('.').pop();
|
56 |
+
|
57 |
+
if ( -1 === [ 'json', 'wie' ].indexOf( widgetsFileExt.toLowerCase() ) ) {
|
58 |
+
alert( ocdi.texts.widgets_filetype_warn );
|
59 |
+
|
60 |
+
return false;
|
61 |
+
}
|
62 |
+
|
63 |
+
data.append( 'widget_file', widgetsFile );
|
64 |
}
|
65 |
+
if ( $('#ocdi__customizer-file-upload').length && $('#ocdi__customizer-file-upload').get(0).files.length ) {
|
66 |
+
var customizerFile = $('#ocdi__customizer-file-upload')[0].files[0];
|
67 |
+
var customizerFileExt = customizerFile.name.split('.').pop();
|
68 |
+
|
69 |
+
if ( -1 === [ 'dat' ].indexOf( customizerFileExt.toLowerCase() ) ) {
|
70 |
+
alert( ocdi.texts.customizer_filetype_warn );
|
71 |
+
|
72 |
+
return false;
|
73 |
+
}
|
74 |
+
|
75 |
+
data.append( 'customizer_file', customizerFile );
|
76 |
}
|
77 |
+
if ( $('#ocdi__redux-file-upload').length && $('#ocdi__redux-file-upload').get(0).files.length ) {
|
78 |
+
var reduxFile = $('#ocdi__redux-file-upload')[0].files[0];
|
79 |
+
var reduxFileExt = reduxFile.name.split('.').pop();
|
80 |
+
|
81 |
+
if ( -1 === [ 'json' ].indexOf( reduxFileExt.toLowerCase() ) ) {
|
82 |
+
alert( ocdi.texts.redux_filetype_warn );
|
83 |
+
|
84 |
+
return false;
|
85 |
+
}
|
86 |
+
|
87 |
+
data.append( 'redux_file', reduxFile );
|
88 |
data.append( 'redux_option_name', $('#ocdi__redux-option-name').val() );
|
89 |
}
|
90 |
|
91 |
+
$button.addClass( 'ocdi-button-disabled' );
|
|
|
92 |
|
93 |
+
// AJAX call to upload all selected import files (content, widgets, customizer and redux).
|
94 |
+
$.ajax({
|
95 |
+
method: 'POST',
|
96 |
+
url: ocdi.ajax_url,
|
97 |
+
data: data,
|
98 |
+
contentType: false,
|
99 |
+
processData: false,
|
100 |
+
})
|
101 |
+
.done( function( response ) {
|
102 |
+
if ( response.success ) {
|
103 |
+
window.location.href = ocdi.import_url;
|
104 |
+
} else {
|
105 |
+
alert( response.data );
|
106 |
+
$button.removeClass( 'ocdi-button-disabled' );
|
107 |
+
}
|
108 |
+
})
|
109 |
+
.fail( function( error ) {
|
110 |
+
alert( error.statusText + ' (' + error.status + ')' );
|
111 |
+
$button.removeClass( 'ocdi-button-disabled' );
|
112 |
+
})
|
113 |
+
} );
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Remove the files from the manual import upload controls (when clicked on the "cancel" button).
|
117 |
+
*/
|
118 |
+
$( '.js-ocdi-cancel-manual-import').on( 'click', function() {
|
119 |
+
$( '.ocdi__file-upload-container-items input[type=file]' ).each( function() {
|
120 |
+
$( this ).val( '' ).trigger( 'change' );
|
121 |
+
} );
|
122 |
+
} );
|
123 |
+
|
124 |
+
/**
|
125 |
+
* Show and hide the file upload label and input on file input change event.
|
126 |
+
*/
|
127 |
+
$( document ).on( 'change', '.ocdi__file-upload-container-items input[type=file]', function() {
|
128 |
+
var $input = $( this ),
|
129 |
+
$label = $input.siblings( 'label' ),
|
130 |
+
fileIsSet = false;
|
131 |
+
|
132 |
+
if( this.files && this.files.length > 0 ) {
|
133 |
+
$input.removeClass( 'ocdi-hide-input' ).blur();
|
134 |
+
$label.hide();
|
135 |
+
} else {
|
136 |
+
$input.addClass( 'ocdi-hide-input' );
|
137 |
+
$label.show();
|
138 |
+
}
|
139 |
+
|
140 |
+
// Enable or disable the main manual import/cancel buttons.
|
141 |
+
$( '.ocdi__file-upload-container-items input[type=file]' ).each( function() {
|
142 |
+
if ( this.files && this.files.length > 0 ) {
|
143 |
+
fileIsSet = true;
|
144 |
+
}
|
145 |
+
} );
|
146 |
|
147 |
+
$( '.js-ocdi-start-manual-import' ).prop( 'disabled', ! fileIsSet );
|
148 |
+
$( '.js-ocdi-cancel-manual-import' ).prop( 'disabled', ! fileIsSet );
|
149 |
+
|
150 |
+
} );
|
151 |
|
152 |
/**
|
153 |
+
* Prevent a required plugin checkbox from changeing state.
|
154 |
*/
|
155 |
+
$( '.ocdi-install-plugins-content-content .plugin-item.plugin-item--required input[type=checkbox]' ).on( 'click', function( event ) {
|
156 |
+
event.preventDefault();
|
|
|
157 |
|
158 |
+
return false;
|
159 |
+
} );
|
160 |
+
|
161 |
+
/**
|
162 |
+
* Install plugins event.
|
163 |
+
*/
|
164 |
+
$( '.js-ocdi-install-plugins' ).on( 'click', function( event ) {
|
165 |
+
event.preventDefault();
|
166 |
+
|
167 |
+
var $button = $( this );
|
168 |
+
|
169 |
+
if ( $button.hasClass( 'ocdi-button-disabled' ) ) {
|
170 |
+
return false;
|
171 |
}
|
172 |
+
|
173 |
+
var pluginsToInstall = $( '.ocdi-install-plugins-content-content .plugin-item input[type=checkbox]' ).serializeArray();
|
174 |
+
|
175 |
+
if ( pluginsToInstall.length === 0 ) {
|
176 |
+
return false;
|
177 |
}
|
178 |
+
|
179 |
+
$button.addClass( 'ocdi-button-disabled' );
|
180 |
+
|
181 |
+
installPluginsAjaxCall( pluginsToInstall, 0, $button, false, false );
|
182 |
+
} );
|
183 |
+
|
184 |
+
/**
|
185 |
+
* Install plugins before importing event.
|
186 |
+
*/
|
187 |
+
$( '.js-ocdi-install-plugins-before-import' ).on( 'click', function( event ) {
|
188 |
+
event.preventDefault();
|
189 |
+
|
190 |
+
var $button = $( this );
|
191 |
+
|
192 |
+
if ( $button.hasClass( 'ocdi-button-disabled' ) ) {
|
193 |
+
return false;
|
194 |
+
}
|
195 |
+
|
196 |
+
var pluginsToInstall = $( '.ocdi-install-plugins-content-content .plugin-item:not(.plugin-item--disabled) input[type=checkbox]' ).serializeArray();
|
197 |
+
|
198 |
+
if ( pluginsToInstall.length === 0 ) {
|
199 |
+
startImport( getUrlParameter( 'import' ) );
|
200 |
+
|
201 |
+
return false;
|
202 |
+
}
|
203 |
+
|
204 |
+
$button.addClass( 'ocdi-button-disabled' );
|
205 |
+
|
206 |
+
installPluginsAjaxCall( pluginsToInstall, 0, $button, true, false );
|
207 |
+
} );
|
208 |
+
|
209 |
+
|
210 |
+
/**
|
211 |
+
* Import the created content.
|
212 |
+
*/
|
213 |
+
$( '.js-ocdi-create-content' ).on( 'click', function( event ) {
|
214 |
+
event.preventDefault();
|
215 |
+
|
216 |
+
var $button = $( this );
|
217 |
+
|
218 |
+
if ( $button.hasClass( 'ocdi-button-disabled' ) ) {
|
219 |
+
return false;
|
220 |
+
}
|
221 |
+
|
222 |
+
var itemsToImport = $( '.ocdi-create-content-content .content-item input[type=checkbox]' ).serializeArray();
|
223 |
+
|
224 |
+
if ( itemsToImport.length === 0 ) {
|
225 |
+
return false;
|
226 |
+
}
|
227 |
+
|
228 |
+
$button.addClass( 'ocdi-button-disabled' );
|
229 |
+
|
230 |
+
createDemoContentAjaxCall( itemsToImport, 0, $button );
|
231 |
+
} );
|
232 |
+
|
233 |
+
|
234 |
+
/**
|
235 |
+
* Install the SeedProd plugin.
|
236 |
+
*/
|
237 |
+
$( '.js-ocdi-install-coming-soon-plugin' ).on( 'click', function( event ) {
|
238 |
+
event.preventDefault();
|
239 |
+
|
240 |
+
var $button = $( this ),
|
241 |
+
slug = 'coming-soon';
|
242 |
+
|
243 |
+
if ( $button.hasClass( 'button-disabled' ) ) {
|
244 |
+
return false;
|
245 |
+
}
|
246 |
+
|
247 |
+
$button.addClass( 'button-disabled' );
|
248 |
+
|
249 |
+
$.ajax({
|
250 |
+
method: 'POST',
|
251 |
+
url: ocdi.ajax_url,
|
252 |
+
data: {
|
253 |
+
action: 'ocdi_install_plugin',
|
254 |
+
security: ocdi.ajax_nonce,
|
255 |
+
slug: slug,
|
256 |
+
},
|
257 |
+
beforeSend: function() {
|
258 |
+
$button.text( ocdi.texts.installing );
|
259 |
+
}
|
260 |
+
})
|
261 |
+
.done( function( response ) {
|
262 |
+
if ( response.success ) {
|
263 |
+
$button.text( ocdi.texts.installed );
|
264 |
+
} else {
|
265 |
+
alert( response.data );
|
266 |
+
$button.text( ocdi.texts.install_plugin );
|
267 |
+
$button.removeClass( 'button-disabled' );
|
268 |
+
}
|
269 |
+
})
|
270 |
+
.fail( function( error ) {
|
271 |
+
alert( error.statusText + ' (' + error.status + ')' );
|
272 |
+
$button.removeClass( 'button-disabled' );
|
273 |
+
})
|
274 |
+
} );
|
275 |
+
|
276 |
+
/**
|
277 |
+
* Update "plugins to be installed" notice on Create Demo Content page.
|
278 |
+
*/
|
279 |
+
$( document ).on( 'change', '.ocdi--create-content .content-item input[type=checkbox]', function( event ) {
|
280 |
+
var $checkboxes = $( '.ocdi--create-content .content-item input[type=checkbox]' ),
|
281 |
+
$missingPluginNotice = $( '.js-ocdi-create-content-install-plugins-notice' ),
|
282 |
+
missingPlugins = [];
|
283 |
+
|
284 |
+
$checkboxes.each( function() {
|
285 |
+
var $checkbox = $( this );
|
286 |
+
if ( $checkbox.is( ':checked' ) ) {
|
287 |
+
missingPlugins = missingPlugins.concat( getMissingPluginNamesFromImportContentPageItem( $checkbox.data( 'plugins' ) ) );
|
288 |
+
}
|
289 |
+
} );
|
290 |
+
|
291 |
+
missingPlugins = missingPlugins.filter( onlyUnique ).join( ', ' );
|
292 |
+
|
293 |
+
if ( missingPlugins.length > 0 ) {
|
294 |
+
$missingPluginNotice.find( '.js-ocdi-create-content-install-plugins-list' ).text( missingPlugins );
|
295 |
+
$missingPluginNotice.show();
|
296 |
+
} else {
|
297 |
+
$missingPluginNotice.find( '.js-ocdi-create-content-install-plugins-list' ).text( '' );
|
298 |
+
$missingPluginNotice.hide();
|
299 |
+
}
|
300 |
+
} );
|
301 |
|
302 |
|
303 |
/**
|
406 |
* ---------------------------------------
|
407 |
*/
|
408 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
409 |
/**
|
410 |
* The main AJAX call, which executes the import process.
|
411 |
*
|
419 |
contentType: false,
|
420 |
processData: false,
|
421 |
beforeSend: function() {
|
422 |
+
$( '.js-ocdi-install-plugins-content' ).hide();
|
423 |
+
$( '.js-ocdi-importing' ).show();
|
424 |
}
|
425 |
})
|
426 |
.done( function( response ) {
|
448 |
ajaxCall( newData );
|
449 |
}
|
450 |
else if ( 'undefined' !== typeof response.message ) {
|
451 |
+
$( '.js-ocdi-ajax-response' ).append( response.message );
|
452 |
+
|
453 |
+
if ( 'undefined' !== typeof response.title ) {
|
454 |
+
$( '.js-ocdi-ajax-response-title' ).html( response.title );
|
455 |
+
}
|
456 |
+
|
457 |
+
if ( 'undefined' !== typeof response.subtitle ) {
|
458 |
+
$( '.js-ocdi-ajax-response-subtitle' ).html( response.subtitle );
|
459 |
+
}
|
460 |
+
|
461 |
+
$( '.js-ocdi-importing' ).hide();
|
462 |
+
$( '.js-ocdi-imported' ).show();
|
463 |
|
464 |
// Trigger custom event, when OCDI import is complete.
|
465 |
$( document ).trigger( 'ocdiImportComplete' );
|
466 |
}
|
467 |
else {
|
468 |
+
$( '.js-ocdi-ajax-response' ).append( '<img class="ocdi-imported-content-imported ocdi-imported-content-imported--error" src="' + ocdi.plugin_url + 'assets/images/error.svg" alt="' + ocdi.texts.import_failed + '"><p>' + response + '</p>' );
|
469 |
+
$( '.js-ocdi-ajax-response-title' ).html( ocdi.texts.import_failed );
|
470 |
+
$( '.js-ocdi-ajax-response-subtitle' ).html( '<p>' + ocdi.texts.import_failed_subtitle + '</p>' );
|
471 |
+
$( '.js-ocdi-importing' ).hide();
|
472 |
+
$( '.js-ocdi-imported' ).show();
|
473 |
}
|
474 |
})
|
475 |
.fail( function( error ) {
|
476 |
+
$( '.js-ocdi-ajax-response' ).append( '<img class="ocdi-imported-content-imported ocdi-imported-content-imported--error" src="' + ocdi.plugin_url + 'assets/images/error.svg" alt="' + ocdi.texts.import_failed + '"><p>Error: ' + error.statusText + ' (' + error.status + ')' + '</p>' );
|
477 |
+
$( '.js-ocdi-ajax-response-title' ).html( ocdi.texts.import_failed );
|
478 |
+
$( '.js-ocdi-ajax-response-subtitle' ).html( '<p>' + ocdi.texts.import_failed_subtitle + '</p>' );
|
479 |
+
$( '.js-ocdi-importing' ).hide();
|
480 |
+
$( '.js-ocdi-imported' ).show();
|
481 |
});
|
482 |
}
|
483 |
+
|
484 |
+
/**
|
485 |
+
* Get the missing required plugin names for the Create Demo Content "plugins to install" notice.
|
486 |
+
*
|
487 |
+
* @param requiredPluginSlugs
|
488 |
+
*
|
489 |
+
* @returns {[]}
|
490 |
+
*/
|
491 |
+
function getMissingPluginNamesFromImportContentPageItem( requiredPluginSlugs ) {
|
492 |
+
var requiredPluginSlugs = requiredPluginSlugs.split( ',' ),
|
493 |
+
pluginList = [];
|
494 |
+
|
495 |
+
ocdi.missing_plugins.forEach( function( plugin ) {
|
496 |
+
if ( requiredPluginSlugs.indexOf( plugin.slug ) !== -1 ) {
|
497 |
+
pluginList.push( plugin.name )
|
498 |
+
}
|
499 |
+
} );
|
500 |
+
|
501 |
+
return pluginList;
|
502 |
+
}
|
503 |
+
|
504 |
+
/**
|
505 |
+
* Unique array helper function.
|
506 |
+
*
|
507 |
+
* @param value
|
508 |
+
* @param index
|
509 |
+
* @param self
|
510 |
+
*
|
511 |
+
* @returns {boolean}
|
512 |
+
*/
|
513 |
+
function onlyUnique( value, index, self ) {
|
514 |
+
return self.indexOf( value ) === index;
|
515 |
+
}
|
516 |
+
|
517 |
+
/**
|
518 |
+
* The AJAX call for installing selected plugins.
|
519 |
+
*
|
520 |
+
* @param {Object[]} plugins The array of plugin objects with name and value pairs.
|
521 |
+
* @param {int} counter The index of the plugin to import from the list above.
|
522 |
+
* @param {Object} $button jQuery object of the submit button.
|
523 |
+
* @param {bool} runImport If the import should be run after plugin installation.
|
524 |
+
* @param {bool} pluginInstallFailed If there were any failed plugin installs.
|
525 |
+
*/
|
526 |
+
function installPluginsAjaxCall( plugins, counter, $button , runImport, pluginInstallFailed ) {
|
527 |
+
var plugin = plugins[ counter ],
|
528 |
+
slug = plugin.name;
|
529 |
+
|
530 |
+
$.ajax({
|
531 |
+
method: 'POST',
|
532 |
+
url: ocdi.ajax_url,
|
533 |
+
data: {
|
534 |
+
action: 'ocdi_install_plugin',
|
535 |
+
security: ocdi.ajax_nonce,
|
536 |
+
slug: slug,
|
537 |
+
},
|
538 |
+
beforeSend: function() {
|
539 |
+
var $currentPluginItem = $( '.plugin-item-' + slug );
|
540 |
+
$currentPluginItem.find( '.js-ocdi-plugin-item-info' ).empty();
|
541 |
+
$currentPluginItem.find( '.js-ocdi-plugin-item-error' ).empty();
|
542 |
+
$currentPluginItem.addClass( 'plugin-item--loading' );
|
543 |
+
}
|
544 |
+
})
|
545 |
+
.done( function( response ) {
|
546 |
+
var $currentPluginItem = $( '.plugin-item-' + slug );
|
547 |
+
|
548 |
+
$currentPluginItem.removeClass( 'plugin-item--loading' );
|
549 |
+
|
550 |
+
if ( response.success ) {
|
551 |
+
$currentPluginItem.addClass( 'plugin-item--active' );
|
552 |
+
$currentPluginItem.find( 'input[type=checkbox]' ).prop( 'disabled', true );
|
553 |
+
} else {
|
554 |
+
|
555 |
+
if ( -1 === response.data.indexOf( '<p>' ) ) {
|
556 |
+
response.data = '<p>' + response.data + '</p>';
|
557 |
+
}
|
558 |
+
|
559 |
+
$currentPluginItem.find( '.js-ocdi-plugin-item-error' ).append( response.data );
|
560 |
+
$currentPluginItem.find( 'input[type=checkbox]' ).prop( 'checked', false );
|
561 |
+
pluginInstallFailed = true;
|
562 |
+
}
|
563 |
+
})
|
564 |
+
.fail( function( error ) {
|
565 |
+
var $currentPluginItem = $( '.plugin-item-' + slug );
|
566 |
+
$currentPluginItem.removeClass( 'plugin-item--loading' );
|
567 |
+
$currentPluginItem.find( '.js-ocdi-plugin-item-error' ).append( '<p>' + error.statusText + ' (' + error.status + ')</p>' );
|
568 |
+
pluginInstallFailed = true;
|
569 |
+
})
|
570 |
+
.always( function() {
|
571 |
+
counter++;
|
572 |
+
|
573 |
+
if ( counter === plugins.length ) {
|
574 |
+
if ( runImport ) {
|
575 |
+
if ( ! pluginInstallFailed ) {
|
576 |
+
startImport( getUrlParameter( 'import' ) );
|
577 |
+
} else {
|
578 |
+
alert( ocdi.texts.plugin_install_failed );
|
579 |
+
}
|
580 |
+
}
|
581 |
+
|
582 |
+
$button.removeClass( 'ocdi-button-disabled' );
|
583 |
+
} else {
|
584 |
+
installPluginsAjaxCall( plugins, counter, $button, runImport, pluginInstallFailed );
|
585 |
+
}
|
586 |
+
} );
|
587 |
+
}
|
588 |
+
|
589 |
+
/**
|
590 |
+
* The AJAX call for importing content on the create demo content page.
|
591 |
+
*
|
592 |
+
* @param {Object[]} items The array of content item objects with name and value pairs.
|
593 |
+
* @param {int} counter The index of the plugin to import from the list above.
|
594 |
+
* @param {Object} $button jQuery object of the submit button.
|
595 |
+
*/
|
596 |
+
function createDemoContentAjaxCall( items, counter, $button ) {
|
597 |
+
var item = items[ counter ],
|
598 |
+
slug = item.name;
|
599 |
+
|
600 |
+
$.ajax({
|
601 |
+
method: 'POST',
|
602 |
+
url: ocdi.ajax_url,
|
603 |
+
data: {
|
604 |
+
action: 'ocdi_import_created_content',
|
605 |
+
security: ocdi.ajax_nonce,
|
606 |
+
slug: slug,
|
607 |
+
},
|
608 |
+
beforeSend: function() {
|
609 |
+
var $currentItem = $( '.content-item-' + slug );
|
610 |
+
$currentItem.find( '.js-ocdi-content-item-info' ).empty();
|
611 |
+
$currentItem.find( '.js-ocdi-content-item-error' ).empty();
|
612 |
+
$currentItem.addClass( 'content-item--loading' );
|
613 |
+
}
|
614 |
+
})
|
615 |
+
.done( function( response ) {
|
616 |
+
if ( response.data && response.data.refresh ) {
|
617 |
+
createDemoContentAjaxCall( items, counter, $button );
|
618 |
+
return;
|
619 |
+
}
|
620 |
+
|
621 |
+
var $currentItem = $( '.content-item-' + slug );
|
622 |
+
|
623 |
+
$currentItem.removeClass( 'content-item--loading' );
|
624 |
+
|
625 |
+
if ( response.success ) {
|
626 |
+
$currentItem.find( '.js-ocdi-content-item-info' ).append( '<p>' + ocdi.texts.successful_import + '</p>' );
|
627 |
+
} else {
|
628 |
+
$currentItem.find( '.js-ocdi-content-item-error' ).append( '<p>' + response.data + '</p>' );
|
629 |
+
}
|
630 |
+
})
|
631 |
+
.fail( function( error ) {
|
632 |
+
var $currentItem = $( '.content-item-' + slug );
|
633 |
+
$currentItem.removeClass( 'content-item--loading' );
|
634 |
+
$currentItem.find( '.js-ocdi-content-item-error' ).append( '<p>' + error.statusText + ' (' + error.status + ')</p>' );
|
635 |
+
})
|
636 |
+
.always( function( response ) {
|
637 |
+
if ( response.data && response.data.refresh ) {
|
638 |
+
return;
|
639 |
+
}
|
640 |
+
|
641 |
+
counter++;
|
642 |
+
|
643 |
+
if ( counter === items.length ) {
|
644 |
+
$button.removeClass( 'ocdi-button-disabled' );
|
645 |
+
} else {
|
646 |
+
createDemoContentAjaxCall( items, counter, $button );
|
647 |
+
}
|
648 |
+
} );
|
649 |
+
}
|
650 |
+
|
651 |
+
|
652 |
+
/**
|
653 |
+
* Get the parameter value from the URL.
|
654 |
+
*
|
655 |
+
* @param param
|
656 |
+
* @returns {boolean|string}
|
657 |
+
*/
|
658 |
+
function getUrlParameter( param ) {
|
659 |
+
var sPageURL = window.location.search.substring( 1 ),
|
660 |
+
sURLVariables = sPageURL.split( '&' ),
|
661 |
+
sParameterName,
|
662 |
+
i;
|
663 |
+
|
664 |
+
for ( i = 0; i < sURLVariables.length; i++ ) {
|
665 |
+
sParameterName = sURLVariables[ i ].split( '=' );
|
666 |
+
|
667 |
+
if ( sParameterName[0] === param ) {
|
668 |
+
return typeof sParameterName[1] === undefined ? true : decodeURIComponent( sParameterName[1] );
|
669 |
+
}
|
670 |
+
}
|
671 |
+
|
672 |
+
return false;
|
673 |
+
}
|
674 |
+
|
675 |
+
/**
|
676 |
+
* Run the main import with a selected predefined demo or with manual files (selected = false).
|
677 |
+
*
|
678 |
+
* Files for the manual import have already been uploaded in the '.js-ocdi-start-manual-import' event above.
|
679 |
+
*/
|
680 |
+
function startImport( selected ) {
|
681 |
+
// Prepare data for the AJAX call
|
682 |
+
var data = new FormData();
|
683 |
+
data.append( 'action', 'ocdi_import_demo_data' );
|
684 |
+
data.append( 'security', ocdi.ajax_nonce );
|
685 |
+
|
686 |
+
if ( selected ) {
|
687 |
+
data.append( 'selected', selected );
|
688 |
+
}
|
689 |
+
|
690 |
+
// AJAX call to import everything (content, widgets, before/after setup)
|
691 |
+
ajaxCall( data );
|
692 |
+
}
|
693 |
} );
|
assets/js/main.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
jQuery(function(d){"use strict";function i(i){var t,n=jQuery.Deferred();return(t=jQuery.Deferred(),o.addClass(e),setTimeout(function(){o.removeClass(e).hide(),t.resolve()},200),t.promise()).done(function(){var t,e;e=n,t="all"!==(t=i)&&t?'[data-categories*="'+t+'"]':"div",o.filter(t).show().addClass("ocdi-is-fadein"),setTimeout(function(){o.removeClass("ocdi-is-fadein"),e.resolve()},200)}),n}var o,e;function a(t,e,i){return i.indexOf(t)===e}function s(t,e,i,n,o){var a=t[e].name;d.ajax({method:"POST",url:ocdi.ajax_url,data:{action:"ocdi_install_plugin",security:ocdi.ajax_nonce,slug:a},beforeSend:function(){var t=d(".plugin-item-"+a);t.find(".js-ocdi-plugin-item-info").empty(),t.find(".js-ocdi-plugin-item-error").empty(),t.addClass("plugin-item--loading")}}).done(function(t){var e=d(".plugin-item-"+a);e.removeClass("plugin-item--loading"),t.success?(e.addClass("plugin-item--active"),e.find("input[type=checkbox]").prop("disabled",!0)):(-1===t.data.indexOf("<p>")&&(t.data="<p>"+t.data+"</p>"),e.find(".js-ocdi-plugin-item-error").append(t.data),e.find("input[type=checkbox]").prop("checked",!1),o=!0)}).fail(function(t){var e=d(".plugin-item-"+a);e.removeClass("plugin-item--loading"),e.find(".js-ocdi-plugin-item-error").append("<p>"+t.statusText+" ("+t.status+")</p>"),o=!0}).always(function(){++e===t.length?(n&&(o?alert(ocdi.texts.plugin_install_failed):l(c("import"))),i.removeClass("ocdi-button-disabled")):s(t,e,i,n,o)})}function c(t){for(var e,i=window.location.search.substring(1).split("&"),n=0;n<i.length;n++)if((e=i[n].split("="))[0]===t)return e[1],decodeURIComponent(e[1]);return!1}function l(t){var e=new FormData;e.append("action","ocdi_import_demo_data"),e.append("security",ocdi.ajax_nonce),t&&e.append("selected",t),function i(n){d.ajax({method:"POST",url:ocdi.ajax_url,data:n,contentType:!1,processData:!1,beforeSend:function(){d(".js-ocdi-install-plugins-content").hide(),d(".js-ocdi-importing").show()}}).done(function(t){var e;void 0!==t.status&&"newAJAX"===t.status?i(n):void 0!==t.status&&"customizerAJAX"===t.status?((e=new FormData).append("action","ocdi_import_customizer_data"),e.append("security",ocdi.ajax_nonce),!0===ocdi.wp_customize_on&&e.append("wp_customize","on"),i(e)):void 0!==t.status&&"afterAllImportAJAX"===t.status?((e=new FormData).append("action","ocdi_after_import_data"),e.append("security",ocdi.ajax_nonce),i(e)):void 0!==t.message?(d(".js-ocdi-ajax-response").append(t.message),void 0!==t.title&&d(".js-ocdi-ajax-response-title").html(t.title),void 0!==t.subtitle&&d(".js-ocdi-ajax-response-subtitle").html(t.subtitle),d(".js-ocdi-importing").hide(),d(".js-ocdi-imported").show(),d(document).trigger("ocdiImportComplete")):(d(".js-ocdi-ajax-response").append('<img class="ocdi-imported-content-imported ocdi-imported-content-imported--error" src="'+ocdi.plugin_url+'assets/images/error.svg" alt="'+ocdi.texts.import_failed+'"><p>'+t+"</p>"),d(".js-ocdi-ajax-response-title").html(ocdi.texts.import_failed),d(".js-ocdi-ajax-response-subtitle").html("<p>"+ocdi.texts.import_failed_subtitle+"</p>"),d(".js-ocdi-importing").hide(),d(".js-ocdi-imported").show())}).fail(function(t){d(".js-ocdi-ajax-response").append('<img class="ocdi-imported-content-imported ocdi-imported-content-imported--error" src="'+ocdi.plugin_url+'assets/images/error.svg" alt="'+ocdi.texts.import_failed+'"><p>Error: '+t.statusText+" ("+t.status+")</p>"),d(".js-ocdi-ajax-response-title").html(ocdi.texts.import_failed),d(".js-ocdi-ajax-response-subtitle").html("<p>"+ocdi.texts.import_failed_subtitle+"</p>"),d(".js-ocdi-importing").hide(),d(".js-ocdi-imported").show()})}(e)}d(".js-ocdi-notice-wrapper").appendTo(".js-ocdi-admin-notices-container"),d(".js-ocdi-auto-start-manual-import").length&&l(!1),d(".js-ocdi-start-manual-import").on("click",function(t){t.preventDefault();var e=d(this);if(e.hasClass("ocdi-button-disabled"))return!1;t=new FormData;if(t.append("action","ocdi_upload_manual_import_files"),t.append("security",ocdi.ajax_nonce),d("#ocdi__content-file-upload").length&&d("#ocdi__content-file-upload").get(0).files.length){var i=d("#ocdi__content-file-upload")[0].files[0],n=i.name.split(".").pop();if(-1===["xml"].indexOf(n.toLowerCase()))return alert(ocdi.texts.content_filetype_warn),!1;t.append("content_file",i)}if(d("#ocdi__widget-file-upload").length&&d("#ocdi__widget-file-upload").get(0).files.length){n=d("#ocdi__widget-file-upload")[0].files[0],i=n.name.split(".").pop();if(-1===["json","wie"].indexOf(i.toLowerCase()))return alert(ocdi.texts.widgets_filetype_warn),!1;t.append("widget_file",n)}if(d("#ocdi__customizer-file-upload").length&&d("#ocdi__customizer-file-upload").get(0).files.length){var o=d("#ocdi__customizer-file-upload")[0].files[0],a=o.name.split(".").pop();if(-1===["dat"].indexOf(a.toLowerCase()))return alert(ocdi.texts.customizer_filetype_warn),!1;t.append("customizer_file",o)}if(d("#ocdi__redux-file-upload").length&&d("#ocdi__redux-file-upload").get(0).files.length){a=d("#ocdi__redux-file-upload")[0].files[0],o=a.name.split(".").pop();if(-1===["json"].indexOf(o.toLowerCase()))return alert(ocdi.texts.redux_filetype_warn),!1;t.append("redux_file",a),t.append("redux_option_name",d("#ocdi__redux-option-name").val())}e.addClass("ocdi-button-disabled"),d.ajax({method:"POST",url:ocdi.ajax_url,data:t,contentType:!1,processData:!1}).done(function(t){t.success?window.location.href=ocdi.import_url:(alert(t.data),e.removeClass("ocdi-button-disabled"))}).fail(function(t){alert(t.statusText+" ("+t.status+")"),e.removeClass("ocdi-button-disabled")})}),d(".js-ocdi-cancel-manual-import").on("click",function(){d(".ocdi__file-upload-container-items input[type=file]").each(function(){d(this).val("").trigger("change")})}),d(document).on("change",".ocdi__file-upload-container-items input[type=file]",function(){var t=d(this),e=t.siblings("label"),i=!1;this.files&&0<this.files.length?(t.removeClass("ocdi-hide-input").blur(),e.hide()):(t.addClass("ocdi-hide-input"),e.show()),d(".ocdi__file-upload-container-items input[type=file]").each(function(){this.files&&0<this.files.length&&(i=!0)}),d(".js-ocdi-start-manual-import").prop("disabled",!i),d(".js-ocdi-cancel-manual-import").prop("disabled",!i)}),d(".ocdi-install-plugins-content-content .plugin-item.plugin-item--required input[type=checkbox]").on("click",function(t){return t.preventDefault(),!1}),d(".js-ocdi-install-plugins").on("click",function(t){t.preventDefault();var e=d(this);if(e.hasClass("ocdi-button-disabled"))return!1;t=d(".ocdi-install-plugins-content-content .plugin-item input[type=checkbox]").serializeArray();if(0===t.length)return!1;e.addClass("ocdi-button-disabled"),s(t,0,e,!1,!1)}),d(".js-ocdi-install-plugins-before-import").on("click",function(t){t.preventDefault();var e=d(this);if(e.hasClass("ocdi-button-disabled"))return!1;t=d(".ocdi-install-plugins-content-content .plugin-item:not(.plugin-item--disabled) input[type=checkbox]").serializeArray();if(0===t.length)return l(c("import")),!1;e.addClass("ocdi-button-disabled"),s(t,0,e,!0,!1)}),d(".js-ocdi-create-content").on("click",function(t){t.preventDefault();var e=d(this);if(e.hasClass("ocdi-button-disabled"))return!1;t=d(".ocdi-create-content-content .content-item input[type=checkbox]").serializeArray();if(0===t.length)return!1;e.addClass("ocdi-button-disabled"),function i(n,o,a){var t=n[o],s=t.name;d.ajax({method:"POST",url:ocdi.ajax_url,data:{action:"ocdi_import_created_content",security:ocdi.ajax_nonce,slug:s},beforeSend:function(){var t=d(".content-item-"+s);t.find(".js-ocdi-content-item-info").empty(),t.find(".js-ocdi-content-item-error").empty(),t.addClass("content-item--loading")}}).done(function(t){var e;t.data&&t.data.refresh?i(n,o,a):((e=d(".content-item-"+s)).removeClass("content-item--loading"),t.success?e.find(".js-ocdi-content-item-info").append("<p>"+ocdi.texts.successful_import+"</p>"):e.find(".js-ocdi-content-item-error").append("<p>"+t.data+"</p>"))}).fail(function(t){var e=d(".content-item-"+s);e.removeClass("content-item--loading"),e.find(".js-ocdi-content-item-error").append("<p>"+t.statusText+" ("+t.status+")</p>")}).always(function(t){t.data&&t.data.refresh||(++o===n.length?a.removeClass("ocdi-button-disabled"):i(n,o,a))})}(t,0,e)}),d(".js-ocdi-install-coming-soon-plugin").on("click",function(t){t.preventDefault();var e=d(this);if(e.hasClass("button-disabled"))return!1;e.addClass("button-disabled"),d.ajax({method:"POST",url:ocdi.ajax_url,data:{action:"ocdi_install_plugin",security:ocdi.ajax_nonce,slug:"coming-soon"},beforeSend:function(){e.text(ocdi.texts.installing)}}).done(function(t){t.success?e.text(ocdi.texts.installed):(alert(t.data),e.text(ocdi.texts.install_plugin),e.removeClass("button-disabled"))}).fail(function(t){alert(t.statusText+" ("+t.status+")"),e.removeClass("button-disabled")})}),d(document).on("change",".ocdi--create-content .content-item input[type=checkbox]",function(t){var e=d(".ocdi--create-content .content-item input[type=checkbox]"),i=d(".js-ocdi-create-content-install-plugins-notice"),n=[];e.each(function(){var e,i,t=d(this);t.is(":checked")&&(n=n.concat((e=(e=t.data("plugins")).split(","),i=[],ocdi.missing_plugins.forEach(function(t){-1!==e.indexOf(t.slug)&&i.push(t.name)}),i)))}),0<(n=n.filter(a).join(", ")).length?(i.find(".js-ocdi-create-content-install-plugins-list").text(n),i.show()):(i.find(".js-ocdi-create-content-install-plugins-list").text(""),i.hide())}),o=d(".js-ocdi-gl-item-container").find(".js-ocdi-gl-item"),e="ocdi-is-fadeout",d(".js-ocdi-nav-link").on("click",function(t){t.preventDefault(),d(this).parent().siblings().removeClass("active"),d(this).parent().addClass("active");var t=this.hash.slice(1),e=d(".js-ocdi-gl-item-container");e.css("min-width",e.outerHeight()),i(t).done(function(){e.removeAttr("style")})}),d(".js-ocdi-gl-search").on("keyup",function(t){0<d(this).val().length?(d(".js-ocdi-gl-item-container").find(".js-ocdi-gl-item").hide(),d(".js-ocdi-gl-item-container").find('.js-ocdi-gl-item[data-name*="'+d(this).val().toLowerCase()+'"]').show()):d(".js-ocdi-gl-item-container").find(".js-ocdi-gl-item").show()})});
|
inc/CreateDemoContent/DemoContentCreator.php
ADDED
@@ -0,0 +1,436 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Create Demo Content - responsible for importing pre-created demo content.
|
4 |
+
*
|
5 |
+
* @package ocdi
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace OCDI\CreateDemoContent;
|
9 |
+
|
10 |
+
use OCDI\Helpers;
|
11 |
+
use OCDI\Importer;
|
12 |
+
use OCDI\Logger;
|
13 |
+
use OCDI\OneClickDemoImport;
|
14 |
+
use OCDI\PluginInstaller;
|
15 |
+
|
16 |
+
class DemoContentCreator {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Holds all pre-created content.
|
20 |
+
*
|
21 |
+
* @var array
|
22 |
+
*/
|
23 |
+
private $content;
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Initialize everything needed for the demo content creator class to function properly.
|
27 |
+
*/
|
28 |
+
public function init() {
|
29 |
+
$this->set_content();
|
30 |
+
|
31 |
+
add_action( 'ocdi/demo_content_creator_after_import', array( $this, 'after_import_wpforms_setup' ) );
|
32 |
+
|
33 |
+
add_action( 'wp_ajax_ocdi_import_created_content', array( $this, 'import_created_content' ) );
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Get all default pre-created demo content data.
|
38 |
+
*
|
39 |
+
* @return array[]
|
40 |
+
*/
|
41 |
+
public function get_default_content() {
|
42 |
+
return array(
|
43 |
+
array(
|
44 |
+
'slug' => 'about-page',
|
45 |
+
'file' => OCDI_PATH . 'assets/demo-content/about-page.xml',
|
46 |
+
'name' => esc_html__( 'About Us', 'one-click-demo-import' ),
|
47 |
+
'description' => esc_html__( 'Introduce yourself and your business with a clean layout to reassure your leads and customers.', 'one-click-demo-import' ),
|
48 |
+
'required_plugins' => array(),
|
49 |
+
),
|
50 |
+
array(
|
51 |
+
'slug' => 'book-now-page',
|
52 |
+
'file' => OCDI_PATH . 'assets/demo-content/book-now-page.xml',
|
53 |
+
'name' => esc_html__( 'Book Now', 'one-click-demo-import' ),
|
54 |
+
'description' => esc_html__( 'Expand your reach by accepting appointments online plus detailing your services and staff.', 'one-click-demo-import' ),
|
55 |
+
'required_plugins' => array(),
|
56 |
+
),
|
57 |
+
array(
|
58 |
+
'slug' => 'contact-page',
|
59 |
+
'file' => OCDI_PATH . 'assets/demo-content/contact-page.xml',
|
60 |
+
'name' => esc_html__( 'Contact Us', 'one-click-demo-import' ),
|
61 |
+
'description' => esc_html__( 'Make it easy to get in touch with you through a completely customizable built-in contact form.', 'one-click-demo-import' ),
|
62 |
+
'required_plugins' => array( 'wpforms-lite' ),
|
63 |
+
),
|
64 |
+
array(
|
65 |
+
'slug' => 'faq-page',
|
66 |
+
'file' => OCDI_PATH . 'assets/demo-content/faq-page.xml',
|
67 |
+
'name' => esc_html__( 'FAQ', 'one-click-demo-import' ),
|
68 |
+
'description' => esc_html__( 'Lighten the load on your support team or your inbox by addressing frequently asked questions.', 'one-click-demo-import' ),
|
69 |
+
'required_plugins' => array(),
|
70 |
+
),
|
71 |
+
array(
|
72 |
+
'slug' => 'meet-the-team-page',
|
73 |
+
'file' => OCDI_PATH . 'assets/demo-content/meet-the-team-page.xml',
|
74 |
+
'name' => esc_html__( 'Meet the Team', 'one-click-demo-import' ),
|
75 |
+
'description' => esc_html__( 'Help potential clients feel more at ease by showing off your hard-working and trustworthy team.', 'one-click-demo-import' ),
|
76 |
+
'required_plugins' => array( 'wpforms-lite' ),
|
77 |
+
),
|
78 |
+
array(
|
79 |
+
'slug' => 'menu-page',
|
80 |
+
'file' => OCDI_PATH . 'assets/demo-content/menu-page.xml',
|
81 |
+
'name' => esc_html__( 'Menu', 'one-click-demo-import' ),
|
82 |
+
'description' => esc_html__( 'Display your delicious dishes online to entice website visitors to become restaurant customers.', 'one-click-demo-import' ),
|
83 |
+
'required_plugins' => array(),
|
84 |
+
),
|
85 |
+
array(
|
86 |
+
'slug' => 'portfolio-page',
|
87 |
+
'file' => OCDI_PATH . 'assets/demo-content/portfolio-page.xml',
|
88 |
+
'name' => esc_html__( 'Portfolio', 'one-click-demo-import' ),
|
89 |
+
'description' => esc_html__( 'Impress leads by visually showcasing your achievements, case studies, and past work.', 'one-click-demo-import' ),
|
90 |
+
'required_plugins' => array(),
|
91 |
+
),
|
92 |
+
array(
|
93 |
+
'slug' => 'services-page',
|
94 |
+
'file' => OCDI_PATH . 'assets/demo-content/services-page.xml',
|
95 |
+
'name' => esc_html__( 'Services', 'one-click-demo-import' ),
|
96 |
+
'description' => esc_html__( 'Let the world know your services or products\' cost and features in an organized pricing table.', 'one-click-demo-import' ),
|
97 |
+
'required_plugins' => array(),
|
98 |
+
),
|
99 |
+
array(
|
100 |
+
'slug' => 'shop-page',
|
101 |
+
'file' => OCDI_PATH . 'assets/demo-content/shop-page.xml',
|
102 |
+
'name' => esc_html__( 'Shop', 'one-click-demo-import' ),
|
103 |
+
'description' => esc_html__( 'Categorize and sell your products online while displaying reviews from happy customers.', 'one-click-demo-import' ),
|
104 |
+
'required_plugins' => array(),
|
105 |
+
),
|
106 |
+
array(
|
107 |
+
'file' => OCDI_PATH . 'assets/demo-content/testimonials-page.xml',
|
108 |
+
'slug' => 'testimonials-page',
|
109 |
+
'name' => esc_html__( 'Testimonials', 'one-click-demo-import' ),
|
110 |
+
'description' => esc_html__( 'Tap into the power of social proof by displaying real-life testimonials on your website.', 'one-click-demo-import' ),
|
111 |
+
'required_plugins' => array(),
|
112 |
+
),
|
113 |
+
);
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Set all pre-created demo pages.
|
118 |
+
* With our pre-created pages being set as defaults.
|
119 |
+
*/
|
120 |
+
public function set_content() {
|
121 |
+
$all_content = array_merge( $this->get_default_content(), Helpers::apply_filters( 'ocdi/register_created_demo_content', array() ) );
|
122 |
+
|
123 |
+
$this->content = array_filter(
|
124 |
+
$all_content,
|
125 |
+
function ( $item ) {
|
126 |
+
if ( empty( $item['slug'] ) || empty( $item['name'] ) || empty( $item['file'] ) ) {
|
127 |
+
return false;
|
128 |
+
}
|
129 |
+
|
130 |
+
return true;
|
131 |
+
}
|
132 |
+
);
|
133 |
+
}
|
134 |
+
|
135 |
+
public function after_import_wpforms_setup( $slug ) {
|
136 |
+
|
137 |
+
// Perform WPForms setup only if this is a contact or the meet the team page import.
|
138 |
+
if ( ! in_array( $slug, array( 'contact-page', 'meet-the-team-page' ), true ) ) {
|
139 |
+
return;
|
140 |
+
}
|
141 |
+
|
142 |
+
// Is WPForms plugin active?
|
143 |
+
$plugin_installer = new PluginInstaller();
|
144 |
+
|
145 |
+
if (
|
146 |
+
! (
|
147 |
+
$plugin_installer->is_plugin_active( 'wpforms-lite' ) ||
|
148 |
+
$plugin_installer->is_plugin_active( 'wpforms' )
|
149 |
+
)
|
150 |
+
) {
|
151 |
+
wp_send_json_error( esc_html__( 'Could not complete the import process for this page. Required WPForms plugin is not activated.', 'one-click-demo-import' ) );
|
152 |
+
}
|
153 |
+
|
154 |
+
if ( ! function_exists( 'wpforms' ) ) {
|
155 |
+
wp_send_json_error( esc_html__( 'Could not complete the import process for this page. Required WPForms plugin doesn\'t exist.', 'one-click-demo-import' ) );
|
156 |
+
}
|
157 |
+
|
158 |
+
$form_title = ( $slug === 'meet-the-team-page' ) ? esc_html__( 'Meet the Team Form', 'one-click-demo-import' ) : esc_html__( 'Contact Form', 'one-click-demo-import' );
|
159 |
+
$form_id = $this->create_wpforms_form( $form_title );
|
160 |
+
|
161 |
+
if ( empty( $form_id ) ) {
|
162 |
+
wp_send_json_error( esc_html__( 'Could not complete the import process for this page. Something went wrong while creating a WPForms contact form.', 'one-click-demo-import' ) );
|
163 |
+
}
|
164 |
+
|
165 |
+
$update_page = $this->update_contact_page_form_id( $form_id );
|
166 |
+
|
167 |
+
if ( empty( $update_page ) ) {
|
168 |
+
wp_send_json_error( esc_html__( 'Could not complete the import process for this page. Could not update the imported page with correct WPForms form ID.', 'one-click-demo-import' ) );
|
169 |
+
}
|
170 |
+
}
|
171 |
+
|
172 |
+
/**
|
173 |
+
* AJAX callback for importing the pre-created demo content.
|
174 |
+
* Has to contain the `slug` POST parameter.
|
175 |
+
*/
|
176 |
+
public function import_created_content() {
|
177 |
+
check_ajax_referer( 'ocdi-ajax-verification', 'security' );
|
178 |
+
|
179 |
+
// Check if user has the WP capability to import content.
|
180 |
+
if ( ! current_user_can( 'import' ) ) {
|
181 |
+
wp_send_json_error( esc_html__( 'Could not import this page. You don\'t have permission to import content.', 'one-click-demo-import' ) );
|
182 |
+
}
|
183 |
+
|
184 |
+
$slug = ! empty( $_POST['slug'] ) ? sanitize_key( wp_unslash( $_POST['slug'] ) ) : '';
|
185 |
+
|
186 |
+
if ( empty( $slug ) ) {
|
187 |
+
wp_send_json_error( esc_html__( 'Could not import this page. Page slug is missing.', 'one-click-demo-import' ) );
|
188 |
+
}
|
189 |
+
|
190 |
+
// Install required plugins.
|
191 |
+
$content_item = $this->get_content_data( $slug );
|
192 |
+
$ocdi = OneClickDemoImport::get_instance();
|
193 |
+
$refresh = false;
|
194 |
+
|
195 |
+
if ( ! empty( $content_item['required_plugins'] ) ) {
|
196 |
+
foreach ( $content_item['required_plugins'] as $plugin_slug ) {
|
197 |
+
if ( ! $ocdi->plugin_installer->is_plugin_active( $plugin_slug ) ) {
|
198 |
+
$ocdi->plugin_installer->install_plugin( $plugin_slug );
|
199 |
+
$refresh = true;
|
200 |
+
}
|
201 |
+
}
|
202 |
+
}
|
203 |
+
|
204 |
+
if ( $refresh ) {
|
205 |
+
wp_send_json_success( [ 'refresh' => true ] );
|
206 |
+
}
|
207 |
+
|
208 |
+
// Import the pre-created page.
|
209 |
+
$error = $this->import_content( $slug );
|
210 |
+
|
211 |
+
if ( ! empty( $error ) ) {
|
212 |
+
wp_send_json_error(
|
213 |
+
sprintf( /* translators: %s - The actual error message. */
|
214 |
+
esc_html__( 'An error occured while importing this page: %s', 'one-click-demo-import' ),
|
215 |
+
esc_html( $error )
|
216 |
+
)
|
217 |
+
);
|
218 |
+
}
|
219 |
+
|
220 |
+
wp_send_json_success();
|
221 |
+
}
|
222 |
+
|
223 |
+
/**
|
224 |
+
* Get the data of a registered pre-created content via the slug.
|
225 |
+
*
|
226 |
+
* @param string $slug The pre-created content slug.
|
227 |
+
*
|
228 |
+
* @return array
|
229 |
+
*/
|
230 |
+
public function get_content_data( $slug ) {
|
231 |
+
$data = [];
|
232 |
+
|
233 |
+
foreach ( $this->content as $item ) {
|
234 |
+
if ( $item['slug'] === $slug ) {
|
235 |
+
$data = $item;
|
236 |
+
break;
|
237 |
+
}
|
238 |
+
}
|
239 |
+
|
240 |
+
return $data;
|
241 |
+
}
|
242 |
+
|
243 |
+
/**
|
244 |
+
* Import the content for the selected pre-created content slug.
|
245 |
+
*
|
246 |
+
* @param string $slug The pre-created content slug.
|
247 |
+
*
|
248 |
+
* @return string
|
249 |
+
*/
|
250 |
+
private function import_content( $slug ) {
|
251 |
+
$import_file = $this->get_import_file( $slug );
|
252 |
+
|
253 |
+
if ( empty( $import_file ) ) {
|
254 |
+
return esc_html__( 'The demo content import file is missing.', 'one-click-demo-import' );
|
255 |
+
}
|
256 |
+
|
257 |
+
// Change the date to allow same page import multiple times.
|
258 |
+
add_filter( 'wxr_importer.pre_process.post', function ( $data ) {
|
259 |
+
if ( $data['post_type'] === 'page' ) {
|
260 |
+
$data['post_date'] = date( 'Y-m-d H:i:s' );
|
261 |
+
}
|
262 |
+
|
263 |
+
return $data;
|
264 |
+
} );
|
265 |
+
|
266 |
+
// Increase PHP max execution time.
|
267 |
+
if ( strpos( ini_get( 'disable_functions' ), 'set_time_limit' ) === false ) {
|
268 |
+
set_time_limit( Helpers::apply_filters( 'ocdi/set_time_limit_for_demo_data_import', 300 ) );
|
269 |
+
}
|
270 |
+
|
271 |
+
// Disable import of authors.
|
272 |
+
add_filter( 'wxr_importer.pre_process.user', '__return_false' );
|
273 |
+
|
274 |
+
// Configure logger instance and set it to the importer.
|
275 |
+
$logger = new Logger();
|
276 |
+
$logger->min_level = 'warning';
|
277 |
+
|
278 |
+
// Create importer instance with proper parameters.
|
279 |
+
$importer = new Importer(
|
280 |
+
array(
|
281 |
+
'fetch_attachments' => true,
|
282 |
+
'aggressive_url_search' => true,
|
283 |
+
'prefill_existing_posts' => false,
|
284 |
+
),
|
285 |
+
$logger
|
286 |
+
);
|
287 |
+
|
288 |
+
Helpers::do_action( 'ocdi/demo_content_creater_before_import', $slug );
|
289 |
+
|
290 |
+
ob_start();
|
291 |
+
$importer->import( $import_file );
|
292 |
+
$message = ob_get_clean(); // Catch any output and clear the buffers.
|
293 |
+
|
294 |
+
Helpers::do_action( 'ocdi/demo_content_creator_after_import', $slug );
|
295 |
+
|
296 |
+
return $importer->logger->error_output;
|
297 |
+
}
|
298 |
+
|
299 |
+
/**
|
300 |
+
* Get the demo import file for the provided slug.
|
301 |
+
*
|
302 |
+
* @param string $slug The pre-created content slug.
|
303 |
+
*
|
304 |
+
* @return string
|
305 |
+
*/
|
306 |
+
private function get_import_file( $slug ) {
|
307 |
+
$content_data = $this->get_content_data( $slug );
|
308 |
+
|
309 |
+
return ! empty( $content_data['file'] ) ? $content_data['file'] : '';
|
310 |
+
}
|
311 |
+
|
312 |
+
/**
|
313 |
+
* Create a WPForms contact form, for the pre-created pages.
|
314 |
+
*
|
315 |
+
* @param string $title The title of the contact form.
|
316 |
+
*
|
317 |
+
* @return false|int
|
318 |
+
*/
|
319 |
+
private function create_wpforms_form( $title ) {
|
320 |
+
$form_id = wpforms()->form->add( $title );
|
321 |
+
|
322 |
+
if ( empty( $form_id ) || is_wp_error( $form_id ) ) {
|
323 |
+
return false;
|
324 |
+
}
|
325 |
+
|
326 |
+
$form_id = wpforms()->form->update(
|
327 |
+
$form_id,
|
328 |
+
array(
|
329 |
+
'id' => $form_id,
|
330 |
+
'field_id' => '3',
|
331 |
+
'fields' => array(
|
332 |
+
'0' => array(
|
333 |
+
'id' => '0',
|
334 |
+
'type' => 'name',
|
335 |
+
'format' => 'first-last',
|
336 |
+
'label' => esc_html__( 'Name', 'one-click-demo-import' ),
|
337 |
+
'required' => '1',
|
338 |
+
'size' => 'medium',
|
339 |
+
),
|
340 |
+
'1' => array(
|
341 |
+
'id' => '1',
|
342 |
+
'type' => 'email',
|
343 |
+
'label' => esc_html__( 'Email', 'one-click-demo-import' ),
|
344 |
+
'required' => '1',
|
345 |
+
'size' => 'medium',
|
346 |
+
),
|
347 |
+
'2' => array(
|
348 |
+
'id' => '2',
|
349 |
+
'type' => 'textarea',
|
350 |
+
'label' => esc_html__( 'Comment or Message', 'one-click-demo-import' ),
|
351 |
+
'description' => '',
|
352 |
+
'required' => '1',
|
353 |
+
'size' => 'medium',
|
354 |
+
'placeholder' => '',
|
355 |
+
'css' => '',
|
356 |
+
),
|
357 |
+
),
|
358 |
+
'settings' => array(
|
359 |
+
'form_title' => $title,
|
360 |
+
'notification_enable' => '1',
|
361 |
+
'notifications' => array(
|
362 |
+
'1' => array(
|
363 |
+
'email' => '{admin_email}',
|
364 |
+
'sender_address' => '{admin_email}',
|
365 |
+
'replyto' => '{field_id="1"}',
|
366 |
+
'message' => '{all_fields}',
|
367 |
+
),
|
368 |
+
),
|
369 |
+
'confirmations' => array(
|
370 |
+
'1' => array(
|
371 |
+
'type' => 'message',
|
372 |
+
'message' => esc_html__( 'Thanks for contacting us! We will be in touch with you shortly.', 'one-click-demo-import' ),
|
373 |
+
'message_scroll' => '1',
|
374 |
+
),
|
375 |
+
),
|
376 |
+
'antispam' => '1',
|
377 |
+
'submit_text' => esc_html__( 'Submit', 'one-click-demo-import' ),
|
378 |
+
'submit_text_processing' => esc_html__( 'Sending...', 'one-click-demo-import' ),
|
379 |
+
),
|
380 |
+
)
|
381 |
+
);
|
382 |
+
|
383 |
+
if ( empty( $form_id ) || is_wp_error( $form_id ) ) {
|
384 |
+
return false;
|
385 |
+
}
|
386 |
+
|
387 |
+
return $form_id;
|
388 |
+
}
|
389 |
+
|
390 |
+
|
391 |
+
/**
|
392 |
+
* Find the imported contact page and update the form ID.
|
393 |
+
*
|
394 |
+
* @param int $form_id The WPForms form ID.
|
395 |
+
*
|
396 |
+
* @return bool
|
397 |
+
*/
|
398 |
+
private function update_contact_page_form_id( $form_id ) {
|
399 |
+
$pages = get_posts( array(
|
400 |
+
'post_type' => 'page',
|
401 |
+
'meta_query' => array(
|
402 |
+
array(
|
403 |
+
'key' => 'ocdi_precreated_demo',
|
404 |
+
'value' => 'contact-page',
|
405 |
+
),
|
406 |
+
array(
|
407 |
+
'key' => 'ocdi_precreated_demo_updated',
|
408 |
+
'value' => 'no',
|
409 |
+
)
|
410 |
+
),
|
411 |
+
) );
|
412 |
+
|
413 |
+
if ( empty( $pages ) ) {
|
414 |
+
return false;
|
415 |
+
}
|
416 |
+
|
417 |
+
$contact_page = $pages[0];
|
418 |
+
|
419 |
+
// Replace the placeholder form ID with the newly created contact form.
|
420 |
+
$contact_page->post_content = str_replace(
|
421 |
+
'9999',
|
422 |
+
(string) $form_id,
|
423 |
+
$contact_page->post_content
|
424 |
+
);
|
425 |
+
|
426 |
+
$update_page = wp_update_post( $contact_page, true );
|
427 |
+
|
428 |
+
if ( is_wp_error( $update_page ) ) {
|
429 |
+
return false;
|
430 |
+
}
|
431 |
+
|
432 |
+
update_post_meta( $contact_page->ID, 'ocdi_precreated_demo_updated', 'yes' );
|
433 |
+
|
434 |
+
return true;
|
435 |
+
}
|
436 |
+
}
|
inc/CustomizerImporter.php
CHANGED
@@ -34,15 +34,15 @@ class CustomizerImporter {
|
|
34 |
Helpers::append_to_file(
|
35 |
$error_message,
|
36 |
$log_file_path,
|
37 |
-
esc_html__( 'Importing customizer settings', '
|
38 |
);
|
39 |
}
|
40 |
else {
|
41 |
// Add this message to log file.
|
42 |
$log_added = Helpers::append_to_file(
|
43 |
-
esc_html__( 'Customizer settings import finished!', '
|
44 |
$log_file_path,
|
45 |
-
esc_html__( 'Importing customizer settings' , '
|
46 |
);
|
47 |
}
|
48 |
}
|
@@ -69,8 +69,8 @@ class CustomizerImporter {
|
|
69 |
if ( ! file_exists( $import_file_path ) ) {
|
70 |
return new \WP_Error(
|
71 |
'missing_cutomizer_import_file',
|
72 |
-
sprintf(
|
73 |
-
esc_html__( 'Error: The customizer import file is missing! File path: %s', '
|
74 |
$import_file_path
|
75 |
)
|
76 |
);
|
@@ -90,18 +90,18 @@ class CustomizerImporter {
|
|
90 |
if ( ! is_array( $data ) && ( ! isset( $data['template'] ) || ! isset( $data['mods'] ) ) ) {
|
91 |
return new \WP_Error(
|
92 |
'customizer_import_data_error',
|
93 |
-
esc_html__( 'Error: The customizer import file is not in a correct format. Please make sure to use the correct customizer import file.', '
|
94 |
);
|
95 |
}
|
96 |
if ( $data['template'] !== $template ) {
|
97 |
return new \WP_Error(
|
98 |
'customizer_import_wrong_theme',
|
99 |
-
esc_html__( 'Error: The customizer import file is not suitable for current theme. You can only import customizer settings for the same theme or a child theme.', '
|
100 |
);
|
101 |
}
|
102 |
|
103 |
// Import images.
|
104 |
-
if ( apply_filters( '
|
105 |
$data['mods'] = self::import_customizer_images( $data['mods'] );
|
106 |
}
|
107 |
|
@@ -124,7 +124,7 @@ class CustomizerImporter {
|
|
124 |
}
|
125 |
|
126 |
// Should the customizer import use the WP customize_save* hooks?
|
127 |
-
$use_wp_customize_save_hooks = apply_filters( '
|
128 |
|
129 |
if ( $use_wp_customize_save_hooks ) {
|
130 |
do_action( 'customize_save', $wp_customize );
|
34 |
Helpers::append_to_file(
|
35 |
$error_message,
|
36 |
$log_file_path,
|
37 |
+
esc_html__( 'Importing customizer settings', 'one-click-demo-import' )
|
38 |
);
|
39 |
}
|
40 |
else {
|
41 |
// Add this message to log file.
|
42 |
$log_added = Helpers::append_to_file(
|
43 |
+
esc_html__( 'Customizer settings import finished!', 'one-click-demo-import' ),
|
44 |
$log_file_path,
|
45 |
+
esc_html__( 'Importing customizer settings' , 'one-click-demo-import' )
|
46 |
);
|
47 |
}
|
48 |
}
|
69 |
if ( ! file_exists( $import_file_path ) ) {
|
70 |
return new \WP_Error(
|
71 |
'missing_cutomizer_import_file',
|
72 |
+
sprintf( /* translators: %s - file path */
|
73 |
+
esc_html__( 'Error: The customizer import file is missing! File path: %s', 'one-click-demo-import' ),
|
74 |
$import_file_path
|
75 |
)
|
76 |
);
|
90 |
if ( ! is_array( $data ) && ( ! isset( $data['template'] ) || ! isset( $data['mods'] ) ) ) {
|
91 |
return new \WP_Error(
|
92 |
'customizer_import_data_error',
|
93 |
+
esc_html__( 'Error: The customizer import file is not in a correct format. Please make sure to use the correct customizer import file.', 'one-click-demo-import' )
|
94 |
);
|
95 |
}
|
96 |
if ( $data['template'] !== $template ) {
|
97 |
return new \WP_Error(
|
98 |
'customizer_import_wrong_theme',
|
99 |
+
esc_html__( 'Error: The customizer import file is not suitable for current theme. You can only import customizer settings for the same theme or a child theme.', 'one-click-demo-import' )
|
100 |
);
|
101 |
}
|
102 |
|
103 |
// Import images.
|
104 |
+
if ( Helpers::apply_filters( 'ocdi/customizer_import_images', true ) ) {
|
105 |
$data['mods'] = self::import_customizer_images( $data['mods'] );
|
106 |
}
|
107 |
|
124 |
}
|
125 |
|
126 |
// Should the customizer import use the WP customize_save* hooks?
|
127 |
+
$use_wp_customize_save_hooks = Helpers::apply_filters( 'ocdi/enable_wp_customize_save_hooks', false );
|
128 |
|
129 |
if ( $use_wp_customize_save_hooks ) {
|
130 |
do_action( 'customize_save', $wp_customize );
|
inc/Downloader.php
CHANGED
@@ -55,14 +55,14 @@ class Downloader {
|
|
55 |
if ( empty( $url ) ) {
|
56 |
return new \WP_Error(
|
57 |
'missing_url',
|
58 |
-
__( 'Missing URL for downloading a file!', '
|
59 |
);
|
60 |
}
|
61 |
|
62 |
// Get file content from the server.
|
63 |
$response = wp_remote_get(
|
64 |
$url,
|
65 |
-
array( 'timeout' => apply_filters( '
|
66 |
);
|
67 |
|
68 |
// Test if the get request was not successful.
|
@@ -72,8 +72,8 @@ class Downloader {
|
|
72 |
|
73 |
return new \WP_Error(
|
74 |
'download_error',
|
75 |
-
sprintf(
|
76 |
-
__( 'An error occurred while fetching file from: %1$s%2$s%3$s!%4$sReason: %5$s - %6$s.', '
|
77 |
'<strong>',
|
78 |
$url,
|
79 |
'</strong>',
|
@@ -81,7 +81,7 @@ class Downloader {
|
|
81 |
$response_error['error_code'],
|
82 |
$response_error['error_message']
|
83 |
) . '<br>' .
|
84 |
-
apply_filters( '
|
85 |
);
|
86 |
}
|
87 |
|
@@ -132,7 +132,7 @@ class Downloader {
|
|
132 |
}
|
133 |
else {
|
134 |
$upload_dir = wp_upload_dir();
|
135 |
-
$this->download_directory_path = apply_filters( '
|
136 |
}
|
137 |
}
|
138 |
}
|
55 |
if ( empty( $url ) ) {
|
56 |
return new \WP_Error(
|
57 |
'missing_url',
|
58 |
+
__( 'Missing URL for downloading a file!', 'one-click-demo-import' )
|
59 |
);
|
60 |
}
|
61 |
|
62 |
// Get file content from the server.
|
63 |
$response = wp_remote_get(
|
64 |
$url,
|
65 |
+
array( 'timeout' => Helpers::apply_filters( 'ocdi/timeout_for_downloading_import_file', 20 ) )
|
66 |
);
|
67 |
|
68 |
// Test if the get request was not successful.
|
72 |
|
73 |
return new \WP_Error(
|
74 |
'download_error',
|
75 |
+
sprintf( /* translators: %1$s and %3$s - strong HTML tags, %2$s - file URL, %4$s - br HTML tag, %5$s - error code, %6$s - error message. */
|
76 |
+
__( 'An error occurred while fetching file from: %1$s%2$s%3$s!%4$sReason: %5$s - %6$s.', 'one-click-demo-import' ),
|
77 |
'<strong>',
|
78 |
$url,
|
79 |
'</strong>',
|
81 |
$response_error['error_code'],
|
82 |
$response_error['error_message']
|
83 |
) . '<br>' .
|
84 |
+
Helpers::apply_filters( 'ocdi/message_after_file_fetching_error', '' )
|
85 |
);
|
86 |
}
|
87 |
|
132 |
}
|
133 |
else {
|
134 |
$upload_dir = wp_upload_dir();
|
135 |
+
$this->download_directory_path = Helpers::apply_filters( 'ocdi/upload_file_path', trailingslashit( $upload_dir['path'] ) );
|
136 |
}
|
137 |
}
|
138 |
}
|
inc/Helpers.php
CHANGED
@@ -67,7 +67,7 @@ class Helpers {
|
|
67 |
);
|
68 |
$downloader = new Downloader();
|
69 |
|
70 |
-
$import_file_info = apply_filters('
|
71 |
|
72 |
// ----- Set content file path -----
|
73 |
// Check if 'import_file_url' is not defined. That would mean a local file.
|
@@ -78,7 +78,7 @@ class Helpers {
|
|
78 |
}
|
79 |
else {
|
80 |
// Set the filename string for content import file.
|
81 |
-
$content_filename = apply_filters( '
|
82 |
|
83 |
// Download the content import file.
|
84 |
$downloaded_files['content'] = $downloader->download_file( $import_file_info['import_file_url'], $content_filename );
|
@@ -93,7 +93,7 @@ class Helpers {
|
|
93 |
// Get widgets file as well. If defined!
|
94 |
if ( ! empty( $import_file_info['import_widget_file_url'] ) ) {
|
95 |
// Set the filename string for widgets import file.
|
96 |
-
$widget_filename = apply_filters( '
|
97 |
|
98 |
// Download the widgets import file.
|
99 |
$downloaded_files['widgets'] = $downloader->download_file( $import_file_info['import_widget_file_url'], $widget_filename );
|
@@ -113,7 +113,7 @@ class Helpers {
|
|
113 |
// Get customizer import file as well. If defined!
|
114 |
if ( ! empty( $import_file_info['import_customizer_file_url'] ) ) {
|
115 |
// Setup filename path to save the customizer content.
|
116 |
-
$customizer_filename = apply_filters( '
|
117 |
|
118 |
// Download the customizer import file.
|
119 |
$downloaded_files['customizer'] = $downloader->download_file( $import_file_info['import_customizer_file_url'], $customizer_filename );
|
@@ -136,7 +136,7 @@ class Helpers {
|
|
136 |
|
137 |
// Setup filename paths to save the Redux content.
|
138 |
foreach ( $import_file_info['import_redux'] as $index => $redux_item ) {
|
139 |
-
$redux_filename = apply_filters( '
|
140 |
|
141 |
// Download the Redux import file.
|
142 |
$file_path = $downloader->download_file( $redux_item['file_url'], $redux_filename );
|
@@ -195,8 +195,8 @@ class Helpers {
|
|
195 |
if ( ! $wp_filesystem->put_contents( $file_path, $content ) ) {
|
196 |
return new \WP_Error(
|
197 |
'failed_writing_file_to_server',
|
198 |
-
sprintf(
|
199 |
-
__( 'An error occurred while writing file to your server! Tried to write a file to: %s%s.', '
|
200 |
'<br>',
|
201 |
$file_path
|
202 |
)
|
@@ -238,8 +238,8 @@ class Helpers {
|
|
238 |
if ( ! $wp_filesystem->put_contents( $file_path, $existing_data . $separator . $content . PHP_EOL ) ) {
|
239 |
return new \WP_Error(
|
240 |
'failed_writing_file_to_server',
|
241 |
-
sprintf(
|
242 |
-
__( 'An error occurred while writing file to your server! Tried to write a file to: %s%s.', '
|
243 |
'<br>',
|
244 |
$file_path
|
245 |
)
|
@@ -272,8 +272,8 @@ class Helpers {
|
|
272 |
if ( ! $data ) {
|
273 |
return new \WP_Error(
|
274 |
'failed_reading_file_from_server',
|
275 |
-
sprintf(
|
276 |
-
__( 'An error occurred while reading a file from your server! Tried reading file from path: %s%s.', '
|
277 |
'<br>',
|
278 |
$file_path
|
279 |
)
|
@@ -295,8 +295,8 @@ class Helpers {
|
|
295 |
if ( ! ( 'direct' === get_filesystem_method() ) ) {
|
296 |
return new \WP_Error(
|
297 |
'no_direct_file_access',
|
298 |
-
sprintf(
|
299 |
-
__( 'This WordPress page does not have %sdirect%s write file access. This plugin needs it in order to save the demo import xml file to the upload directory of your site. You can change this setting with these instructions: %s.', '
|
300 |
'<strong>',
|
301 |
'</strong>',
|
302 |
'<a href="http://gregorcapuder.com/wordpress-how-to-set-direct-filesystem-method/" target="_blank">How to set <strong>direct</strong> filesystem method</a>'
|
@@ -305,14 +305,7 @@ class Helpers {
|
|
305 |
}
|
306 |
|
307 |
// Get plugin page settings.
|
308 |
-
$plugin_page_setup =
|
309 |
-
'parent_slug' => 'themes.php',
|
310 |
-
'page_title' => esc_html__( 'One Click Demo Import' , 'pt-ocdi' ),
|
311 |
-
'menu_title' => esc_html__( 'Import Demo Data' , 'pt-ocdi' ),
|
312 |
-
'capability' => 'import',
|
313 |
-
'menu_slug' => 'pt-one-click-demo-import',
|
314 |
-
)
|
315 |
-
);
|
316 |
|
317 |
// Get user credentials for WP file-system API.
|
318 |
$demo_import_page_url = wp_nonce_url( $plugin_page_setup['parent_slug'] . '?page=' . $plugin_page_setup['menu_slug'], $plugin_page_setup['menu_slug'] );
|
@@ -320,7 +313,7 @@ class Helpers {
|
|
320 |
if ( false === ( $creds = request_filesystem_credentials( $demo_import_page_url, '', false, false, null ) ) ) {
|
321 |
return new \WP_error(
|
322 |
'filesystem_credentials_could_not_be_retrieved',
|
323 |
-
__( 'An error occurred while retrieving reading/writing permissions to your server (could not retrieve WP filesystem credentials)!', '
|
324 |
);
|
325 |
}
|
326 |
|
@@ -328,7 +321,7 @@ class Helpers {
|
|
328 |
if ( ! WP_Filesystem( $creds ) ) {
|
329 |
return new \WP_Error(
|
330 |
'wrong_login_credentials',
|
331 |
-
__( 'Your WordPress login credentials don\'t allow to use WP_Filesystem!', '
|
332 |
);
|
333 |
}
|
334 |
|
@@ -343,9 +336,9 @@ class Helpers {
|
|
343 |
*/
|
344 |
public static function get_log_path() {
|
345 |
$upload_dir = wp_upload_dir();
|
346 |
-
$upload_path = apply_filters( '
|
347 |
|
348 |
-
$log_path = $upload_path . apply_filters( '
|
349 |
|
350 |
self::register_file_as_media_attachment( $log_path );
|
351 |
|
@@ -362,13 +355,13 @@ class Helpers {
|
|
362 |
public static function register_file_as_media_attachment( $log_path ) {
|
363 |
// Check the type of file.
|
364 |
$log_mimes = array( 'txt' => 'text/plain' );
|
365 |
-
$filetype = wp_check_filetype( basename( $log_path ), apply_filters( '
|
366 |
|
367 |
// Prepare an array of post data for the attachment.
|
368 |
$attachment = array(
|
369 |
'guid' => self::get_log_url( $log_path ),
|
370 |
'post_mime_type' => $filetype['type'],
|
371 |
-
'post_title' => apply_filters( '
|
372 |
'post_content' => '',
|
373 |
'post_status' => 'inherit',
|
374 |
);
|
@@ -386,7 +379,7 @@ class Helpers {
|
|
386 |
*/
|
387 |
public static function get_log_url( $log_path ) {
|
388 |
$upload_dir = wp_upload_dir();
|
389 |
-
$upload_url = apply_filters( '
|
390 |
|
391 |
return $upload_url . basename( $log_path );
|
392 |
}
|
@@ -401,8 +394,8 @@ class Helpers {
|
|
401 |
// Check if user has the WP capability to import data.
|
402 |
if ( ! current_user_can( 'import' ) ) {
|
403 |
wp_die(
|
404 |
-
sprintf(
|
405 |
-
__( '%sYour user role isn\'t high enough. You don\'t have permission to import demo data.%s', '
|
406 |
'<div class="notice notice-error"><p>',
|
407 |
'</p></div>'
|
408 |
)
|
@@ -435,7 +428,7 @@ class Helpers {
|
|
435 |
|
436 |
// Error data if the demo file was not provided.
|
437 |
$file_not_provided_error = array(
|
438 |
-
'error' => esc_html__( 'No file provided.', '
|
439 |
);
|
440 |
|
441 |
// Handle demo file uploads.
|
@@ -463,12 +456,12 @@ class Helpers {
|
|
463 |
else {
|
464 |
// Add this error to log file.
|
465 |
$log_added = self::append_to_file(
|
466 |
-
sprintf(
|
467 |
-
__( 'Content file was not uploaded. Error: %s', '
|
468 |
$content_file_info['error']
|
469 |
),
|
470 |
$log_file_path,
|
471 |
-
esc_html__( 'Upload files' , '
|
472 |
);
|
473 |
}
|
474 |
|
@@ -480,12 +473,12 @@ class Helpers {
|
|
480 |
else {
|
481 |
// Add this error to log file.
|
482 |
$log_added = self::append_to_file(
|
483 |
-
sprintf(
|
484 |
-
__( 'Widget file was not uploaded. Error: %s', '
|
485 |
$widget_file_info['error']
|
486 |
),
|
487 |
$log_file_path,
|
488 |
-
esc_html__( 'Upload files' , '
|
489 |
);
|
490 |
}
|
491 |
|
@@ -497,12 +490,12 @@ class Helpers {
|
|
497 |
else {
|
498 |
// Add this error to log file.
|
499 |
$log_added = self::append_to_file(
|
500 |
-
sprintf(
|
501 |
-
__( 'Customizer file was not uploaded. Error: %s', '
|
502 |
$customizer_file_info['error']
|
503 |
),
|
504 |
$log_file_path,
|
505 |
-
esc_html__( 'Upload files' , '
|
506 |
);
|
507 |
}
|
508 |
|
@@ -511,9 +504,9 @@ class Helpers {
|
|
511 |
if ( isset( $_POST['redux_option_name'] ) && empty( $_POST['redux_option_name'] ) ) {
|
512 |
// Write error to log file and send an AJAX response with the error.
|
513 |
self::log_error_and_send_ajax_response(
|
514 |
-
esc_html__( 'Missing Redux option name! Please also enter the Redux option name!', '
|
515 |
$log_file_path,
|
516 |
-
esc_html__( 'Upload files', '
|
517 |
);
|
518 |
}
|
519 |
|
@@ -528,20 +521,20 @@ class Helpers {
|
|
528 |
else {
|
529 |
// Add this error to log file.
|
530 |
$log_added = self::append_to_file(
|
531 |
-
sprintf(
|
532 |
-
__( 'Redux file was not uploaded. Error: %s', '
|
533 |
$redux_file_info['error']
|
534 |
),
|
535 |
$log_file_path,
|
536 |
-
esc_html__( 'Upload files' , '
|
537 |
);
|
538 |
}
|
539 |
|
540 |
// Add this message to log file.
|
541 |
$log_added = self::append_to_file(
|
542 |
-
__( 'The import files were successfully uploaded!', '
|
543 |
$log_file_path,
|
544 |
-
esc_html__( 'Upload files' , '
|
545 |
);
|
546 |
|
547 |
// Return array with paths of uploaded files.
|
@@ -564,18 +557,18 @@ class Helpers {
|
|
564 |
}
|
565 |
|
566 |
return PHP_EOL .
|
567 |
-
sprintf(
|
568 |
-
__( 'Initial max execution time = %s', '
|
569 |
ini_get( 'max_execution_time' )
|
570 |
) . PHP_EOL .
|
571 |
-
sprintf(
|
572 |
-
__( 'Files info:%1$sSite URL = %2$s%1$sData file = %3$s%1$sWidget file = %4$s%1$sCustomizer file = %5$s%1$sRedux files:%1$s%6$s', '
|
573 |
PHP_EOL,
|
574 |
get_site_url(),
|
575 |
-
empty( $selected_import_files['content'] ) ? esc_html__( 'not defined!', '
|
576 |
-
empty( $selected_import_files['widgets'] ) ? esc_html__( 'not defined!', '
|
577 |
-
empty( $selected_import_files['customizer'] ) ? esc_html__( 'not defined!', '
|
578 |
-
empty( $redux_file_string ) ? esc_html__( 'not defined!', '
|
579 |
);
|
580 |
}
|
581 |
|
@@ -604,7 +597,7 @@ class Helpers {
|
|
604 |
* Set the $demo_import_start_time class variable with the current date and time string.
|
605 |
*/
|
606 |
public static function set_demo_import_start_time() {
|
607 |
-
self::$demo_import_start_time = date( apply_filters( '
|
608 |
}
|
609 |
|
610 |
|
@@ -665,4 +658,91 @@ class Helpers {
|
|
665 |
public static function set_ocdi_import_data_transient( $data ) {
|
666 |
set_transient( 'ocdi_importer_data', $data, 0.1 * HOUR_IN_SECONDS );
|
667 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
668 |
}
|
67 |
);
|
68 |
$downloader = new Downloader();
|
69 |
|
70 |
+
$import_file_info = self::apply_filters('ocdi/pre_download_import_files', $import_file_info);
|
71 |
|
72 |
// ----- Set content file path -----
|
73 |
// Check if 'import_file_url' is not defined. That would mean a local file.
|
78 |
}
|
79 |
else {
|
80 |
// Set the filename string for content import file.
|
81 |
+
$content_filename = self::apply_filters( 'ocdi/downloaded_content_file_prefix', 'demo-content-import-file_' ) . self::$demo_import_start_time . self::apply_filters( 'ocdi/downloaded_content_file_suffix_and_file_extension', '.xml' );
|
82 |
|
83 |
// Download the content import file.
|
84 |
$downloaded_files['content'] = $downloader->download_file( $import_file_info['import_file_url'], $content_filename );
|
93 |
// Get widgets file as well. If defined!
|
94 |
if ( ! empty( $import_file_info['import_widget_file_url'] ) ) {
|
95 |
// Set the filename string for widgets import file.
|
96 |
+
$widget_filename = self::apply_filters( 'ocdi/downloaded_widgets_file_prefix', 'demo-widgets-import-file_' ) . self::$demo_import_start_time . self::apply_filters( 'ocdi/downloaded_widgets_file_suffix_and_file_extension', '.json' );
|
97 |
|
98 |
// Download the widgets import file.
|
99 |
$downloaded_files['widgets'] = $downloader->download_file( $import_file_info['import_widget_file_url'], $widget_filename );
|
113 |
// Get customizer import file as well. If defined!
|
114 |
if ( ! empty( $import_file_info['import_customizer_file_url'] ) ) {
|
115 |
// Setup filename path to save the customizer content.
|
116 |
+
$customizer_filename = self::apply_filters( 'ocdi/downloaded_customizer_file_prefix', 'demo-customizer-import-file_' ) . self::$demo_import_start_time . self::apply_filters( 'ocdi/downloaded_customizer_file_suffix_and_file_extension', '.dat' );
|
117 |
|
118 |
// Download the customizer import file.
|
119 |
$downloaded_files['customizer'] = $downloader->download_file( $import_file_info['import_customizer_file_url'], $customizer_filename );
|
136 |
|
137 |
// Setup filename paths to save the Redux content.
|
138 |
foreach ( $import_file_info['import_redux'] as $index => $redux_item ) {
|
139 |
+
$redux_filename = self::apply_filters( 'ocdi/downloaded_redux_file_prefix', 'demo-redux-import-file_' ) . $index . '-' . self::$demo_import_start_time . self::apply_filters( 'ocdi/downloaded_redux_file_suffix_and_file_extension', '.json' );
|
140 |
|
141 |
// Download the Redux import file.
|
142 |
$file_path = $downloader->download_file( $redux_item['file_url'], $redux_filename );
|
195 |
if ( ! $wp_filesystem->put_contents( $file_path, $content ) ) {
|
196 |
return new \WP_Error(
|
197 |
'failed_writing_file_to_server',
|
198 |
+
sprintf( /* translators: %1$s - br HTML tag, %2$s - file path */
|
199 |
+
__( 'An error occurred while writing file to your server! Tried to write a file to: %1$s%2$s.', 'one-click-demo-import' ),
|
200 |
'<br>',
|
201 |
$file_path
|
202 |
)
|
238 |
if ( ! $wp_filesystem->put_contents( $file_path, $existing_data . $separator . $content . PHP_EOL ) ) {
|
239 |
return new \WP_Error(
|
240 |
'failed_writing_file_to_server',
|
241 |
+
sprintf( /* translators: %1$s - br HTML tag, %2$s - file path */
|
242 |
+
__( 'An error occurred while writing file to your server! Tried to write a file to: %1$s%2$s.', 'one-click-demo-import' ),
|
243 |
'<br>',
|
244 |
$file_path
|
245 |
)
|
272 |
if ( ! $data ) {
|
273 |
return new \WP_Error(
|
274 |
'failed_reading_file_from_server',
|
275 |
+
sprintf( /* translators: %1$s - br HTML tag, %2$s - file path */
|
276 |
+
__( 'An error occurred while reading a file from your server! Tried reading file from path: %1$s%2$s.', 'one-click-demo-import' ),
|
277 |
'<br>',
|
278 |
$file_path
|
279 |
)
|
295 |
if ( ! ( 'direct' === get_filesystem_method() ) ) {
|
296 |
return new \WP_Error(
|
297 |
'no_direct_file_access',
|
298 |
+
sprintf( /* translators: %1$s and %2$s - strong HTML tags, %3$s - HTML link to a doc page. */
|
299 |
+
__( 'This WordPress page does not have %1$sdirect%2$s write file access. This plugin needs it in order to save the demo import xml file to the upload directory of your site. You can change this setting with these instructions: %3$s.', 'one-click-demo-import' ),
|
300 |
'<strong>',
|
301 |
'</strong>',
|
302 |
'<a href="http://gregorcapuder.com/wordpress-how-to-set-direct-filesystem-method/" target="_blank">How to set <strong>direct</strong> filesystem method</a>'
|
305 |
}
|
306 |
|
307 |
// Get plugin page settings.
|
308 |
+
$plugin_page_setup = self::get_plugin_page_setup_data();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
309 |
|
310 |
// Get user credentials for WP file-system API.
|
311 |
$demo_import_page_url = wp_nonce_url( $plugin_page_setup['parent_slug'] . '?page=' . $plugin_page_setup['menu_slug'], $plugin_page_setup['menu_slug'] );
|
313 |
if ( false === ( $creds = request_filesystem_credentials( $demo_import_page_url, '', false, false, null ) ) ) {
|
314 |
return new \WP_error(
|
315 |
'filesystem_credentials_could_not_be_retrieved',
|
316 |
+
__( 'An error occurred while retrieving reading/writing permissions to your server (could not retrieve WP filesystem credentials)!', 'one-click-demo-import' )
|
317 |
);
|
318 |
}
|
319 |
|
321 |
if ( ! WP_Filesystem( $creds ) ) {
|
322 |
return new \WP_Error(
|
323 |
'wrong_login_credentials',
|
324 |
+
__( 'Your WordPress login credentials don\'t allow to use WP_Filesystem!', 'one-click-demo-import' )
|
325 |
);
|
326 |
}
|
327 |
|
336 |
*/
|
337 |
public static function get_log_path() {
|
338 |
$upload_dir = wp_upload_dir();
|
339 |
+
$upload_path = self::apply_filters( 'ocdi/upload_file_path', trailingslashit( $upload_dir['path'] ) );
|
340 |
|
341 |
+
$log_path = $upload_path . self::apply_filters( 'ocdi/log_file_prefix', 'log_file_' ) . self::$demo_import_start_time . self::apply_filters( 'ocdi/log_file_suffix_and_file_extension', '.txt' );
|
342 |
|
343 |
self::register_file_as_media_attachment( $log_path );
|
344 |
|
355 |
public static function register_file_as_media_attachment( $log_path ) {
|
356 |
// Check the type of file.
|
357 |
$log_mimes = array( 'txt' => 'text/plain' );
|
358 |
+
$filetype = wp_check_filetype( basename( $log_path ), self::apply_filters( 'ocdi/file_mimes', $log_mimes ) );
|
359 |
|
360 |
// Prepare an array of post data for the attachment.
|
361 |
$attachment = array(
|
362 |
'guid' => self::get_log_url( $log_path ),
|
363 |
'post_mime_type' => $filetype['type'],
|
364 |
+
'post_title' => self::apply_filters( 'ocdi/attachment_prefix', esc_html__( 'One Click Demo Import - ', 'one-click-demo-import' ) ) . preg_replace( '/\.[^.]+$/', '', basename( $log_path ) ),
|
365 |
'post_content' => '',
|
366 |
'post_status' => 'inherit',
|
367 |
);
|
379 |
*/
|
380 |
public static function get_log_url( $log_path ) {
|
381 |
$upload_dir = wp_upload_dir();
|
382 |
+
$upload_url = self::apply_filters( 'ocdi/upload_file_url', trailingslashit( $upload_dir['url'] ) );
|
383 |
|
384 |
return $upload_url . basename( $log_path );
|
385 |
}
|
394 |
// Check if user has the WP capability to import data.
|
395 |
if ( ! current_user_can( 'import' ) ) {
|
396 |
wp_die(
|
397 |
+
sprintf( /* translators: %1$s - opening div and paragraph HTML tags, %2$s - closing div and paragraph HTML tags. */
|
398 |
+
__( '%1$sYour user role isn\'t high enough. You don\'t have permission to import demo data.%2$s', 'one-click-demo-import' ),
|
399 |
'<div class="notice notice-error"><p>',
|
400 |
'</p></div>'
|
401 |
)
|
428 |
|
429 |
// Error data if the demo file was not provided.
|
430 |
$file_not_provided_error = array(
|
431 |
+
'error' => esc_html__( 'No file provided.', 'one-click-demo-import' )
|
432 |
);
|
433 |
|
434 |
// Handle demo file uploads.
|
456 |
else {
|
457 |
// Add this error to log file.
|
458 |
$log_added = self::append_to_file(
|
459 |
+
sprintf( /* translators: %s - the error message. */
|
460 |
+
__( 'Content file was not uploaded. Error: %s', 'one-click-demo-import' ),
|
461 |
$content_file_info['error']
|
462 |
),
|
463 |
$log_file_path,
|
464 |
+
esc_html__( 'Upload files' , 'one-click-demo-import' )
|
465 |
);
|
466 |
}
|
467 |
|
473 |
else {
|
474 |
// Add this error to log file.
|
475 |
$log_added = self::append_to_file(
|
476 |
+
sprintf( /* translators: %s - the error message. */
|
477 |
+
__( 'Widget file was not uploaded. Error: %s', 'one-click-demo-import' ),
|
478 |
$widget_file_info['error']
|
479 |
),
|
480 |
$log_file_path,
|
481 |
+
esc_html__( 'Upload files' , 'one-click-demo-import' )
|
482 |
);
|
483 |
}
|
484 |
|
490 |
else {
|
491 |
// Add this error to log file.
|
492 |
$log_added = self::append_to_file(
|
493 |
+
sprintf( /* translators: %s - the error message. */
|
494 |
+
__( 'Customizer file was not uploaded. Error: %s', 'one-click-demo-import' ),
|
495 |
$customizer_file_info['error']
|
496 |
),
|
497 |
$log_file_path,
|
498 |
+
esc_html__( 'Upload files' , 'one-click-demo-import' )
|
499 |
);
|
500 |
}
|
501 |
|
504 |
if ( isset( $_POST['redux_option_name'] ) && empty( $_POST['redux_option_name'] ) ) {
|
505 |
// Write error to log file and send an AJAX response with the error.
|
506 |
self::log_error_and_send_ajax_response(
|
507 |
+
esc_html__( 'Missing Redux option name! Please also enter the Redux option name!', 'one-click-demo-import' ),
|
508 |
$log_file_path,
|
509 |
+
esc_html__( 'Upload files', 'one-click-demo-import' )
|
510 |
);
|
511 |
}
|
512 |
|
521 |
else {
|
522 |
// Add this error to log file.
|
523 |
$log_added = self::append_to_file(
|
524 |
+
sprintf( /* translators: %s - the error message. */
|
525 |
+
__( 'Redux file was not uploaded. Error: %s', 'one-click-demo-import' ),
|
526 |
$redux_file_info['error']
|
527 |
),
|
528 |
$log_file_path,
|
529 |
+
esc_html__( 'Upload files' , 'one-click-demo-import' )
|
530 |
);
|
531 |
}
|
532 |
|
533 |
// Add this message to log file.
|
534 |
$log_added = self::append_to_file(
|
535 |
+
__( 'The import files were successfully uploaded!', 'one-click-demo-import' ) . self::import_file_info( $selected_import_files ),
|
536 |
$log_file_path,
|
537 |
+
esc_html__( 'Upload files' , 'one-click-demo-import' )
|
538 |
);
|
539 |
|
540 |
// Return array with paths of uploaded files.
|
557 |
}
|
558 |
|
559 |
return PHP_EOL .
|
560 |
+
sprintf( /* translators: %s - the max execution time. */
|
561 |
+
__( 'Initial max execution time = %s', 'one-click-demo-import' ),
|
562 |
ini_get( 'max_execution_time' )
|
563 |
) . PHP_EOL .
|
564 |
+
sprintf( /* translators: %1$s - new line break, %2$s - the site URL, %3$s - the file path for content import, %4$s - the file path for widgets import, %5$s - the file path for widgets import, %6$s - the file path for redux import. */
|
565 |
+
__( 'Files info:%1$sSite URL = %2$s%1$sData file = %3$s%1$sWidget file = %4$s%1$sCustomizer file = %5$s%1$sRedux files:%1$s%6$s', 'one-click-demo-import' ),
|
566 |
PHP_EOL,
|
567 |
get_site_url(),
|
568 |
+
empty( $selected_import_files['content'] ) ? esc_html__( 'not defined!', 'one-click-demo-import' ) : $selected_import_files['content'],
|
569 |
+
empty( $selected_import_files['widgets'] ) ? esc_html__( 'not defined!', 'one-click-demo-import' ) : $selected_import_files['widgets'],
|
570 |
+
empty( $selected_import_files['customizer'] ) ? esc_html__( 'not defined!', 'one-click-demo-import' ) : $selected_import_files['customizer'],
|
571 |
+
empty( $redux_file_string ) ? esc_html__( 'not defined!', 'one-click-demo-import' ) : $redux_file_string
|
572 |
);
|
573 |
}
|
574 |
|
597 |
* Set the $demo_import_start_time class variable with the current date and time string.
|
598 |
*/
|
599 |
public static function set_demo_import_start_time() {
|
600 |
+
self::$demo_import_start_time = date( self::apply_filters( 'ocdi/date_format_for_file_names', 'Y-m-d__H-i-s' ) );
|
601 |
}
|
602 |
|
603 |
|
658 |
public static function set_ocdi_import_data_transient( $data ) {
|
659 |
set_transient( 'ocdi_importer_data', $data, 0.1 * HOUR_IN_SECONDS );
|
660 |
}
|
661 |
+
|
662 |
+
|
663 |
+
/**
|
664 |
+
* Backwards compatible apply_filters helper.
|
665 |
+
* With 3.0 we changed the filter prefix from 'pt-ocdi/' to just 'ocdi/',
|
666 |
+
* but we needed to make sure backwards compatibility is in place.
|
667 |
+
* This method should be used for all apply_filters calls.
|
668 |
+
*
|
669 |
+
* @param string $hook The filter hook name.
|
670 |
+
* @param mixed $default_data The default filter data.
|
671 |
+
*
|
672 |
+
* @return mixed|void
|
673 |
+
*/
|
674 |
+
public static function apply_filters( $hook, $default_data ) {
|
675 |
+
$new_data = apply_filters( $hook, $default_data );
|
676 |
+
|
677 |
+
if ( $new_data !== $default_data ) {
|
678 |
+
return $new_data;
|
679 |
+
}
|
680 |
+
|
681 |
+
$old_data = apply_filters( "pt-$hook", $default_data );
|
682 |
+
|
683 |
+
if ( $old_data !== $default_data ) {
|
684 |
+
return $old_data;
|
685 |
+
}
|
686 |
+
|
687 |
+
return $default_data;
|
688 |
+
}
|
689 |
+
|
690 |
+
/**
|
691 |
+
* Backwards compatible do_action helper.
|
692 |
+
* With 3.0 we changed the action prefix from 'pt-ocdi/' to just 'ocdi/',
|
693 |
+
* but we needed to make sure backwards compatibility is in place.
|
694 |
+
* This method should be used for all do_action calls.
|
695 |
+
*
|
696 |
+
* @param string $hook The action hook name.
|
697 |
+
* @param mixed ...$arg Optional. Additional arguments which are passed on to the
|
698 |
+
* functions hooked to the action. Default empty.
|
699 |
+
*/
|
700 |
+
public static function do_action( $hook, ...$arg ) {
|
701 |
+
if ( has_action( $hook ) ) {
|
702 |
+
do_action( $hook, ...$arg );
|
703 |
+
} else if ( has_action( "pt-$hook" ) ) {
|
704 |
+
do_action( "pt-$hook", ...$arg );
|
705 |
+
}
|
706 |
+
}
|
707 |
+
|
708 |
+
/**
|
709 |
+
* Backwards compatible has_action helper.
|
710 |
+
* With 3.0 we changed the action prefix from 'pt-ocdi/' to just 'ocdi/',
|
711 |
+
* but we needed to make sure backwards compatibility is in place.
|
712 |
+
* This method should be used for all has_action calls.
|
713 |
+
*
|
714 |
+
* @param string $hook The name of the action hook.
|
715 |
+
* @param callable|bool $function_to_check Optional. The callback to check for. Default false.
|
716 |
+
*
|
717 |
+
* @return bool|int If $function_to_check is omitted, returns boolean for whether the hook has
|
718 |
+
* anything registered. When checking a specific function, the priority of that
|
719 |
+
* hook is returned, or false if the function is not attached. When using the
|
720 |
+
* $function_to_check argument, this function may return a non-boolean value
|
721 |
+
* that evaluates to false (e.g.) 0, so use the === operator for testing the
|
722 |
+
* return value.
|
723 |
+
*/
|
724 |
+
public static function has_action( $hook, $function_to_check = false ) {
|
725 |
+
if ( has_action( $hook ) ) {
|
726 |
+
return has_action( $hook, $function_to_check );
|
727 |
+
} else if ( has_action( "pt-$hook" ) ) {
|
728 |
+
return has_action( "pt-$hook", $function_to_check );
|
729 |
+
}
|
730 |
+
|
731 |
+
return false;
|
732 |
+
}
|
733 |
+
|
734 |
+
/**
|
735 |
+
* Get the plugin page setup data.
|
736 |
+
*
|
737 |
+
* @return array
|
738 |
+
*/
|
739 |
+
public static function get_plugin_page_setup_data() {
|
740 |
+
return Helpers::apply_filters( 'ocdi/plugin_page_setup', array(
|
741 |
+
'parent_slug' => 'themes.php',
|
742 |
+
'page_title' => esc_html__( 'One Click Demo Import' , 'one-click-demo-import' ),
|
743 |
+
'menu_title' => esc_html__( 'Import Demo Data' , 'one-click-demo-import' ),
|
744 |
+
'capability' => 'import',
|
745 |
+
'menu_slug' => 'one-click-demo-import',
|
746 |
+
) );
|
747 |
+
}
|
748 |
}
|
inc/ImportActions.php
CHANGED
@@ -14,22 +14,22 @@ class ImportActions {
|
|
14 |
*/
|
15 |
public function register_hooks() {
|
16 |
// Before content import.
|
17 |
-
add_action( '
|
18 |
|
19 |
// After content import.
|
20 |
-
add_action( '
|
21 |
-
add_action( '
|
22 |
-
add_action( '
|
23 |
|
24 |
// Customizer import.
|
25 |
-
add_action( '
|
26 |
|
27 |
// After full import action.
|
28 |
-
add_action( '
|
29 |
|
30 |
// Special widget import cases.
|
31 |
-
if ( apply_filters( '
|
32 |
-
add_action( '
|
33 |
}
|
34 |
}
|
35 |
|
@@ -63,7 +63,7 @@ class ImportActions {
|
|
63 |
* Execute the widgets import.
|
64 |
*
|
65 |
* @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
|
66 |
-
* @param array $import_files The filtered import files defined in `
|
67 |
* @param int $selected_index Selected index of import.
|
68 |
*/
|
69 |
public function widgets_import( $selected_import_files, $import_files, $selected_index ) {
|
@@ -77,7 +77,7 @@ class ImportActions {
|
|
77 |
* Execute the Redux import.
|
78 |
*
|
79 |
* @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
|
80 |
-
* @param array $import_files The filtered import files defined in `
|
81 |
* @param int $selected_index Selected index of import.
|
82 |
*/
|
83 |
public function redux_import( $selected_import_files, $import_files, $selected_index ) {
|
@@ -91,7 +91,7 @@ class ImportActions {
|
|
91 |
* Execute the customizer import.
|
92 |
*
|
93 |
* @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
|
94 |
-
* @param array $import_files The filtered import files defined in `
|
95 |
* @param int $selected_index Selected index of import.
|
96 |
*/
|
97 |
public function customizer_import( $selected_import_files ) {
|
@@ -102,38 +102,38 @@ class ImportActions {
|
|
102 |
|
103 |
|
104 |
/**
|
105 |
-
* Execute the action: '
|
106 |
*
|
107 |
* @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
|
108 |
-
* @param array $import_files The filtered import files defined in `
|
109 |
* @param int $selected_index Selected index of import.
|
110 |
*/
|
111 |
public function before_content_import_action( $selected_import_files, $import_files, $selected_index ) {
|
112 |
-
$this->do_import_action( '
|
113 |
}
|
114 |
|
115 |
|
116 |
/**
|
117 |
-
* Execute the action: '
|
118 |
*
|
119 |
* @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
|
120 |
-
* @param array $import_files The filtered import files defined in `
|
121 |
* @param int $selected_index Selected index of import.
|
122 |
*/
|
123 |
public function before_widget_import_action( $selected_import_files, $import_files, $selected_index ) {
|
124 |
-
$this->do_import_action( '
|
125 |
}
|
126 |
|
127 |
|
128 |
/**
|
129 |
-
* Execute the action: '
|
130 |
*
|
131 |
* @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
|
132 |
-
* @param array $import_files The filtered import files defined in `
|
133 |
* @param int $selected_index Selected index of import.
|
134 |
*/
|
135 |
public function after_import_action( $selected_import_files, $import_files, $selected_index ) {
|
136 |
-
$this->do_import_action( '
|
137 |
}
|
138 |
|
139 |
|
@@ -141,15 +141,15 @@ class ImportActions {
|
|
141 |
* Register the do_action hook, so users can hook to these during import.
|
142 |
*
|
143 |
* @param string $action The action name to be executed.
|
144 |
-
* @param array $selected_import The data of selected import from `
|
145 |
*/
|
146 |
private function do_import_action( $action, $selected_import ) {
|
147 |
-
if ( false !== has_action( $action ) ) {
|
148 |
$ocdi = OneClickDemoImport::get_instance();
|
149 |
$log_file_path = $ocdi->get_log_file_path();
|
150 |
|
151 |
ob_start();
|
152 |
-
do_action( $action, $selected_import );
|
153 |
$message = ob_get_clean();
|
154 |
|
155 |
// Add this message to log file.
|
14 |
*/
|
15 |
public function register_hooks() {
|
16 |
// Before content import.
|
17 |
+
add_action( 'ocdi/before_content_import_execution', array( $this, 'before_content_import_action' ), 10, 3 );
|
18 |
|
19 |
// After content import.
|
20 |
+
add_action( 'ocdi/after_content_import_execution', array( $this, 'before_widget_import_action' ), 10, 3 );
|
21 |
+
add_action( 'ocdi/after_content_import_execution', array( $this, 'widgets_import' ), 20, 3 );
|
22 |
+
add_action( 'ocdi/after_content_import_execution', array( $this, 'redux_import' ), 30, 3 );
|
23 |
|
24 |
// Customizer import.
|
25 |
+
add_action( 'ocdi/customizer_import_execution', array( $this, 'customizer_import' ), 10, 1 );
|
26 |
|
27 |
// After full import action.
|
28 |
+
add_action( 'ocdi/after_all_import_execution', array( $this, 'after_import_action' ), 10, 3 );
|
29 |
|
30 |
// Special widget import cases.
|
31 |
+
if ( Helpers::apply_filters( 'ocdi/enable_custom_menu_widget_ids_fix', true ) ) {
|
32 |
+
add_action( 'ocdi/widget_settings_array', array( $this, 'fix_custom_menu_widget_ids' ) );
|
33 |
}
|
34 |
}
|
35 |
|
63 |
* Execute the widgets import.
|
64 |
*
|
65 |
* @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
|
66 |
+
* @param array $import_files The filtered import files defined in `ocdi/import_files` filter.
|
67 |
* @param int $selected_index Selected index of import.
|
68 |
*/
|
69 |
public function widgets_import( $selected_import_files, $import_files, $selected_index ) {
|
77 |
* Execute the Redux import.
|
78 |
*
|
79 |
* @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
|
80 |
+
* @param array $import_files The filtered import files defined in `ocdi/import_files` filter.
|
81 |
* @param int $selected_index Selected index of import.
|
82 |
*/
|
83 |
public function redux_import( $selected_import_files, $import_files, $selected_index ) {
|
91 |
* Execute the customizer import.
|
92 |
*
|
93 |
* @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
|
94 |
+
* @param array $import_files The filtered import files defined in `ocdi/import_files` filter.
|
95 |
* @param int $selected_index Selected index of import.
|
96 |
*/
|
97 |
public function customizer_import( $selected_import_files ) {
|
102 |
|
103 |
|
104 |
/**
|
105 |
+
* Execute the action: 'ocdi/before_content_import'.
|
106 |
*
|
107 |
* @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
|
108 |
+
* @param array $import_files The filtered import files defined in `ocdi/import_files` filter.
|
109 |
* @param int $selected_index Selected index of import.
|
110 |
*/
|
111 |
public function before_content_import_action( $selected_import_files, $import_files, $selected_index ) {
|
112 |
+
$this->do_import_action( 'ocdi/before_content_import', $import_files[ $selected_index ] );
|
113 |
}
|
114 |
|
115 |
|
116 |
/**
|
117 |
+
* Execute the action: 'ocdi/before_widgets_import'.
|
118 |
*
|
119 |
* @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
|
120 |
+
* @param array $import_files The filtered import files defined in `ocdi/import_files` filter.
|
121 |
* @param int $selected_index Selected index of import.
|
122 |
*/
|
123 |
public function before_widget_import_action( $selected_import_files, $import_files, $selected_index ) {
|
124 |
+
$this->do_import_action( 'ocdi/before_widgets_import', $import_files[ $selected_index ] );
|
125 |
}
|
126 |
|
127 |
|
128 |
/**
|
129 |
+
* Execute the action: 'ocdi/after_import'.
|
130 |
*
|
131 |
* @param array $selected_import_files Actual selected import files (content, widgets, customizer, redux).
|
132 |
+
* @param array $import_files The filtered import files defined in `ocdi/import_files` filter.
|
133 |
* @param int $selected_index Selected index of import.
|
134 |
*/
|
135 |
public function after_import_action( $selected_import_files, $import_files, $selected_index ) {
|
136 |
+
$this->do_import_action( 'ocdi/after_import', $import_files[ $selected_index ] );
|
137 |
}
|
138 |
|
139 |
|
141 |
* Register the do_action hook, so users can hook to these during import.
|
142 |
*
|
143 |
* @param string $action The action name to be executed.
|
144 |
+
* @param array $selected_import The data of selected import from `ocdi/import_files` filter.
|
145 |
*/
|
146 |
private function do_import_action( $action, $selected_import ) {
|
147 |
+
if ( false !== Helpers::has_action( $action ) ) {
|
148 |
$ocdi = OneClickDemoImport::get_instance();
|
149 |
$log_file_path = $ocdi->get_log_file_path();
|
150 |
|
151 |
ob_start();
|
152 |
+
Helpers::do_action( $action, $selected_import );
|
153 |
$message = ob_get_clean();
|
154 |
|
155 |
// Add this message to log file.
|
inc/Importer.php
CHANGED
@@ -119,7 +119,7 @@ class Importer {
|
|
119 |
|
120 |
// Increase PHP max execution time. Just in case, even though the AJAX calls are only 25 sec long.
|
121 |
if ( strpos( ini_get( 'disable_functions' ), 'set_time_limit' ) === false ) {
|
122 |
-
set_time_limit( apply_filters( '
|
123 |
}
|
124 |
|
125 |
// Disable import of authors.
|
@@ -129,7 +129,7 @@ class Importer {
|
|
129 |
add_filter( 'wxr_importer.pre_process.post', array( $this, 'new_ajax_request_maybe' ) );
|
130 |
|
131 |
// Disables generation of multiple image sizes (thumbnails) in the content import step.
|
132 |
-
if ( ! apply_filters( '
|
133 |
add_filter( 'intermediate_image_sizes_advanced', '__return_null' );
|
134 |
}
|
135 |
|
@@ -155,7 +155,7 @@ class Importer {
|
|
155 |
$time = microtime( true ) - $this->microtime;
|
156 |
|
157 |
// We should make a new ajax call, if the time is right.
|
158 |
-
if ( $time > apply_filters( '
|
159 |
$response = array(
|
160 |
'status' => 'newAJAX',
|
161 |
'message' => 'Time for new AJAX request!: ' . $time,
|
@@ -171,7 +171,7 @@ class Importer {
|
|
171 |
|
172 |
// Add message to log file.
|
173 |
$log_added = Helpers::append_to_file(
|
174 |
-
__( 'New AJAX call!' , '
|
175 |
$this->ocdi->get_log_file_path(),
|
176 |
''
|
177 |
);
|
119 |
|
120 |
// Increase PHP max execution time. Just in case, even though the AJAX calls are only 25 sec long.
|
121 |
if ( strpos( ini_get( 'disable_functions' ), 'set_time_limit' ) === false ) {
|
122 |
+
set_time_limit( Helpers::apply_filters( 'ocdi/set_time_limit_for_demo_data_import', 300 ) );
|
123 |
}
|
124 |
|
125 |
// Disable import of authors.
|
129 |
add_filter( 'wxr_importer.pre_process.post', array( $this, 'new_ajax_request_maybe' ) );
|
130 |
|
131 |
// Disables generation of multiple image sizes (thumbnails) in the content import step.
|
132 |
+
if ( ! Helpers::apply_filters( 'ocdi/regenerate_thumbnails_in_content_import', true ) ) {
|
133 |
add_filter( 'intermediate_image_sizes_advanced', '__return_null' );
|
134 |
}
|
135 |
|
155 |
$time = microtime( true ) - $this->microtime;
|
156 |
|
157 |
// We should make a new ajax call, if the time is right.
|
158 |
+
if ( $time > Helpers::apply_filters( 'ocdi/time_for_one_ajax_call', 25 ) ) {
|
159 |
$response = array(
|
160 |
'status' => 'newAJAX',
|
161 |
'message' => 'Time for new AJAX request!: ' . $time,
|
171 |
|
172 |
// Add message to log file.
|
173 |
$log_added = Helpers::append_to_file(
|
174 |
+
__( 'New AJAX call!' , 'one-click-demo-import' ) . PHP_EOL . $message,
|
175 |
$this->ocdi->get_log_file_path(),
|
176 |
''
|
177 |
);
|
inc/OneClickDemoImport.php
CHANGED
@@ -25,6 +25,13 @@ class OneClickDemoImport {
|
|
25 |
*/
|
26 |
public $importer;
|
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
/**
|
29 |
* The resulting page's hook_suffix, or false if the user does not have the capability required.
|
30 |
*
|
@@ -74,12 +81,12 @@ class OneClickDemoImport {
|
|
74 |
*/
|
75 |
private $before_import_executed = false;
|
76 |
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
|
84 |
/**
|
85 |
* Returns the *Singleton* instance of this class.
|
@@ -104,11 +111,15 @@ class OneClickDemoImport {
|
|
104 |
// Actions.
|
105 |
add_action( 'admin_menu', array( $this, 'create_plugin_page' ) );
|
106 |
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
|
|
107 |
add_action( 'wp_ajax_ocdi_import_demo_data', array( $this, 'import_demo_data_ajax_callback' ) );
|
108 |
add_action( 'wp_ajax_ocdi_import_customizer_data', array( $this, 'import_customizer_data_ajax_callback' ) );
|
109 |
add_action( 'wp_ajax_ocdi_after_import_data', array( $this, 'after_all_import_data_ajax_callback' ) );
|
110 |
add_action( 'after_setup_theme', array( $this, 'setup_plugin_with_filter_data' ) );
|
111 |
-
add_action( '
|
|
|
|
|
|
|
112 |
}
|
113 |
|
114 |
|
@@ -121,24 +132,18 @@ class OneClickDemoImport {
|
|
121 |
|
122 |
|
123 |
/**
|
124 |
-
*
|
125 |
*
|
126 |
* @return void
|
127 |
*/
|
128 |
-
|
129 |
|
130 |
|
131 |
/**
|
132 |
* Creates the plugin page and a submenu item in WP Appearance menu.
|
133 |
*/
|
134 |
public function create_plugin_page() {
|
135 |
-
$this->plugin_page_setup =
|
136 |
-
'parent_slug' => 'themes.php',
|
137 |
-
'page_title' => esc_html__( 'One Click Demo Import' , 'pt-ocdi' ),
|
138 |
-
'menu_title' => esc_html__( 'Import Demo Data' , 'pt-ocdi' ),
|
139 |
-
'capability' => 'import',
|
140 |
-
'menu_slug' => 'pt-one-click-demo-import',
|
141 |
-
) );
|
142 |
|
143 |
$this->plugin_page = add_submenu_page(
|
144 |
$this->plugin_page_setup['parent_slug'],
|
@@ -146,10 +151,10 @@ class OneClickDemoImport {
|
|
146 |
$this->plugin_page_setup['menu_title'],
|
147 |
$this->plugin_page_setup['capability'],
|
148 |
$this->plugin_page_setup['menu_slug'],
|
149 |
-
apply_filters( '
|
150 |
);
|
151 |
|
152 |
-
register_importer( $this->plugin_page_setup['menu_slug'], $this->plugin_page_setup['page_title'], $this->plugin_page_setup['menu_title'], apply_filters( '
|
153 |
}
|
154 |
|
155 |
/**
|
@@ -157,7 +162,26 @@ class OneClickDemoImport {
|
|
157 |
* Output (HTML) is in another file.
|
158 |
*/
|
159 |
public function display_plugin_page() {
|
160 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
}
|
162 |
|
163 |
|
@@ -169,10 +193,7 @@ class OneClickDemoImport {
|
|
169 |
public function admin_enqueue_scripts( $hook ) {
|
170 |
// Enqueue the scripts only on the plugin page.
|
171 |
if ( $this->plugin_page === $hook || ( 'admin.php' === $hook && $this->plugin_page_setup['menu_slug'] === esc_attr( $_GET['import'] ) ) ) {
|
172 |
-
wp_enqueue_script( '
|
173 |
-
wp_enqueue_style( 'wp-jquery-ui-dialog' );
|
174 |
-
|
175 |
-
wp_enqueue_script( 'ocdi-main-js', PT_OCDI_URL . 'assets/js/main.js' , array( 'jquery', 'jquery-ui-dialog' ), PT_OCDI_VERSION );
|
176 |
|
177 |
// Get theme data.
|
178 |
$theme = wp_get_theme();
|
@@ -182,25 +203,69 @@ class OneClickDemoImport {
|
|
182 |
'ajax_url' => admin_url( 'admin-ajax.php' ),
|
183 |
'ajax_nonce' => wp_create_nonce( 'ocdi-ajax-verification' ),
|
184 |
'import_files' => $this->import_files,
|
185 |
-
'wp_customize_on' => apply_filters( '
|
186 |
-
'import_popup' => apply_filters( 'pt-ocdi/enable_grid_layout_import_popup_confirmation', true ),
|
187 |
'theme_screenshot' => $theme->get_screenshot(),
|
|
|
|
|
|
|
188 |
'texts' => array(
|
189 |
-
'missing_preview_image'
|
190 |
-
'dialog_title'
|
191 |
-
'dialog_no'
|
192 |
-
'dialog_yes'
|
193 |
-
'selected_import_title'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
),
|
195 |
-
'dialog_options' => apply_filters( 'pt-ocdi/confirmation_dialog_options', array() )
|
196 |
)
|
197 |
);
|
198 |
|
199 |
-
wp_enqueue_style( 'ocdi-main-css',
|
200 |
}
|
201 |
}
|
202 |
|
203 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
204 |
/**
|
205 |
* Main AJAX callback function for:
|
206 |
* 1). prepare import files (uploaded or predefined via filters)
|
@@ -210,7 +275,7 @@ class OneClickDemoImport {
|
|
210 |
*/
|
211 |
public function import_demo_data_ajax_callback() {
|
212 |
// Try to update PHP memory limit (so that it does not run out of it).
|
213 |
-
ini_set( 'memory_limit', apply_filters( '
|
214 |
|
215 |
// Verify if the AJAX call is valid (checks nonce and current_user_can).
|
216 |
Helpers::verify_ajax_call();
|
@@ -230,16 +295,16 @@ class OneClickDemoImport {
|
|
230 |
|
231 |
/**
|
232 |
* 1). Prepare import files.
|
233 |
-
* Manually uploaded import files or predefined import files via filter:
|
234 |
*/
|
235 |
if ( ! empty( $_FILES ) ) { // Using manual file uploads?
|
236 |
// Get paths for the uploaded files.
|
237 |
$this->selected_import_files = Helpers::process_uploaded_files( $_FILES, $this->log_file_path );
|
238 |
|
239 |
// Set the name of the import files, because we used the uploaded files.
|
240 |
-
$this->import_files[ $this->selected_index ]['import_file_name'] = esc_html__( 'Manually uploaded files', '
|
241 |
}
|
242 |
-
elseif ( ! empty( $this->import_files[ $this->selected_index ] ) ) { // Use predefined import files from wp filter:
|
243 |
|
244 |
// Download the import files (content, widgets and customizer files).
|
245 |
$this->selected_import_files = Helpers::download_import_files( $this->import_files[ $this->selected_index ] );
|
@@ -250,23 +315,23 @@ class OneClickDemoImport {
|
|
250 |
Helpers::log_error_and_send_ajax_response(
|
251 |
$this->selected_import_files->get_error_message(),
|
252 |
$this->log_file_path,
|
253 |
-
esc_html__( 'Downloaded files', '
|
254 |
);
|
255 |
}
|
256 |
|
257 |
// Add this message to log file.
|
258 |
$log_added = Helpers::append_to_file(
|
259 |
-
sprintf(
|
260 |
-
__( 'The import files for: %s were successfully downloaded!', '
|
261 |
$this->import_files[ $this->selected_index ]['import_file_name']
|
262 |
) . Helpers::import_file_info( $this->selected_import_files ),
|
263 |
$this->log_file_path,
|
264 |
-
esc_html__( 'Downloaded files' , '
|
265 |
);
|
266 |
}
|
267 |
else {
|
268 |
// Send JSON Error response to the AJAX call.
|
269 |
-
wp_send_json( esc_html__( 'No import files specified!', '
|
270 |
}
|
271 |
}
|
272 |
|
@@ -277,12 +342,12 @@ class OneClickDemoImport {
|
|
277 |
$this->before_import_executed = true;
|
278 |
|
279 |
/**
|
280 |
-
* 2). Execute the actions hooked to the '
|
281 |
*
|
282 |
* Default actions:
|
283 |
* 1 - Before content import WP action (with priority 10).
|
284 |
*/
|
285 |
-
do_action( '
|
286 |
}
|
287 |
|
288 |
/**
|
@@ -294,14 +359,14 @@ class OneClickDemoImport {
|
|
294 |
}
|
295 |
|
296 |
/**
|
297 |
-
* 4). Execute the actions hooked to the '
|
298 |
*
|
299 |
* Default actions:
|
300 |
* 1 - Before widgets import setup (with priority 10).
|
301 |
* 2 - Import widgets (with priority 20).
|
302 |
* 3 - Import Redux data (with priority 30).
|
303 |
*/
|
304 |
-
do_action( '
|
305 |
|
306 |
// Save the import data as a transient, so other import parts (in new AJAX calls) can use that data.
|
307 |
Helpers::set_ocdi_import_data_transient( $this->get_current_importer_data() );
|
@@ -312,7 +377,7 @@ class OneClickDemoImport {
|
|
312 |
}
|
313 |
|
314 |
// Request the after all import AJAX call.
|
315 |
-
if ( false !== has_action( '
|
316 |
wp_send_json( array( 'status' => 'afterAllImportAJAX' ) );
|
317 |
}
|
318 |
|
@@ -339,11 +404,11 @@ class OneClickDemoImport {
|
|
339 |
* Default actions:
|
340 |
* 1 - Customizer import (with priority 10).
|
341 |
*/
|
342 |
-
do_action( '
|
343 |
}
|
344 |
|
345 |
// Request the after all import AJAX call.
|
346 |
-
if ( false !== has_action( '
|
347 |
wp_send_json( array( 'status' => 'afterAllImportAJAX' ) );
|
348 |
}
|
349 |
|
@@ -367,7 +432,7 @@ class OneClickDemoImport {
|
|
367 |
* Default actions:
|
368 |
* 1 - after_import action (with priority 10).
|
369 |
*/
|
370 |
-
do_action( '
|
371 |
}
|
372 |
|
373 |
// Send a JSON response with final report.
|
@@ -382,47 +447,29 @@ class OneClickDemoImport {
|
|
382 |
// Delete importer data transient for current import.
|
383 |
delete_transient( 'ocdi_importer_data' );
|
384 |
|
385 |
-
// Display final messages (success or
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
if ( ! apply_filters( 'pt-ocdi/disable_pt_branding', false ) ) {
|
390 |
-
$twitter_status = esc_html__( 'Just used One Click Demo Import plugin and it was awesome! Thanks @ProteusThemes! #OCDI https://www.proteusthemes.com/', 'pt-ocdi' );
|
391 |
-
|
392 |
-
$response['message'] .= sprintf(
|
393 |
-
__( '%1$s%6$sWasn\'t this a great One Click Demo Import experience?%7$s Created and maintained by %3$sProteusThemes%4$s. %2$s%5$sClick to Tweet!%4$s%8$s', 'pt-ocdi' ),
|
394 |
-
'<div class="notice notice-info"><p>',
|
395 |
-
'<br>',
|
396 |
-
'<strong><a href="https://www.proteusthemes.com/" target="_blank">',
|
397 |
-
'</a></strong>',
|
398 |
-
'<strong><a href="' . add_query_arg( 'status', urlencode( $twitter_status ), 'http://twitter.com/home' ) . '" target="_blank">',
|
399 |
-
'<strong>',
|
400 |
-
'</strong>',
|
401 |
-
'</p></div>'
|
402 |
-
);
|
403 |
-
}
|
404 |
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
'<strong>',
|
421 |
-
'</strong>',
|
422 |
-
'<a href="' . Helpers::get_log_url( $this->log_file_path ) .'" target="_blank">',
|
423 |
-
'</a>',
|
424 |
-
'</p></div>'
|
425 |
);
|
|
|
|
|
426 |
}
|
427 |
|
428 |
wp_send_json( $response );
|
@@ -517,14 +564,6 @@ class OneClickDemoImport {
|
|
517 |
}
|
518 |
|
519 |
|
520 |
-
/**
|
521 |
-
* Load the plugin textdomain, so that translations can be made.
|
522 |
-
*/
|
523 |
-
public function load_textdomain() {
|
524 |
-
load_plugin_textdomain( 'pt-ocdi', false, plugin_basename( dirname( dirname( __FILE__ ) ) ) . '/languages' );
|
525 |
-
}
|
526 |
-
|
527 |
-
|
528 |
/**
|
529 |
* Get data from filters, after the theme has loaded and instantiate the importer.
|
530 |
*/
|
@@ -534,22 +573,22 @@ class OneClickDemoImport {
|
|
534 |
}
|
535 |
|
536 |
// Get info of import data files and filter it.
|
537 |
-
$this->import_files = Helpers::validate_import_file_info( apply_filters( '
|
538 |
|
539 |
/**
|
540 |
* Register all default actions (before content import, widget, customizer import and other actions)
|
541 |
-
* to the 'before_content_import_execution' and the '
|
542 |
*/
|
543 |
$import_actions = new ImportActions();
|
544 |
$import_actions->register_hooks();
|
545 |
|
546 |
// Importer options array.
|
547 |
-
$importer_options = apply_filters( '
|
548 |
'fetch_attachments' => true,
|
549 |
) );
|
550 |
|
551 |
// Logger options for the logger used in the importer.
|
552 |
-
$logger_options = apply_filters( '
|
553 |
'logger_min_level' => 'warning',
|
554 |
) );
|
555 |
|
@@ -559,5 +598,72 @@ class OneClickDemoImport {
|
|
559 |
|
560 |
// Create importer instance with proper parameters.
|
561 |
$this->importer = new Importer( $importer_options, $logger );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
562 |
}
|
563 |
}
|
25 |
*/
|
26 |
public $importer;
|
27 |
|
28 |
+
/**
|
29 |
+
* The instance of the OCDI\PluginInstaller class.
|
30 |
+
*
|
31 |
+
* @var PluginInstaller object
|
32 |
+
*/
|
33 |
+
public $plugin_installer;
|
34 |
+
|
35 |
/**
|
36 |
* The resulting page's hook_suffix, or false if the user does not have the capability required.
|
37 |
*
|
81 |
*/
|
82 |
private $before_import_executed = false;
|
83 |
|
84 |
+
/**
|
85 |
+
* Make plugin page options available to other methods.
|
86 |
+
*
|
87 |
+
* @var array
|
88 |
+
*/
|
89 |
+
private $plugin_page_setup = array();
|
90 |
|
91 |
/**
|
92 |
* Returns the *Singleton* instance of this class.
|
111 |
// Actions.
|
112 |
add_action( 'admin_menu', array( $this, 'create_plugin_page' ) );
|
113 |
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
114 |
+
add_action( 'wp_ajax_ocdi_upload_manual_import_files', array( $this, 'upload_manual_import_files_callback' ) );
|
115 |
add_action( 'wp_ajax_ocdi_import_demo_data', array( $this, 'import_demo_data_ajax_callback' ) );
|
116 |
add_action( 'wp_ajax_ocdi_import_customizer_data', array( $this, 'import_customizer_data_ajax_callback' ) );
|
117 |
add_action( 'wp_ajax_ocdi_after_import_data', array( $this, 'after_all_import_data_ajax_callback' ) );
|
118 |
add_action( 'after_setup_theme', array( $this, 'setup_plugin_with_filter_data' ) );
|
119 |
+
add_action( 'network_admin_notices', array( $this, 'start_notice_output_capturing' ), 0 );
|
120 |
+
add_action( 'user_admin_notices', array( $this, 'start_notice_output_capturing' ), 0 );
|
121 |
+
add_action( 'admin_notices', array( $this, 'start_notice_output_capturing' ), 0 );
|
122 |
+
add_action( 'all_admin_notices', array( $this, 'finish_notice_output_capturing' ), PHP_INT_MAX );
|
123 |
}
|
124 |
|
125 |
|
132 |
|
133 |
|
134 |
/**
|
135 |
+
* Empty unserialize method to prevent unserializing of the *Singleton* instance.
|
136 |
*
|
137 |
* @return void
|
138 |
*/
|
139 |
+
public function __wakeup() {}
|
140 |
|
141 |
|
142 |
/**
|
143 |
* Creates the plugin page and a submenu item in WP Appearance menu.
|
144 |
*/
|
145 |
public function create_plugin_page() {
|
146 |
+
$this->plugin_page_setup = Helpers::get_plugin_page_setup_data();
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
|
148 |
$this->plugin_page = add_submenu_page(
|
149 |
$this->plugin_page_setup['parent_slug'],
|
151 |
$this->plugin_page_setup['menu_title'],
|
152 |
$this->plugin_page_setup['capability'],
|
153 |
$this->plugin_page_setup['menu_slug'],
|
154 |
+
Helpers::apply_filters( 'ocdi/plugin_page_display_callback_function', array( $this, 'display_plugin_page' ) )
|
155 |
);
|
156 |
|
157 |
+
register_importer( $this->plugin_page_setup['menu_slug'], $this->plugin_page_setup['page_title'], $this->plugin_page_setup['menu_title'], Helpers::apply_filters( 'ocdi/plugin_page_display_callback_function', array( $this, 'display_plugin_page' ) ) );
|
158 |
}
|
159 |
|
160 |
/**
|
162 |
* Output (HTML) is in another file.
|
163 |
*/
|
164 |
public function display_plugin_page() {
|
165 |
+
|
166 |
+
if ( isset( $_GET['step'] ) && 'install-plugins' === $_GET['step'] ) {
|
167 |
+
require_once OCDI_PATH . 'views/install-plugins.php';
|
168 |
+
|
169 |
+
return;
|
170 |
+
}
|
171 |
+
|
172 |
+
if ( isset( $_GET['step'] ) && 'create-content' === $_GET['step'] ) {
|
173 |
+
require_once OCDI_PATH . 'views/create-content.php';
|
174 |
+
|
175 |
+
return;
|
176 |
+
}
|
177 |
+
|
178 |
+
if ( isset( $_GET['step'] ) && 'import' === $_GET['step'] ) {
|
179 |
+
require_once OCDI_PATH . 'views/import.php';
|
180 |
+
|
181 |
+
return;
|
182 |
+
}
|
183 |
+
|
184 |
+
require_once OCDI_PATH . 'views/plugin-page.php';
|
185 |
}
|
186 |
|
187 |
|
193 |
public function admin_enqueue_scripts( $hook ) {
|
194 |
// Enqueue the scripts only on the plugin page.
|
195 |
if ( $this->plugin_page === $hook || ( 'admin.php' === $hook && $this->plugin_page_setup['menu_slug'] === esc_attr( $_GET['import'] ) ) ) {
|
196 |
+
wp_enqueue_script( 'ocdi-main-js', OCDI_URL . 'assets/js/main.js' , array( 'jquery' ), OCDI_VERSION );
|
|
|
|
|
|
|
197 |
|
198 |
// Get theme data.
|
199 |
$theme = wp_get_theme();
|
203 |
'ajax_url' => admin_url( 'admin-ajax.php' ),
|
204 |
'ajax_nonce' => wp_create_nonce( 'ocdi-ajax-verification' ),
|
205 |
'import_files' => $this->import_files,
|
206 |
+
'wp_customize_on' => Helpers::apply_filters( 'ocdi/enable_wp_customize_save_hooks', false ),
|
|
|
207 |
'theme_screenshot' => $theme->get_screenshot(),
|
208 |
+
'missing_plugins' => $this->plugin_installer->get_missing_plugins(),
|
209 |
+
'plugin_url' => OCDI_URL,
|
210 |
+
'import_url' => $this->get_plugin_settings_url( [ 'step' => 'import' ] ),
|
211 |
'texts' => array(
|
212 |
+
'missing_preview_image' => esc_html__( 'No preview image defined for this import.', 'one-click-demo-import' ),
|
213 |
+
'dialog_title' => esc_html__( 'Are you sure?', 'one-click-demo-import' ),
|
214 |
+
'dialog_no' => esc_html__( 'Cancel', 'one-click-demo-import' ),
|
215 |
+
'dialog_yes' => esc_html__( 'Yes, import!', 'one-click-demo-import' ),
|
216 |
+
'selected_import_title' => esc_html__( 'Selected demo import:', 'one-click-demo-import' ),
|
217 |
+
'installing' => esc_html__( 'Installing...', 'one-click-demo-import' ),
|
218 |
+
'importing' => esc_html__( 'Importing...', 'one-click-demo-import' ),
|
219 |
+
'successful_import' => esc_html__( 'Successfully Imported!', 'one-click-demo-import' ),
|
220 |
+
'install_plugin' => esc_html__( 'Install Plugin', 'one-click-demo-import' ),
|
221 |
+
'installed' => esc_html__( 'Installed', 'one-click-demo-import' ),
|
222 |
+
'import_failed' => esc_html__( 'Import Failed', 'one-click-demo-import' ),
|
223 |
+
'import_failed_subtitle' => esc_html__( 'Whoops, there was a problem importing your content.', 'one-click-demo-import' ),
|
224 |
+
'plugin_install_failed' => esc_html__( 'Looks like some of the plugins failed to install. Please try again. If this issue persists, please manually install the failing plugins and come back to this step to import the theme demo data.', 'one-click-demo-import' ),
|
225 |
+
'content_filetype_warn' => esc_html__( 'Invalid file type detected! Please select an XML file for the Content Import.', 'one-click-demo-import' ),
|
226 |
+
'widgets_filetype_warn' => esc_html__( 'Invalid file type detected! Please select a JSON or WIE file for the Widgets Import.', 'one-click-demo-import' ),
|
227 |
+
'customizer_filetype_warn' => esc_html__( 'Invalid file type detected! Please select a DAT file for the Customizer Import.', 'one-click-demo-import' ),
|
228 |
+
'redux_filetype_warn' => esc_html__( 'Invalid file type detected! Please select a JSON file for the Redux Import.', 'one-click-demo-import' ),
|
229 |
),
|
|
|
230 |
)
|
231 |
);
|
232 |
|
233 |
+
wp_enqueue_style( 'ocdi-main-css', OCDI_URL . 'assets/css/main.css', array() , OCDI_VERSION );
|
234 |
}
|
235 |
}
|
236 |
|
237 |
|
238 |
+
/**
|
239 |
+
* AJAX callback method for uploading the manual import files.
|
240 |
+
*/
|
241 |
+
public function upload_manual_import_files_callback() {
|
242 |
+
Helpers::verify_ajax_call();
|
243 |
+
|
244 |
+
if ( empty( $_FILES ) ) {
|
245 |
+
wp_send_json_error( esc_html__( 'Manual import files are missing! Please select the import files and try again.', 'one-click-demo-import' ) );
|
246 |
+
}
|
247 |
+
|
248 |
+
// Create a date and time string to use for demo and log file names.
|
249 |
+
Helpers::set_demo_import_start_time();
|
250 |
+
|
251 |
+
// Define log file path.
|
252 |
+
$this->log_file_path = Helpers::get_log_path();
|
253 |
+
|
254 |
+
$this->selected_index = 0;
|
255 |
+
|
256 |
+
// Get paths for the uploaded files.
|
257 |
+
$this->selected_import_files = Helpers::process_uploaded_files( $_FILES, $this->log_file_path );
|
258 |
+
|
259 |
+
// Set the name of the import files, because we used the uploaded files.
|
260 |
+
$this->import_files[ $this->selected_index ]['import_file_name'] = esc_html__( 'Manually uploaded files', 'one-click-demo-import' );
|
261 |
+
|
262 |
+
// Save the initial import data as a transient, so the next import call (in new AJAX call) can use that data.
|
263 |
+
Helpers::set_ocdi_import_data_transient( $this->get_current_importer_data() );
|
264 |
+
|
265 |
+
wp_send_json_success();
|
266 |
+
}
|
267 |
+
|
268 |
+
|
269 |
/**
|
270 |
* Main AJAX callback function for:
|
271 |
* 1). prepare import files (uploaded or predefined via filters)
|
275 |
*/
|
276 |
public function import_demo_data_ajax_callback() {
|
277 |
// Try to update PHP memory limit (so that it does not run out of it).
|
278 |
+
ini_set( 'memory_limit', Helpers::apply_filters( 'ocdi/import_memory_limit', '350M' ) );
|
279 |
|
280 |
// Verify if the AJAX call is valid (checks nonce and current_user_can).
|
281 |
Helpers::verify_ajax_call();
|
295 |
|
296 |
/**
|
297 |
* 1). Prepare import files.
|
298 |
+
* Manually uploaded import files or predefined import files via filter: ocdi/import_files
|
299 |
*/
|
300 |
if ( ! empty( $_FILES ) ) { // Using manual file uploads?
|
301 |
// Get paths for the uploaded files.
|
302 |
$this->selected_import_files = Helpers::process_uploaded_files( $_FILES, $this->log_file_path );
|
303 |
|
304 |
// Set the name of the import files, because we used the uploaded files.
|
305 |
+
$this->import_files[ $this->selected_index ]['import_file_name'] = esc_html__( 'Manually uploaded files', 'one-click-demo-import' );
|
306 |
}
|
307 |
+
elseif ( ! empty( $this->import_files[ $this->selected_index ] ) ) { // Use predefined import files from wp filter: ocdi/import_files.
|
308 |
|
309 |
// Download the import files (content, widgets and customizer files).
|
310 |
$this->selected_import_files = Helpers::download_import_files( $this->import_files[ $this->selected_index ] );
|
315 |
Helpers::log_error_and_send_ajax_response(
|
316 |
$this->selected_import_files->get_error_message(),
|
317 |
$this->log_file_path,
|
318 |
+
esc_html__( 'Downloaded files', 'one-click-demo-import' )
|
319 |
);
|
320 |
}
|
321 |
|
322 |
// Add this message to log file.
|
323 |
$log_added = Helpers::append_to_file(
|
324 |
+
sprintf( /* translators: %s - the name of the selected import. */
|
325 |
+
__( 'The import files for: %s were successfully downloaded!', 'one-click-demo-import' ),
|
326 |
$this->import_files[ $this->selected_index ]['import_file_name']
|
327 |
) . Helpers::import_file_info( $this->selected_import_files ),
|
328 |
$this->log_file_path,
|
329 |
+
esc_html__( 'Downloaded files' , 'one-click-demo-import' )
|
330 |
);
|
331 |
}
|
332 |
else {
|
333 |
// Send JSON Error response to the AJAX call.
|
334 |
+
wp_send_json( esc_html__( 'No import files specified!', 'one-click-demo-import' ) );
|
335 |
}
|
336 |
}
|
337 |
|
342 |
$this->before_import_executed = true;
|
343 |
|
344 |
/**
|
345 |
+
* 2). Execute the actions hooked to the 'ocdi/before_content_import_execution' action:
|
346 |
*
|
347 |
* Default actions:
|
348 |
* 1 - Before content import WP action (with priority 10).
|
349 |
*/
|
350 |
+
Helpers::do_action( 'ocdi/before_content_import_execution', $this->selected_import_files, $this->import_files, $this->selected_index );
|
351 |
}
|
352 |
|
353 |
/**
|
359 |
}
|
360 |
|
361 |
/**
|
362 |
+
* 4). Execute the actions hooked to the 'ocdi/after_content_import_execution' action:
|
363 |
*
|
364 |
* Default actions:
|
365 |
* 1 - Before widgets import setup (with priority 10).
|
366 |
* 2 - Import widgets (with priority 20).
|
367 |
* 3 - Import Redux data (with priority 30).
|
368 |
*/
|
369 |
+
Helpers::do_action( 'ocdi/after_content_import_execution', $this->selected_import_files, $this->import_files, $this->selected_index );
|
370 |
|
371 |
// Save the import data as a transient, so other import parts (in new AJAX calls) can use that data.
|
372 |
Helpers::set_ocdi_import_data_transient( $this->get_current_importer_data() );
|
377 |
}
|
378 |
|
379 |
// Request the after all import AJAX call.
|
380 |
+
if ( false !== Helpers::has_action( 'ocdi/after_all_import_execution' ) ) {
|
381 |
wp_send_json( array( 'status' => 'afterAllImportAJAX' ) );
|
382 |
}
|
383 |
|
404 |
* Default actions:
|
405 |
* 1 - Customizer import (with priority 10).
|
406 |
*/
|
407 |
+
Helpers::do_action( 'ocdi/customizer_import_execution', $this->selected_import_files );
|
408 |
}
|
409 |
|
410 |
// Request the after all import AJAX call.
|
411 |
+
if ( false !== Helpers::has_action( 'ocdi/after_all_import_execution' ) ) {
|
412 |
wp_send_json( array( 'status' => 'afterAllImportAJAX' ) );
|
413 |
}
|
414 |
|
432 |
* Default actions:
|
433 |
* 1 - after_import action (with priority 10).
|
434 |
*/
|
435 |
+
Helpers::do_action( 'ocdi/after_all_import_execution', $this->selected_import_files, $this->import_files, $this->selected_index );
|
436 |
}
|
437 |
|
438 |
// Send a JSON response with final report.
|
447 |
// Delete importer data transient for current import.
|
448 |
delete_transient( 'ocdi_importer_data' );
|
449 |
|
450 |
+
// Display final messages (success or warning messages).
|
451 |
+
$response['title'] = esc_html__( 'Import Complete!', 'one-click-demo-import' );
|
452 |
+
$response['subtitle'] = '<p>' . esc_html__( 'Congrats, your demo was imported successfully. You can now begin editing your site.', 'one-click-demo-import' ) . '</p>';
|
453 |
+
$response['message'] = '<img class="ocdi-imported-content-imported ocdi-imported-content-imported--success" src="' . esc_url( OCDI_URL . 'assets/images/success.svg' ) . '" alt="' . esc_attr__( 'Successful Import', 'one-click-demo-import' ) . '">';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
454 |
|
455 |
+
if ( ! empty( $this->frontend_error_messages ) ) {
|
456 |
+
$response['subtitle'] = '<p>' . esc_html__( 'Your import completed, but some things may not have imported properly.', 'one-click-demo-import' ) . '</p>';
|
457 |
+
$response['subtitle'] .= sprintf(
|
458 |
+
wp_kses(
|
459 |
+
/* translators: %s - link to the log file. */
|
460 |
+
__( '<p><a href="%s" target="_blank">View error log</a> for more information.</p>', 'one-click-demo-import' ),
|
461 |
+
array(
|
462 |
+
'p' => [],
|
463 |
+
'a' => [
|
464 |
+
'href' => [],
|
465 |
+
'target' => [],
|
466 |
+
],
|
467 |
+
)
|
468 |
+
),
|
469 |
+
Helpers::get_log_url( $this->log_file_path )
|
|
|
|
|
|
|
|
|
|
|
470 |
);
|
471 |
+
|
472 |
+
$response['message'] = '<div class="notice notice-warning"><p>' . $this->frontend_error_messages_display() . '</p></div>';
|
473 |
}
|
474 |
|
475 |
wp_send_json( $response );
|
564 |
}
|
565 |
|
566 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
567 |
/**
|
568 |
* Get data from filters, after the theme has loaded and instantiate the importer.
|
569 |
*/
|
573 |
}
|
574 |
|
575 |
// Get info of import data files and filter it.
|
576 |
+
$this->import_files = Helpers::validate_import_file_info( Helpers::apply_filters( 'ocdi/import_files', array() ) );
|
577 |
|
578 |
/**
|
579 |
* Register all default actions (before content import, widget, customizer import and other actions)
|
580 |
+
* to the 'before_content_import_execution' and the 'ocdi/after_content_import_execution' action hook.
|
581 |
*/
|
582 |
$import_actions = new ImportActions();
|
583 |
$import_actions->register_hooks();
|
584 |
|
585 |
// Importer options array.
|
586 |
+
$importer_options = Helpers::apply_filters( 'ocdi/importer_options', array(
|
587 |
'fetch_attachments' => true,
|
588 |
) );
|
589 |
|
590 |
// Logger options for the logger used in the importer.
|
591 |
+
$logger_options = Helpers::apply_filters( 'ocdi/logger_options', array(
|
592 |
'logger_min_level' => 'warning',
|
593 |
) );
|
594 |
|
598 |
|
599 |
// Create importer instance with proper parameters.
|
600 |
$this->importer = new Importer( $importer_options, $logger );
|
601 |
+
|
602 |
+
// Prepare registered plugins and register AJAX callbacks.
|
603 |
+
$this->plugin_installer = new PluginInstaller();
|
604 |
+
$this->plugin_installer->init();
|
605 |
+
|
606 |
+
// Prepare registered pre-created demo content pages and the AJAX callback.
|
607 |
+
$demo_content_creator = new CreateDemoContent\DemoContentCreator();
|
608 |
+
$demo_content_creator->init();
|
609 |
+
}
|
610 |
+
|
611 |
+
/**
|
612 |
+
* Getter for $plugin_page_setup.
|
613 |
+
*
|
614 |
+
* @return array
|
615 |
+
*/
|
616 |
+
public function get_plugin_page_setup() {
|
617 |
+
return $this->plugin_page_setup;
|
618 |
+
}
|
619 |
+
|
620 |
+
/**
|
621 |
+
* Output the begining of the container div for all notices, but only on OCDI pages.
|
622 |
+
*/
|
623 |
+
public function start_notice_output_capturing() {
|
624 |
+
$screen = get_current_screen();
|
625 |
+
|
626 |
+
if ( false === strpos( $screen->base, $this->plugin_page_setup['menu_slug'] ) ) {
|
627 |
+
return;
|
628 |
+
}
|
629 |
+
|
630 |
+
echo '<div class="ocdi-notices-wrapper js-ocdi-notice-wrapper">';
|
631 |
+
}
|
632 |
+
|
633 |
+
/**
|
634 |
+
* Output the ending of the container div for all notices, but only on OCDI pages.
|
635 |
+
*/
|
636 |
+
public function finish_notice_output_capturing() {
|
637 |
+
$screen = get_current_screen();
|
638 |
+
|
639 |
+
if ( false === strpos( $screen->base, $this->plugin_page_setup['menu_slug'] ) ) {
|
640 |
+
return;
|
641 |
+
}
|
642 |
+
|
643 |
+
echo '</div><!-- /.ocdi-notices-wrapper -->';
|
644 |
+
}
|
645 |
+
|
646 |
+
/**
|
647 |
+
* Get the URL of the plugin settings page.
|
648 |
+
*
|
649 |
+
* @return string
|
650 |
+
*/
|
651 |
+
public function get_plugin_settings_url( $query_parameters = [] ) {
|
652 |
+
if ( empty( $this->plugin_page_setup ) ) {
|
653 |
+
$this->plugin_page_setup = Helpers::get_plugin_page_setup_data();
|
654 |
+
}
|
655 |
+
|
656 |
+
$parameters = array_merge(
|
657 |
+
array( 'page' => $this->plugin_page_setup['menu_slug'] ),
|
658 |
+
$query_parameters
|
659 |
+
);
|
660 |
+
|
661 |
+
$url = menu_page_url( $this->plugin_page_setup['parent_slug'], false );
|
662 |
+
|
663 |
+
if ( empty( $url ) ) {
|
664 |
+
$url = self_admin_url( $this->plugin_page_setup['parent_slug'] );
|
665 |
+
}
|
666 |
+
|
667 |
+
return add_query_arg( $parameters, $url );
|
668 |
}
|
669 |
}
|
inc/PluginInstaller.php
ADDED
@@ -0,0 +1,587 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plugin Installer class - responsible for installing other plugins.
|
4 |
+
*
|
5 |
+
* @package ocdi
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace OCDI;
|
9 |
+
|
10 |
+
class PluginInstaller {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Holds all registered plugins.
|
14 |
+
*
|
15 |
+
* @var array
|
16 |
+
*/
|
17 |
+
private $plugins;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Initialize everything needed for the plugin installer class to function properly.
|
21 |
+
*/
|
22 |
+
public function init() {
|
23 |
+
$this->set_plugins();
|
24 |
+
|
25 |
+
add_action( 'ocdi/plugin_intaller_before_plugin_activation', array( $this, 'before_plugin_activation' ) );
|
26 |
+
add_action( 'ocdi/plugin_intaller_after_plugin_activation', array( $this, 'after_plugin_activation' ) );
|
27 |
+
|
28 |
+
add_action( 'wp_ajax_ocdi_install_plugin', array( $this, 'install_plugin_callback' ) );
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Prevent the auto redirects for our recommended plugins.
|
33 |
+
* This code is run before plugin is activated.
|
34 |
+
*
|
35 |
+
* @param string $slug The plugin slug.
|
36 |
+
*/
|
37 |
+
public function before_plugin_activation( $slug ) {
|
38 |
+
// Disable the WPForms redirect after plugin activation.
|
39 |
+
if ( $slug === 'wpforms-lite' ) {
|
40 |
+
update_option( 'wpforms_activation_redirect', true );
|
41 |
+
}
|
42 |
+
|
43 |
+
// Disable the AIOSEO redirect after plugin activation.
|
44 |
+
if ( $slug === 'all-in-one-seo-pack' ) {
|
45 |
+
update_option( 'aioseo_activation_redirect', true );
|
46 |
+
}
|
47 |
+
|
48 |
+
// Disable the WP Mail SMTP redirect after plugin activation.
|
49 |
+
if ( $slug === 'wp-mail-smtp' ) {
|
50 |
+
update_option( 'wp_mail_smtp_activation_prevent_redirect', true );
|
51 |
+
}
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Prevent the auto redirects for our recommended plugins.
|
56 |
+
* This code is run after plugin is activated.
|
57 |
+
*
|
58 |
+
* @param string $slug The plugin slug.
|
59 |
+
*/
|
60 |
+
public function after_plugin_activation( $slug ) {
|
61 |
+
// Disable the RafflePress redirect after plugin activation.
|
62 |
+
if ( $slug === 'rafflepress' ) {
|
63 |
+
delete_transient('_rafflepress_welcome_screen_activation_redirect');
|
64 |
+
}
|
65 |
+
|
66 |
+
// Disable the MonsterInsights redirect after plugin activation.
|
67 |
+
if ( $slug === 'google-analytics-for-wordpress' ) {
|
68 |
+
delete_transient('_monsterinsights_activation_redirect');
|
69 |
+
}
|
70 |
+
|
71 |
+
// Disable the SeedProd redirect after the plugin activation.
|
72 |
+
if ( $slug === 'coming-soon' ) {
|
73 |
+
delete_transient( '_seedprod_welcome_screen_activation_redirect' );
|
74 |
+
}
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Get all partner plugins data.
|
79 |
+
*
|
80 |
+
* @return array[]
|
81 |
+
*/
|
82 |
+
public function get_partner_plugins() {
|
83 |
+
return array(
|
84 |
+
array(
|
85 |
+
'name' => esc_html__( 'WPForms', 'one-click-demo-import' ),
|
86 |
+
'description' => esc_html__( 'Join 4,000,000+ professionals who build smarter forms and surveys with WPForms.', 'one-click-demo-import' ),
|
87 |
+
'slug' => 'wpforms-lite',
|
88 |
+
'required' => false,
|
89 |
+
'preselected' => true,
|
90 |
+
),
|
91 |
+
array(
|
92 |
+
'name' => esc_html__( 'All in One SEO', 'one-click-demo-import' ),
|
93 |
+
'description' => esc_html__( 'Use All in One SEO Pack to optimize your WordPress site for SEO.', 'one-click-demo-import' ),
|
94 |
+
'slug' => 'all-in-one-seo-pack',
|
95 |
+
'required' => false,
|
96 |
+
'preselected' => true,
|
97 |
+
),
|
98 |
+
array(
|
99 |
+
'name' => esc_html__( 'MonsterInsights', 'one-click-demo-import' ),
|
100 |
+
'description' => esc_html__( 'The #1 Google Analytics Plugin for WordPress that’s easy and powerful.', 'one-click-demo-import' ),
|
101 |
+
'slug' => 'google-analytics-for-wordpress',
|
102 |
+
'required' => false,
|
103 |
+
'preselected' => true,
|
104 |
+
),
|
105 |
+
array(
|
106 |
+
'name' => esc_html__( 'Custom Landing Pages by SeedProd', 'one-click-demo-import' ),
|
107 |
+
'description' => esc_html__( 'Work on your site in private while visitors see a "Coming Soon" or "Maintenance Mode" page.', 'one-click-demo-import' ),
|
108 |
+
'slug' => 'coming-soon',
|
109 |
+
'required' => false,
|
110 |
+
),
|
111 |
+
array(
|
112 |
+
'name' => esc_html__( 'Smash Balloon Social Photo Feed', 'one-click-demo-import' ),
|
113 |
+
'description' => esc_html__( 'Display beautifully clean, customizable, and responsive Instagram feeds.', 'one-click-demo-import' ),
|
114 |
+
'slug' => 'instagram-feed',
|
115 |
+
'required' => false,
|
116 |
+
),
|
117 |
+
array(
|
118 |
+
'name' => esc_html__( 'WP Mail SMTP', 'one-click-demo-import' ),
|
119 |
+
'description' => esc_html__( 'Make email delivery easy for WordPress. Connect with SMTP, Gmail, Outlook, Mailgun, and more.', 'one-click-demo-import' ),
|
120 |
+
'slug' => 'wp-mail-smtp',
|
121 |
+
'required' => false,
|
122 |
+
),
|
123 |
+
);
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* Set all registered plugins.
|
128 |
+
* With our recommended plugins being set as defaults.
|
129 |
+
*/
|
130 |
+
public function set_plugins() {
|
131 |
+
$all_plugins = array_merge( $this->get_partner_plugins(), Helpers::apply_filters( 'ocdi/register_plugins', array() ) );
|
132 |
+
|
133 |
+
$this->plugins = $this->filter_plugins( $all_plugins );
|
134 |
+
}
|
135 |
+
|
136 |
+
/**
|
137 |
+
* Get all theme registered plugins.
|
138 |
+
* With our 3 top recommended plugins being set as defaults.
|
139 |
+
*/
|
140 |
+
public function get_theme_plugins() {
|
141 |
+
$default_plugins = $this->get_top_partner_plugins();
|
142 |
+
|
143 |
+
$theme_plugins = array_merge( $default_plugins, Helpers::apply_filters( 'ocdi/register_plugins', array() ) );
|
144 |
+
|
145 |
+
return $this->filter_plugins( $theme_plugins );
|
146 |
+
}
|
147 |
+
|
148 |
+
/**
|
149 |
+
* Get the top 3 partner plugins if they are not already activated.
|
150 |
+
*
|
151 |
+
* @return array
|
152 |
+
*/
|
153 |
+
private function get_top_partner_plugins() {
|
154 |
+
$installed_plugins = $this->get_plugins();
|
155 |
+
$contact_form = [
|
156 |
+
'wpforms-lite/wpforms.php',
|
157 |
+
'wpforms/wpforms.php',
|
158 |
+
'formidable/formidable.php',
|
159 |
+
'formidable/formidable-pro.php',
|
160 |
+
'gravityforms/gravityforms.php',
|
161 |
+
'ninja-forms/ninja-forms.php',
|
162 |
+
];
|
163 |
+
$seo = [
|
164 |
+
'all-in-one-seo-pack/all_in_one_seo_pack.php',
|
165 |
+
'all-in-one-seo-pack-pro/all_in_one_seo_pack.php',
|
166 |
+
'wordpress-seo/wp-seo.php',
|
167 |
+
'wordpress-seo-premium/wp-seo-premium.php',
|
168 |
+
'seo-by-rank-math/rank-math.php',
|
169 |
+
'seo-by-rank-math-pro/rank-math-pro.php',
|
170 |
+
];
|
171 |
+
$google_analytics = [
|
172 |
+
'google-analytics-for-wordpress/googleanalytics.php',
|
173 |
+
'exactmetrics-premium/exactmetrics-premium.php',
|
174 |
+
'google-analytics-dashboard-for-wp/gadwp.php',
|
175 |
+
];
|
176 |
+
|
177 |
+
$plugins = array_slice( $this->get_partner_plugins(), 0, 3 );
|
178 |
+
|
179 |
+
return array_filter(
|
180 |
+
$plugins,
|
181 |
+
function ( $plugin ) use ( $installed_plugins, $contact_form, $seo, $google_analytics ) {
|
182 |
+
if ( empty( $plugin['slug'] ) || empty( $plugin['name'] ) ) {
|
183 |
+
return false;
|
184 |
+
}
|
185 |
+
|
186 |
+
if ( 'wpforms-lite' === $plugin['slug'] ) {
|
187 |
+
foreach ( $installed_plugins as $basename => $plugin_info ) {
|
188 |
+
if ( in_array( $basename, $contact_form, true ) ) {
|
189 |
+
return false;
|
190 |
+
}
|
191 |
+
}
|
192 |
+
} elseif ( 'all-in-one-seo-pack' === $plugin['slug'] ) {
|
193 |
+
foreach ( $installed_plugins as $basename => $plugin_info ) {
|
194 |
+
if ( in_array( $basename, $seo, true ) ) {
|
195 |
+
return false;
|
196 |
+
}
|
197 |
+
}
|
198 |
+
} elseif ( 'google-analytics-for-wordpress' === $plugin['slug'] ) {
|
199 |
+
foreach ( $installed_plugins as $basename => $plugin_info ) {
|
200 |
+
if ( in_array( $basename, $google_analytics, true ) ) {
|
201 |
+
return false;
|
202 |
+
}
|
203 |
+
}
|
204 |
+
}
|
205 |
+
|
206 |
+
return true;
|
207 |
+
}
|
208 |
+
);
|
209 |
+
}
|
210 |
+
|
211 |
+
/**
|
212 |
+
* AJAX callback for installing a plugin.
|
213 |
+
* Has to contain the `slug` POST parameter.
|
214 |
+
*/
|
215 |
+
public function install_plugin_callback() {
|
216 |
+
check_ajax_referer( 'ocdi-ajax-verification', 'security' );
|
217 |
+
|
218 |
+
// Check if user has the WP capability to install plugins.
|
219 |
+
if ( ! current_user_can( 'install_plugins' ) ) {
|
220 |
+
wp_send_json_error( esc_html__( 'Could not install the plugin. You don\'t have permission to install plugins.', 'one-click-demo-import' ) );
|
221 |
+
}
|
222 |
+
|
223 |
+
$slug = ! empty( $_POST['slug'] ) ? sanitize_key( wp_unslash( $_POST['slug'] ) ) : '';
|
224 |
+
|
225 |
+
if ( empty( $slug ) ) {
|
226 |
+
wp_send_json_error( esc_html__( 'Could not install the plugin. Plugin slug is missing.', 'one-click-demo-import' ) );
|
227 |
+
}
|
228 |
+
|
229 |
+
// Check if the plugin is already installed and activated.
|
230 |
+
if ( $this->is_plugin_active( $slug ) ) {
|
231 |
+
wp_send_json_success( esc_html__( 'Plugin is already installed and activated!', 'one-click-demo-import' ) );
|
232 |
+
}
|
233 |
+
|
234 |
+
// Activate the plugin if the plugin is already installed.
|
235 |
+
if ( $this->is_plugin_installed( $slug ) ) {
|
236 |
+
$activated = $this->activate_plugin( $this->get_plugin_basename_from_slug( $slug ), $slug );
|
237 |
+
|
238 |
+
if ( ! is_wp_error( $activated ) ) {
|
239 |
+
wp_send_json_success( esc_html__( 'Plugin was already installed! We activated it for you.', 'one-click-demo-import' ) );
|
240 |
+
} else {
|
241 |
+
wp_send_json_error( $activated->get_error_message() );
|
242 |
+
}
|
243 |
+
}
|
244 |
+
|
245 |
+
// Check for file system permissions.
|
246 |
+
if ( ! $this->filesystem_permissions_allowed() ) {
|
247 |
+
wp_send_json_error( esc_html__( 'Could not install the plugin. Don\'t have file permission.', 'one-click-demo-import' ) );
|
248 |
+
}
|
249 |
+
|
250 |
+
// Do not allow WordPress to search/download translations, as this will break JS output.
|
251 |
+
remove_action( 'upgrader_process_complete', [ 'Language_Pack_Upgrader', 'async_upgrade' ], 20 );
|
252 |
+
|
253 |
+
// Prep variables for Plugin_Installer_Skin class.
|
254 |
+
$extra = array();
|
255 |
+
$extra['slug'] = $slug; // Needed for potentially renaming of directory name.
|
256 |
+
$source = $this->get_download_url( $slug );
|
257 |
+
$api = empty( $this->get_plugin_data( $slug )['source'] ) ? $this->get_plugins_api( $slug ) : null;
|
258 |
+
$api = ( false !== $api ) ? $api : null;
|
259 |
+
|
260 |
+
if ( ! empty( $api ) && is_wp_error( $api ) ) {
|
261 |
+
wp_send_json_error( $api->get_error_message() );
|
262 |
+
}
|
263 |
+
|
264 |
+
if ( ! class_exists( '\Plugin_Upgrader', false ) ) {
|
265 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
266 |
+
}
|
267 |
+
|
268 |
+
$skin_args = array(
|
269 |
+
'type' => 'web',
|
270 |
+
'plugin' => '',
|
271 |
+
'api' => $api,
|
272 |
+
'extra' => $extra,
|
273 |
+
);
|
274 |
+
|
275 |
+
$upgrader = new \Plugin_Upgrader( new PluginInstallerSkin( $skin_args ) );
|
276 |
+
|
277 |
+
$upgrader->install( $source );
|
278 |
+
|
279 |
+
// Flush the cache and return the newly installed plugin basename.
|
280 |
+
wp_cache_flush();
|
281 |
+
|
282 |
+
if ( $upgrader->plugin_info() ) {
|
283 |
+
$activated = $this->activate_plugin( $upgrader->plugin_info(), $slug );
|
284 |
+
|
285 |
+
if ( ! is_wp_error( $activated ) ) {
|
286 |
+
wp_send_json_success(
|
287 |
+
esc_html__( 'Plugin installed and activated succesfully.', 'one-click-demo-import' )
|
288 |
+
);
|
289 |
+
} else {
|
290 |
+
wp_send_json_success( $activated->get_error_message() );
|
291 |
+
}
|
292 |
+
}
|
293 |
+
|
294 |
+
wp_send_json_error( esc_html__( 'Could not install the plugin. WP Plugin installer could not retrieve plugin information.', 'one-click-demo-import' ) );
|
295 |
+
}
|
296 |
+
|
297 |
+
/**
|
298 |
+
* Direct plugin install, without AJAX responses.
|
299 |
+
*
|
300 |
+
* @param string $slug The registered plugin slug to install.
|
301 |
+
*
|
302 |
+
* @return bool
|
303 |
+
*/
|
304 |
+
public function install_plugin( $slug ) {
|
305 |
+
if ( empty( $slug ) ) {
|
306 |
+
return false;
|
307 |
+
}
|
308 |
+
|
309 |
+
// Check if user has the WP capability to install plugins.
|
310 |
+
if ( ! current_user_can( 'install_plugins' ) ) {
|
311 |
+
return false;
|
312 |
+
}
|
313 |
+
|
314 |
+
// Check if the plugin is already installed and activated.
|
315 |
+
if ( $this->is_plugin_active( $slug ) ) {
|
316 |
+
return true;
|
317 |
+
}
|
318 |
+
|
319 |
+
// Activate the plugin if the plugin is already installed.
|
320 |
+
if ( $this->is_plugin_installed( $slug ) ) {
|
321 |
+
$activated = $this->activate_plugin( $this->get_plugin_basename_from_slug( $slug ), $slug );
|
322 |
+
|
323 |
+
return ! is_wp_error( $activated );
|
324 |
+
}
|
325 |
+
|
326 |
+
// Check for file system permissions.
|
327 |
+
if ( ! $this->filesystem_permissions_allowed() ) {
|
328 |
+
return false;
|
329 |
+
}
|
330 |
+
|
331 |
+
// Do not allow WordPress to search/download translations, as this will break JS output.
|
332 |
+
remove_action( 'upgrader_process_complete', [ 'Language_Pack_Upgrader', 'async_upgrade' ], 20 );
|
333 |
+
|
334 |
+
// Prep variables for Plugin_Installer_Skin class.
|
335 |
+
$extra = array();
|
336 |
+
$extra['slug'] = $slug; // Needed for potentially renaming of directory name.
|
337 |
+
$source = $this->get_download_url( $slug );
|
338 |
+
$api = empty( $this->get_plugin_data( $slug )['source'] ) ? $this->get_plugins_api( $slug ) : null;
|
339 |
+
$api = ( false !== $api ) ? $api : null;
|
340 |
+
|
341 |
+
if ( ! empty( $api ) && is_wp_error( $api ) ) {
|
342 |
+
return false;
|
343 |
+
}
|
344 |
+
|
345 |
+
if ( ! class_exists( '\Plugin_Upgrader', false ) ) {
|
346 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
347 |
+
}
|
348 |
+
|
349 |
+
$skin_args = array(
|
350 |
+
'type' => 'web',
|
351 |
+
'plugin' => '',
|
352 |
+
'api' => $api,
|
353 |
+
'extra' => $extra,
|
354 |
+
);
|
355 |
+
|
356 |
+
$upgrader = new \Plugin_Upgrader( new PluginInstallerSkinSilent( $skin_args ) );
|
357 |
+
|
358 |
+
$upgrader->install( $source );
|
359 |
+
|
360 |
+
// Flush the cache and return the newly installed plugin basename.
|
361 |
+
wp_cache_flush();
|
362 |
+
|
363 |
+
if ( $upgrader->plugin_info() ) {
|
364 |
+
$activated = $this->activate_plugin( $upgrader->plugin_info(), $slug );
|
365 |
+
|
366 |
+
if ( ! is_wp_error( $activated ) ) {
|
367 |
+
return true;
|
368 |
+
}
|
369 |
+
}
|
370 |
+
|
371 |
+
return false;
|
372 |
+
}
|
373 |
+
|
374 |
+
/**
|
375 |
+
* Activate the plugin with the before and after hooks.
|
376 |
+
*
|
377 |
+
* @param string $plugin_filename The plugin's basename(example: wpforms/wpforms.php).
|
378 |
+
* @param string $slug The plugin's slug.
|
379 |
+
*
|
380 |
+
* @return null|WP_Error Null on success, WP_Error on invalid file.
|
381 |
+
*/
|
382 |
+
private function activate_plugin( $plugin_filename, $slug ) {
|
383 |
+
Helpers::do_action( 'ocdi/plugin_intaller_before_plugin_activation', $slug );
|
384 |
+
|
385 |
+
$activated = activate_plugin( $plugin_filename );
|
386 |
+
|
387 |
+
Helpers::do_action( 'ocdi/plugin_intaller_after_plugin_activation', $slug );
|
388 |
+
|
389 |
+
return $activated;
|
390 |
+
}
|
391 |
+
|
392 |
+
/**
|
393 |
+
* Helper function to check for the filesystem permissions.
|
394 |
+
*
|
395 |
+
* @return bool
|
396 |
+
*/
|
397 |
+
private function filesystem_permissions_allowed() {
|
398 |
+
$ocdi = OneClickDemoImport::get_instance();
|
399 |
+
$url = esc_url_raw( $ocdi->get_plugin_settings_url() );
|
400 |
+
$creds = request_filesystem_credentials( $url, '', false, false, null );
|
401 |
+
|
402 |
+
// Check for file system permissions.
|
403 |
+
if ( false === $creds || ! WP_Filesystem( $creds ) ) {
|
404 |
+
return false;
|
405 |
+
}
|
406 |
+
|
407 |
+
return true;
|
408 |
+
}
|
409 |
+
|
410 |
+
/**
|
411 |
+
* Get the data of a registered plugin via the slug.
|
412 |
+
*
|
413 |
+
* @param string $slug The plugin slug.
|
414 |
+
*
|
415 |
+
* @return array
|
416 |
+
*/
|
417 |
+
public function get_plugin_data( $slug ) {
|
418 |
+
$data = [];
|
419 |
+
|
420 |
+
foreach ( $this->plugins as $plugin ) {
|
421 |
+
if ( $plugin['slug'] === $slug ) {
|
422 |
+
$data = $plugin;
|
423 |
+
break;
|
424 |
+
}
|
425 |
+
}
|
426 |
+
|
427 |
+
return $data;
|
428 |
+
}
|
429 |
+
|
430 |
+
/**
|
431 |
+
* Get the download URL for a plugin.
|
432 |
+
*
|
433 |
+
* @param string $slug Plugin slug.
|
434 |
+
*
|
435 |
+
* @return string Plugin download URL.
|
436 |
+
*/
|
437 |
+
public function get_download_url( $slug ) {
|
438 |
+
$plugin_data = $this->get_plugin_data( $slug );
|
439 |
+
|
440 |
+
if ( ! empty( $plugin_data['source'] ) ) {
|
441 |
+
return $plugin_data['source'];
|
442 |
+
}
|
443 |
+
|
444 |
+
return $this->get_wp_repo_download_url( $slug );
|
445 |
+
}
|
446 |
+
|
447 |
+
/**
|
448 |
+
* Get the download URL from the WP.org.
|
449 |
+
*
|
450 |
+
* @param string $slug Plugin slug.
|
451 |
+
*
|
452 |
+
* @return string Plugin download URL from WP.org.
|
453 |
+
*/
|
454 |
+
protected function get_wp_repo_download_url( $slug ) {
|
455 |
+
$source = '';
|
456 |
+
$api = $this->get_plugins_api( $slug );
|
457 |
+
|
458 |
+
if ( false !== $api && isset( $api->download_link ) ) {
|
459 |
+
$source = $api->download_link;
|
460 |
+
}
|
461 |
+
|
462 |
+
return $source;
|
463 |
+
}
|
464 |
+
|
465 |
+
/**
|
466 |
+
* Try to grab information from WordPress API.
|
467 |
+
*
|
468 |
+
* @param string $slug Plugin slug.
|
469 |
+
*
|
470 |
+
* @return object Plugins_api response object on success, WP_Error on failure.
|
471 |
+
*/
|
472 |
+
protected function get_plugins_api( $slug ) {
|
473 |
+
static $api = array(); // Cache received responses.
|
474 |
+
|
475 |
+
if ( ! isset( $api[ $slug ] ) ) {
|
476 |
+
if ( ! function_exists( 'plugins_api' ) ) {
|
477 |
+
require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
|
478 |
+
}
|
479 |
+
|
480 |
+
$api[ $slug ] = plugins_api( 'plugin_information', array( 'slug' => $slug, 'fields' => array( 'sections' => false ) ) );
|
481 |
+
}
|
482 |
+
|
483 |
+
return $api[ $slug ];
|
484 |
+
}
|
485 |
+
|
486 |
+
/**
|
487 |
+
* Wrapper around the core WP get_plugins function, making sure it's actually available.
|
488 |
+
*
|
489 |
+
* @param string $plugin_folder Optional. Relative path to single plugin folder.
|
490 |
+
*
|
491 |
+
* @return array Array of installed plugins with plugin information.
|
492 |
+
*/
|
493 |
+
public function get_plugins( $plugin_folder = '' ) {
|
494 |
+
if ( ! function_exists( 'get_plugins' ) ) {
|
495 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
496 |
+
}
|
497 |
+
|
498 |
+
return get_plugins( $plugin_folder );
|
499 |
+
}
|
500 |
+
|
501 |
+
/**
|
502 |
+
* Helper function to extract the plugin file path from the
|
503 |
+
* plugin slug, if the plugin is installed.
|
504 |
+
*
|
505 |
+
* @param string $slug Plugin slug (typically folder name) as provided by the developer.
|
506 |
+
*
|
507 |
+
* @return string|bool Either plugin file path for plugin if installed, or false.
|
508 |
+
*/
|
509 |
+
protected function get_plugin_basename_from_slug( $slug ) {
|
510 |
+
$keys = array_keys( $this->get_plugins() );
|
511 |
+
|
512 |
+
foreach ( $keys as $key ) {
|
513 |
+
if ( preg_match( '/^' . $slug . '\//', $key ) ) {
|
514 |
+
return $key;
|
515 |
+
}
|
516 |
+
}
|
517 |
+
|
518 |
+
return false;
|
519 |
+
}
|
520 |
+
|
521 |
+
/**
|
522 |
+
* Check if a plugin is installed. Does not take must-use plugins into account.
|
523 |
+
*
|
524 |
+
* @param string $slug Plugin slug.
|
525 |
+
*
|
526 |
+
* @return bool True if installed, false otherwise.
|
527 |
+
*/
|
528 |
+
public function is_plugin_installed( $slug ) {
|
529 |
+
return ( ! empty( $this->get_plugin_basename_from_slug( $slug ) ) );
|
530 |
+
}
|
531 |
+
|
532 |
+
/**
|
533 |
+
* Check if a plugin is active.
|
534 |
+
*
|
535 |
+
* @param string $slug Plugin slug.
|
536 |
+
*
|
537 |
+
* @return bool True if active, false otherwise.
|
538 |
+
*/
|
539 |
+
public function is_plugin_active( $slug ) {
|
540 |
+
$plugin_path = $this->get_plugin_basename_from_slug( $slug );
|
541 |
+
|
542 |
+
if ( empty( $plugin_path ) ) {
|
543 |
+
return false;
|
544 |
+
}
|
545 |
+
|
546 |
+
return is_plugin_active( $plugin_path );
|
547 |
+
}
|
548 |
+
|
549 |
+
/**
|
550 |
+
* Get the list of plugins (with their data) of all non-active and non-installed registered plugins.
|
551 |
+
*
|
552 |
+
* @return array
|
553 |
+
*/
|
554 |
+
public function get_missing_plugins() {
|
555 |
+
$missing = [];
|
556 |
+
|
557 |
+
foreach ( $this->plugins as $plugin_data ) {
|
558 |
+
if ( ! $this->is_plugin_active( $plugin_data['slug'] ) ) {
|
559 |
+
$missing[] = $plugin_data;
|
560 |
+
}
|
561 |
+
}
|
562 |
+
|
563 |
+
return $missing;
|
564 |
+
}
|
565 |
+
|
566 |
+
/**
|
567 |
+
* Return only plugins with required attributes:
|
568 |
+
* - name
|
569 |
+
* - slug
|
570 |
+
*
|
571 |
+
* @param array $plugins The array of plugin's data.
|
572 |
+
*
|
573 |
+
* @return array
|
574 |
+
*/
|
575 |
+
private function filter_plugins( $plugins ) {
|
576 |
+
return array_filter(
|
577 |
+
$plugins,
|
578 |
+
function ( $plugin ) {
|
579 |
+
if ( empty( $plugin['slug'] ) || empty( $plugin['name'] ) ) {
|
580 |
+
return false;
|
581 |
+
}
|
582 |
+
|
583 |
+
return true;
|
584 |
+
}
|
585 |
+
);
|
586 |
+
}
|
587 |
+
}
|
inc/PluginInstallerSkin.php
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plugin Installer Skin class - responsible for displying info while installing plugins.
|
4 |
+
*
|
5 |
+
* @package ocdi
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace OCDI;
|
9 |
+
|
10 |
+
if ( ! class_exists( '\Plugin_Upgrader', false ) ) {
|
11 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
12 |
+
}
|
13 |
+
|
14 |
+
/**
|
15 |
+
* WordPress class extended for on-the-fly plugin installations.
|
16 |
+
*/
|
17 |
+
class PluginInstallerSkin extends \WP_Upgrader_Skin {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Empty out the header of its HTML content.
|
21 |
+
*/
|
22 |
+
public function header() {}
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Empty out the footer of its HTML content.
|
26 |
+
*/
|
27 |
+
public function footer() {}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Empty out the footer of its HTML content.
|
31 |
+
*
|
32 |
+
* @param string $string
|
33 |
+
* @param mixed ...$args Optional text replacements.
|
34 |
+
*/
|
35 |
+
public function feedback( $string, ...$args ) {}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Empty out JavaScript output that calls function to decrement the update counts.
|
39 |
+
*
|
40 |
+
* @param string $type Type of update count to decrement.
|
41 |
+
*/
|
42 |
+
public function decrement_update_count( $type ) {}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Instead of outputting HTML for errors, json_encode the errors and send them
|
46 |
+
* back to the Ajax script for processing.
|
47 |
+
*
|
48 |
+
* @param string|WP_Error $errors A string or WP_Error object of the install error/s.
|
49 |
+
*/
|
50 |
+
public function error( $errors ) {
|
51 |
+
if ( empty( $errors ) ) {
|
52 |
+
return;
|
53 |
+
}
|
54 |
+
|
55 |
+
if ( is_string( $errors ) ) {
|
56 |
+
wp_send_json_error( $errors );
|
57 |
+
} elseif ( is_wp_error( $errors ) && $errors->has_errors() ) {
|
58 |
+
if ( $errors->get_error_data() && is_string( $errors->get_error_data() ) ) {
|
59 |
+
wp_send_json_error( $message . ' ' . esc_html( strip_tags( $errors->get_error_data() ) ) );
|
60 |
+
} else {
|
61 |
+
wp_send_json_error( $message );
|
62 |
+
}
|
63 |
+
}
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
inc/PluginInstallerSkinSilent.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plugin Installer Skin class - responsible for not displying any info while installing plugins.
|
4 |
+
*
|
5 |
+
* @package ocdi
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace OCDI;
|
9 |
+
|
10 |
+
if ( ! class_exists( '\Plugin_Upgrader', false ) ) {
|
11 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
12 |
+
}
|
13 |
+
|
14 |
+
/**
|
15 |
+
* WordPress class extended for on-the-fly plugin installations.
|
16 |
+
*/
|
17 |
+
class PluginInstallerSkinSilent extends \WP_Upgrader_Skin {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Empty out the header of its HTML content.
|
21 |
+
*/
|
22 |
+
public function header() {}
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Empty out the footer of its HTML content.
|
26 |
+
*/
|
27 |
+
public function footer() {}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Empty out the footer of its HTML content.
|
31 |
+
*
|
32 |
+
* @param string $string
|
33 |
+
* @param mixed ...$args Optional text replacements.
|
34 |
+
*/
|
35 |
+
public function feedback( $string, ...$args ) {}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Empty out JavaScript output that calls function to decrement the update counts.
|
39 |
+
*
|
40 |
+
* @param string $type Type of update count to decrement.
|
41 |
+
*/
|
42 |
+
public function decrement_update_count( $type ) {}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Empty out the error HTML content.
|
46 |
+
*
|
47 |
+
* @param string|WP_Error $errors A string or WP_Error object of the install error/s.
|
48 |
+
*/
|
49 |
+
public function error( $errors ) {}
|
50 |
+
}
|
51 |
+
|
inc/ReduxImporter.php
CHANGED
@@ -20,7 +20,7 @@ class ReduxImporter {
|
|
20 |
|
21 |
// Redux plugin is not active!
|
22 |
if ( ! class_exists( 'ReduxFramework' ) ) {
|
23 |
-
$error_message = esc_html__( 'The Redux plugin is not activated, so the Redux import was skipped!', '
|
24 |
|
25 |
// Add any error messages to the frontend_error_messages variable in OCDI main class.
|
26 |
$ocdi->append_to_frontend_error_messages( $error_message );
|
@@ -29,7 +29,7 @@ class ReduxImporter {
|
|
29 |
Helpers::append_to_file(
|
30 |
$error_message,
|
31 |
$log_file_path,
|
32 |
-
esc_html__( 'Importing Redux settings' , '
|
33 |
);
|
34 |
|
35 |
return;
|
@@ -47,14 +47,14 @@ class ReduxImporter {
|
|
47 |
$redux_framework->set_options( $redux_options_data );
|
48 |
|
49 |
// Add this message to log file.
|
50 |
-
$log_added = Helpers::append_to_file(
|
51 |
-
sprintf( esc_html__( 'Redux settings import for: %s finished successfully!', '
|
52 |
$log_file_path,
|
53 |
-
esc_html__( 'Importing Redux settings' , '
|
54 |
);
|
55 |
}
|
56 |
-
else {
|
57 |
-
$error_message = sprintf( esc_html__( 'The Redux option name: %s, was not found in this WP site, so it was not imported!', '
|
58 |
|
59 |
// Add any error messages to the frontend_error_messages variable in OCDI main class.
|
60 |
$ocdi->append_to_frontend_error_messages( $error_message );
|
@@ -63,7 +63,7 @@ class ReduxImporter {
|
|
63 |
Helpers::append_to_file(
|
64 |
$error_message,
|
65 |
$log_file_path,
|
66 |
-
esc_html__( 'Importing Redux settings' , '
|
67 |
);
|
68 |
}
|
69 |
}
|
20 |
|
21 |
// Redux plugin is not active!
|
22 |
if ( ! class_exists( 'ReduxFramework' ) ) {
|
23 |
+
$error_message = esc_html__( 'The Redux plugin is not activated, so the Redux import was skipped!', 'one-click-demo-import' );
|
24 |
|
25 |
// Add any error messages to the frontend_error_messages variable in OCDI main class.
|
26 |
$ocdi->append_to_frontend_error_messages( $error_message );
|
29 |
Helpers::append_to_file(
|
30 |
$error_message,
|
31 |
$log_file_path,
|
32 |
+
esc_html__( 'Importing Redux settings' , 'one-click-demo-import' )
|
33 |
);
|
34 |
|
35 |
return;
|
47 |
$redux_framework->set_options( $redux_options_data );
|
48 |
|
49 |
// Add this message to log file.
|
50 |
+
$log_added = Helpers::append_to_file( /* translators: %s - the name of the Redux option. */
|
51 |
+
sprintf( esc_html__( 'Redux settings import for: %s finished successfully!', 'one-click-demo-import' ), $redux_item['option_name'] ),
|
52 |
$log_file_path,
|
53 |
+
esc_html__( 'Importing Redux settings' , 'one-click-demo-import' )
|
54 |
);
|
55 |
}
|
56 |
+
else { /* translators: %s - the name of the Redux option. */
|
57 |
+
$error_message = sprintf( esc_html__( 'The Redux option name: %s, was not found in this WP site, so it was not imported!', 'one-click-demo-import' ), $redux_item['option_name'] );
|
58 |
|
59 |
// Add any error messages to the frontend_error_messages variable in OCDI main class.
|
60 |
$ocdi->append_to_frontend_error_messages( $error_message );
|
63 |
Helpers::append_to_file(
|
64 |
$error_message,
|
65 |
$log_file_path,
|
66 |
+
esc_html__( 'Importing Redux settings' , 'one-click-demo-import' )
|
67 |
);
|
68 |
}
|
69 |
}
|
inc/ViewHelpers.php
ADDED
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Static functions used in the OCDI plugin views.
|
4 |
+
*
|
5 |
+
* @package ocdi
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace OCDI;
|
9 |
+
|
10 |
+
class ViewHelpers {
|
11 |
+
/**
|
12 |
+
* The HTML output of the plugin page header.
|
13 |
+
*
|
14 |
+
* @return string HTML output.
|
15 |
+
*/
|
16 |
+
public static function plugin_header_output() {
|
17 |
+
ob_start(); ?>
|
18 |
+
<div class="ocdi__title-container">
|
19 |
+
<h1 class="ocdi__title-container-title"><?php esc_html_e( 'One Click Demo Import', 'one-click-demo-import' ); ?></h1>
|
20 |
+
<a href="https://ocdi.com/user-guide/" target="_blank" rel="noopener noreferrer">
|
21 |
+
<img class="ocdi__title-container-icon" src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/question-circle.svg' ); ?>" alt="<?php esc_attr_e( 'Questionmark icon', 'one-click-demo-import' ); ?>">
|
22 |
+
</a>
|
23 |
+
</div>
|
24 |
+
<?php
|
25 |
+
$plugin_title = ob_get_clean();
|
26 |
+
|
27 |
+
// Display the plugin title (can be replaced with custom title text through the filter below).
|
28 |
+
return Helpers::apply_filters( 'ocdi/plugin_page_title', $plugin_title );
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* The HTML output of a small card with theme screenshot and title.
|
33 |
+
*
|
34 |
+
* @return string HTML output.
|
35 |
+
*/
|
36 |
+
public static function small_theme_card( $selected = null ) {
|
37 |
+
$theme = wp_get_theme();
|
38 |
+
$screenshot = $theme->get_screenshot();
|
39 |
+
$name = $theme->name;
|
40 |
+
|
41 |
+
if ( isset( $selected ) ) {
|
42 |
+
$ocdi = OneClickDemoImport::get_instance();
|
43 |
+
$selected_data = $ocdi->import_files[ $selected ];
|
44 |
+
$name = ! empty( $selected_data['import_file_name'] ) ? $selected_data['import_file_name'] : $name;
|
45 |
+
$screenshot = ! empty( $selected_data['import_preview_image_url'] ) ? $selected_data['import_preview_image_url'] : $screenshot;
|
46 |
+
}
|
47 |
+
|
48 |
+
ob_start(); ?>
|
49 |
+
<div class="ocdi__card ocdi__card--theme">
|
50 |
+
<div class="ocdi__card-content">
|
51 |
+
<?php if ( $screenshot ) : ?>
|
52 |
+
<div class="screenshot"><img src="<?php echo esc_url( $screenshot ); ?>" alt="<?php esc_attr_e( 'Theme screenshot', 'one-click-demo-import' ); ?>" /></div>
|
53 |
+
<?php else : ?>
|
54 |
+
<div class="screenshot blank"></div>
|
55 |
+
<?php endif; ?>
|
56 |
+
</div>
|
57 |
+
<div class="ocdi__card-footer">
|
58 |
+
<h3><?php echo esc_html( $name ); ?></h3>
|
59 |
+
</div>
|
60 |
+
</div>
|
61 |
+
<?php
|
62 |
+
return ob_get_clean();
|
63 |
+
}
|
64 |
+
}
|
inc/WPCLICommands.php
CHANGED
@@ -31,10 +31,10 @@ class WPCLICommands extends \WP_CLI_Command {
|
|
31 |
*/
|
32 |
public function list_predefined() {
|
33 |
if ( empty( $this->ocdi->import_files ) ) {
|
34 |
-
WP_CLI::error( esc_html__( 'There are no predefined demo imports for currently active theme!', '
|
35 |
}
|
36 |
|
37 |
-
WP_CLI::success( esc_html__( 'Here are the predefined demo imports:', '
|
38 |
|
39 |
foreach ( $this->ocdi->import_files as $index => $import_file ) {
|
40 |
WP_CLI::log( sprintf(
|
@@ -68,7 +68,7 @@ class WPCLICommands extends \WP_CLI_Command {
|
|
68 |
*/
|
69 |
public function import( $args, $assoc_args ) {
|
70 |
if ( ! $this->any_import_options_set( $assoc_args ) ) {
|
71 |
-
WP_CLI::error( esc_html__( 'At least one of the possible options should be set! Check them with --help', '
|
72 |
}
|
73 |
|
74 |
if ( isset( $assoc_args['predefined'] ) ) {
|
@@ -119,47 +119,47 @@ class WPCLICommands extends \WP_CLI_Command {
|
|
119 |
*/
|
120 |
private function import_predefined( $predefined_index ) {
|
121 |
if ( ! is_numeric( $predefined_index ) ) {
|
122 |
-
WP_CLI::error( esc_html__( 'The "predefined" parameter should be a number (an index of the OCDI predefined demo import)!', '
|
123 |
}
|
124 |
|
125 |
$predefined_index = absint( $predefined_index );
|
126 |
|
127 |
if ( ! array_key_exists( $predefined_index, $this->ocdi->import_files ) ) {
|
128 |
-
WP_CLI::warning( esc_html__( 'The supplied predefined index does not exist! Please take a look at the available predefined demo imports:', '
|
129 |
|
130 |
$this->list_predefined();
|
131 |
|
132 |
return false;
|
133 |
}
|
134 |
|
135 |
-
WP_CLI::log( esc_html__( 'Predefined demo import started! All other parameters will be ignored!', '
|
136 |
|
137 |
$selected_files = $this->ocdi->import_files[ $predefined_index ];
|
138 |
|
139 |
-
if ( ! empty( $selected_files['import_file_name'] ) ) {
|
140 |
-
WP_CLI::log( sprintf( esc_html__( 'Selected predefined demo import: %s', '
|
141 |
}
|
142 |
|
143 |
-
WP_CLI::log( esc_html__( 'Preparing the demo import files...', '
|
144 |
|
145 |
$import_files = Helpers::download_import_files( $selected_files );
|
146 |
|
147 |
if ( empty( $import_files ) ) {
|
148 |
-
WP_CLI::error( esc_html__( 'Demo import files could not be retrieved!', '
|
149 |
}
|
150 |
|
151 |
-
WP_CLI::log( esc_html__( 'Demo import files retrieved successfully!', '
|
152 |
|
153 |
-
WP_CLI::log( esc_html__( 'Importing...', '
|
154 |
|
155 |
if ( ! empty( $import_files['content'] ) ) {
|
156 |
-
$this->do_action( '
|
157 |
|
158 |
$this->import_content( $import_files['content'] );
|
159 |
}
|
160 |
|
161 |
if ( ! empty( $import_files['widgets'] ) ) {
|
162 |
-
$this->do_action( '
|
163 |
|
164 |
$this->import_widgets( $import_files['widgets'] );
|
165 |
}
|
@@ -168,9 +168,9 @@ class WPCLICommands extends \WP_CLI_Command {
|
|
168 |
$this->import_customizer( $import_files['customizer'] );
|
169 |
}
|
170 |
|
171 |
-
$this->do_action( '
|
172 |
|
173 |
-
WP_CLI::log( esc_html__( 'Predefined import finished!', '
|
174 |
}
|
175 |
|
176 |
/**
|
@@ -182,26 +182,26 @@ class WPCLICommands extends \WP_CLI_Command {
|
|
182 |
$content_import_file_path = realpath( $relative_file_path );
|
183 |
|
184 |
if ( ! file_exists( $content_import_file_path ) ) {
|
185 |
-
WP_CLI::warning( esc_html__( 'Content import file provided does not exist! Skipping this import!', '
|
186 |
return false;
|
187 |
}
|
188 |
|
189 |
// Change the single AJAX call duration so the whole content import will be done in one go.
|
190 |
-
add_filter( '
|
191 |
return 3600;
|
192 |
} );
|
193 |
|
194 |
-
WP_CLI::log( esc_html__( 'Importing content (this might take a while)...', '
|
195 |
|
196 |
-
Helpers::append_to_file( '', $this->ocdi->log_file_path, esc_html__( 'Importing content' , '
|
197 |
|
198 |
$this->ocdi->append_to_frontend_error_messages( $this->ocdi->importer->import_content( $content_import_file_path ) );
|
199 |
|
200 |
if( empty( $this->ocdi->frontend_error_messages ) ) {
|
201 |
-
WP_CLI::success( esc_html__( 'Content import finished!', '
|
202 |
}
|
203 |
else {
|
204 |
-
WP_CLI::warning( esc_html__( 'There were some issues while importing the content!', '
|
205 |
|
206 |
foreach ( $this->ocdi->frontend_error_messages as $line ) {
|
207 |
WP_CLI::log( $line );
|
@@ -220,19 +220,19 @@ class WPCLICommands extends \WP_CLI_Command {
|
|
220 |
$widgets_import_file_path = realpath( $relative_file_path );
|
221 |
|
222 |
if ( ! file_exists( $widgets_import_file_path ) ) {
|
223 |
-
WP_CLI::warning( esc_html__( 'Widgets import file provided does not exist! Skipping this import!', '
|
224 |
return false;
|
225 |
}
|
226 |
|
227 |
-
WP_CLI::log( esc_html__( 'Importing widgets...', '
|
228 |
|
229 |
WidgetImporter::import( $widgets_import_file_path );
|
230 |
|
231 |
if( empty( $this->ocdi->frontend_error_messages ) ) {
|
232 |
-
WP_CLI::success( esc_html__( 'Widgets imported successfully!', '
|
233 |
}
|
234 |
else {
|
235 |
-
WP_CLI::warning( esc_html__( 'There were some issues while importing widgets!', '
|
236 |
|
237 |
foreach ( $this->ocdi->frontend_error_messages as $line ) {
|
238 |
WP_CLI::log( $line );
|
@@ -251,19 +251,19 @@ class WPCLICommands extends \WP_CLI_Command {
|
|
251 |
$customizer_import_file_path = realpath( $relative_file_path );
|
252 |
|
253 |
if ( ! file_exists( $customizer_import_file_path ) ) {
|
254 |
-
WP_CLI::warning( esc_html__( 'Customizer import file provided does not exist! Skipping this import!', '
|
255 |
return false;
|
256 |
}
|
257 |
|
258 |
-
WP_CLI::log( esc_html__( 'Importing customizer settings...', '
|
259 |
|
260 |
CustomizerImporter::import( $customizer_import_file_path );
|
261 |
|
262 |
if( empty( $this->ocdi->frontend_error_messages ) ) {
|
263 |
-
WP_CLI::success( esc_html__( 'Customizer settings imported successfully!', '
|
264 |
}
|
265 |
else {
|
266 |
-
WP_CLI::warning( esc_html__( 'There were some issues while importing customizer settings!', '
|
267 |
|
268 |
foreach ( $this->ocdi->frontend_error_messages as $line ) {
|
269 |
WP_CLI::log( $line );
|
@@ -282,11 +282,11 @@ class WPCLICommands extends \WP_CLI_Command {
|
|
282 |
* @param null $selected_index Selected predefined index.
|
283 |
*/
|
284 |
private function do_action( $action, $import_files = array(), $all_import_files = array(), $selected_index = null ) {
|
285 |
-
if ( false !== has_action( $action ) ) {
|
286 |
-
WP_CLI::log( sprintf( esc_html__( 'Executing action: %s ...', '
|
287 |
|
288 |
ob_start();
|
289 |
-
do_action( $action, $import_files, $all_import_files, $selected_index );
|
290 |
$message = ob_get_clean();
|
291 |
|
292 |
Helpers::append_to_file( $message, $this->ocdi->log_file_path, $action );
|
31 |
*/
|
32 |
public function list_predefined() {
|
33 |
if ( empty( $this->ocdi->import_files ) ) {
|
34 |
+
WP_CLI::error( esc_html__( 'There are no predefined demo imports for currently active theme!', 'one-click-demo-import' ) );
|
35 |
}
|
36 |
|
37 |
+
WP_CLI::success( esc_html__( 'Here are the predefined demo imports:', 'one-click-demo-import' ) );
|
38 |
|
39 |
foreach ( $this->ocdi->import_files as $index => $import_file ) {
|
40 |
WP_CLI::log( sprintf(
|
68 |
*/
|
69 |
public function import( $args, $assoc_args ) {
|
70 |
if ( ! $this->any_import_options_set( $assoc_args ) ) {
|
71 |
+
WP_CLI::error( esc_html__( 'At least one of the possible options should be set! Check them with --help', 'one-click-demo-import' ) );
|
72 |
}
|
73 |
|
74 |
if ( isset( $assoc_args['predefined'] ) ) {
|
119 |
*/
|
120 |
private function import_predefined( $predefined_index ) {
|
121 |
if ( ! is_numeric( $predefined_index ) ) {
|
122 |
+
WP_CLI::error( esc_html__( 'The "predefined" parameter should be a number (an index of the OCDI predefined demo import)!', 'one-click-demo-import' ) );
|
123 |
}
|
124 |
|
125 |
$predefined_index = absint( $predefined_index );
|
126 |
|
127 |
if ( ! array_key_exists( $predefined_index, $this->ocdi->import_files ) ) {
|
128 |
+
WP_CLI::warning( esc_html__( 'The supplied predefined index does not exist! Please take a look at the available predefined demo imports:', 'one-click-demo-import' ) );
|
129 |
|
130 |
$this->list_predefined();
|
131 |
|
132 |
return false;
|
133 |
}
|
134 |
|
135 |
+
WP_CLI::log( esc_html__( 'Predefined demo import started! All other parameters will be ignored!', 'one-click-demo-import' ) );
|
136 |
|
137 |
$selected_files = $this->ocdi->import_files[ $predefined_index ];
|
138 |
|
139 |
+
if ( ! empty( $selected_files['import_file_name'] ) ) { /* translators: %s - the name of the selected demo import. */
|
140 |
+
WP_CLI::log( sprintf( esc_html__( 'Selected predefined demo import: %s', 'one-click-demo-import' ), $selected_files['import_file_name'] ) );
|
141 |
}
|
142 |
|
143 |
+
WP_CLI::log( esc_html__( 'Preparing the demo import files...', 'one-click-demo-import' ) );
|
144 |
|
145 |
$import_files = Helpers::download_import_files( $selected_files );
|
146 |
|
147 |
if ( empty( $import_files ) ) {
|
148 |
+
WP_CLI::error( esc_html__( 'Demo import files could not be retrieved!', 'one-click-demo-import' ) );
|
149 |
}
|
150 |
|
151 |
+
WP_CLI::log( esc_html__( 'Demo import files retrieved successfully!', 'one-click-demo-import' ) );
|
152 |
|
153 |
+
WP_CLI::log( esc_html__( 'Importing...', 'one-click-demo-import' ) );
|
154 |
|
155 |
if ( ! empty( $import_files['content'] ) ) {
|
156 |
+
$this->do_action( 'ocdi/before_content_import_execution', $import_files, $this->ocdi->import_files, $predefined_index );
|
157 |
|
158 |
$this->import_content( $import_files['content'] );
|
159 |
}
|
160 |
|
161 |
if ( ! empty( $import_files['widgets'] ) ) {
|
162 |
+
$this->do_action( 'ocdi/before_widgets_import', $import_files );
|
163 |
|
164 |
$this->import_widgets( $import_files['widgets'] );
|
165 |
}
|
168 |
$this->import_customizer( $import_files['customizer'] );
|
169 |
}
|
170 |
|
171 |
+
$this->do_action( 'ocdi/after_all_import_execution', $import_files, $this->ocdi->import_files, $predefined_index );
|
172 |
|
173 |
+
WP_CLI::log( esc_html__( 'Predefined import finished!', 'one-click-demo-import' ) );
|
174 |
}
|
175 |
|
176 |
/**
|
182 |
$content_import_file_path = realpath( $relative_file_path );
|
183 |
|
184 |
if ( ! file_exists( $content_import_file_path ) ) {
|
185 |
+
WP_CLI::warning( esc_html__( 'Content import file provided does not exist! Skipping this import!', 'one-click-demo-import' ) );
|
186 |
return false;
|
187 |
}
|
188 |
|
189 |
// Change the single AJAX call duration so the whole content import will be done in one go.
|
190 |
+
add_filter( 'ocdi/time_for_one_ajax_call', function() {
|
191 |
return 3600;
|
192 |
} );
|
193 |
|
194 |
+
WP_CLI::log( esc_html__( 'Importing content (this might take a while)...', 'one-click-demo-import' ) );
|
195 |
|
196 |
+
Helpers::append_to_file( '', $this->ocdi->log_file_path, esc_html__( 'Importing content' , 'one-click-demo-import' ) );
|
197 |
|
198 |
$this->ocdi->append_to_frontend_error_messages( $this->ocdi->importer->import_content( $content_import_file_path ) );
|
199 |
|
200 |
if( empty( $this->ocdi->frontend_error_messages ) ) {
|
201 |
+
WP_CLI::success( esc_html__( 'Content import finished!', 'one-click-demo-import' ) );
|
202 |
}
|
203 |
else {
|
204 |
+
WP_CLI::warning( esc_html__( 'There were some issues while importing the content!', 'one-click-demo-import' ) );
|
205 |
|
206 |
foreach ( $this->ocdi->frontend_error_messages as $line ) {
|
207 |
WP_CLI::log( $line );
|
220 |
$widgets_import_file_path = realpath( $relative_file_path );
|
221 |
|
222 |
if ( ! file_exists( $widgets_import_file_path ) ) {
|
223 |
+
WP_CLI::warning( esc_html__( 'Widgets import file provided does not exist! Skipping this import!', 'one-click-demo-import' ) );
|
224 |
return false;
|
225 |
}
|
226 |
|
227 |
+
WP_CLI::log( esc_html__( 'Importing widgets...', 'one-click-demo-import' ) );
|
228 |
|
229 |
WidgetImporter::import( $widgets_import_file_path );
|
230 |
|
231 |
if( empty( $this->ocdi->frontend_error_messages ) ) {
|
232 |
+
WP_CLI::success( esc_html__( 'Widgets imported successfully!', 'one-click-demo-import' ) );
|
233 |
}
|
234 |
else {
|
235 |
+
WP_CLI::warning( esc_html__( 'There were some issues while importing widgets!', 'one-click-demo-import' ) );
|
236 |
|
237 |
foreach ( $this->ocdi->frontend_error_messages as $line ) {
|
238 |
WP_CLI::log( $line );
|
251 |
$customizer_import_file_path = realpath( $relative_file_path );
|
252 |
|
253 |
if ( ! file_exists( $customizer_import_file_path ) ) {
|
254 |
+
WP_CLI::warning( esc_html__( 'Customizer import file provided does not exist! Skipping this import!', 'one-click-demo-import' ) );
|
255 |
return false;
|
256 |
}
|
257 |
|
258 |
+
WP_CLI::log( esc_html__( 'Importing customizer settings...', 'one-click-demo-import' ) );
|
259 |
|
260 |
CustomizerImporter::import( $customizer_import_file_path );
|
261 |
|
262 |
if( empty( $this->ocdi->frontend_error_messages ) ) {
|
263 |
+
WP_CLI::success( esc_html__( 'Customizer settings imported successfully!', 'one-click-demo-import' ) );
|
264 |
}
|
265 |
else {
|
266 |
+
WP_CLI::warning( esc_html__( 'There were some issues while importing customizer settings!', 'one-click-demo-import' ) );
|
267 |
|
268 |
foreach ( $this->ocdi->frontend_error_messages as $line ) {
|
269 |
WP_CLI::log( $line );
|
282 |
* @param null $selected_index Selected predefined index.
|
283 |
*/
|
284 |
private function do_action( $action, $import_files = array(), $all_import_files = array(), $selected_index = null ) {
|
285 |
+
if ( false !== Helpers::has_action( $action ) ) { /* translators: %s - the name of the executing action. */
|
286 |
+
WP_CLI::log( sprintf( esc_html__( 'Executing action: %s ...', 'one-click-demo-import' ), $action ) );
|
287 |
|
288 |
ob_start();
|
289 |
+
Helpers::do_action( $action, $import_files, $all_import_files, $selected_index );
|
290 |
$message = ob_get_clean();
|
291 |
|
292 |
Helpers::append_to_file( $message, $this->ocdi->log_file_path, $action );
|
inc/WXRImporter.php
CHANGED
@@ -66,7 +66,7 @@ class WXRImporter extends \AwesomeMotive\WPContentImporter2\WXRImporter {
|
|
66 |
* Fixes: [WARNING] Failed to import pa_size L warnings in content import.
|
67 |
* Code from: woocommerce/includes/admin/class-wc-admin-importers.php (ver 2.6.9).
|
68 |
*
|
69 |
-
* Github issue: https://github.com/
|
70 |
*
|
71 |
* @param array $date The term data to import.
|
72 |
* @return array The unchanged term data.
|
66 |
* Fixes: [WARNING] Failed to import pa_size L warnings in content import.
|
67 |
* Code from: woocommerce/includes/admin/class-wc-admin-importers.php (ver 2.6.9).
|
68 |
*
|
69 |
+
* Github issue: https://github.com/awesomemotive/one-click-demo-import/issues/71
|
70 |
*
|
71 |
* @param array $date The term data to import.
|
72 |
* @return array The unchanged term data.
|
inc/WidgetImporter.php
CHANGED
@@ -37,7 +37,7 @@ class WidgetImporter {
|
|
37 |
Helpers::append_to_file(
|
38 |
$error_message,
|
39 |
$log_file_path,
|
40 |
-
esc_html__( 'Importing widgets', '
|
41 |
);
|
42 |
}
|
43 |
else {
|
@@ -49,7 +49,7 @@ class WidgetImporter {
|
|
49 |
$log_added = Helpers::append_to_file(
|
50 |
$message,
|
51 |
$log_file_path,
|
52 |
-
esc_html__( 'Importing widgets' , '
|
53 |
);
|
54 |
}
|
55 |
|
@@ -85,7 +85,7 @@ class WidgetImporter {
|
|
85 |
if ( ! file_exists( $file ) ) {
|
86 |
return new \WP_Error(
|
87 |
'widget_import_file_not_found',
|
88 |
-
__( 'Error: Widget import file could not be found.', '
|
89 |
);
|
90 |
}
|
91 |
|
@@ -115,13 +115,13 @@ class WidgetImporter {
|
|
115 |
if ( empty( $data ) || ! is_object( $data ) ) {
|
116 |
return new \WP_Error(
|
117 |
'corrupted_widget_import_data',
|
118 |
-
__( 'Error: Widget import data could not be read. Please try a different file.', '
|
119 |
);
|
120 |
}
|
121 |
|
122 |
// Hook before import.
|
123 |
-
do_action( '
|
124 |
-
$data = apply_filters( '
|
125 |
|
126 |
// Get all available widgets site supports.
|
127 |
$available_widgets = self::available_widgets();
|
@@ -154,7 +154,7 @@ class WidgetImporter {
|
|
154 |
$sidebar_available = false;
|
155 |
$use_sidebar_id = 'wp_inactive_widgets'; // Add to inactive if sidebar does not exist in theme.
|
156 |
$sidebar_message_type = 'error';
|
157 |
-
$sidebar_message = __( 'Sidebar does not exist in theme (moving widget to Inactive)', '
|
158 |
}
|
159 |
|
160 |
// Result for sidebar.
|
@@ -175,13 +175,13 @@ class WidgetImporter {
|
|
175 |
if ( ! $fail && ! isset( $available_widgets[ $id_base ] ) ) {
|
176 |
$fail = true;
|
177 |
$widget_message_type = 'error';
|
178 |
-
$widget_message = __( 'Site does not support widget', '
|
179 |
}
|
180 |
|
181 |
// Filter to modify settings object before conversion to array and import.
|
182 |
// Leave this filter here for backwards compatibility with manipulating objects (before conversion to array below).
|
183 |
// Ideally the newer wie_widget_settings_array below will be used instead of this.
|
184 |
-
$widget = apply_filters( '
|
185 |
|
186 |
// Convert multidimensional objects to multidimensional arrays.
|
187 |
// Some plugins like Jetpack Widget Visibility store settings as multidimensional arrays.
|
@@ -193,7 +193,7 @@ class WidgetImporter {
|
|
193 |
// Filter to modify settings array.
|
194 |
// This is preferred over the older wie_widget_settings filter above.
|
195 |
// Do before identical check because changes may make it identical to end result (such as URL replacements).
|
196 |
-
$widget = apply_filters( '
|
197 |
|
198 |
// Does widget with identical settings already exist in same sidebar?
|
199 |
if ( ! $fail && isset( $widget_instances[ $id_base ] ) ) {
|
@@ -208,7 +208,7 @@ class WidgetImporter {
|
|
208 |
if ( in_array( "$id_base-$check_id", $sidebar_widgets ) && (array) $widget == $check_widget ) {
|
209 |
$fail = true;
|
210 |
$widget_message_type = 'warning';
|
211 |
-
$widget_message = __( 'Widget already exists', '
|
212 |
|
213 |
break;
|
214 |
}
|
@@ -268,22 +268,22 @@ class WidgetImporter {
|
|
268 |
'widget_id_num' => $new_instance_id_number,
|
269 |
'widget_id_num_old' => $instance_id_number,
|
270 |
);
|
271 |
-
do_action( '
|
272 |
|
273 |
// Success message.
|
274 |
if ( $sidebar_available ) {
|
275 |
$widget_message_type = 'success';
|
276 |
-
$widget_message = __( 'Imported', '
|
277 |
}
|
278 |
else {
|
279 |
$widget_message_type = 'warning';
|
280 |
-
$widget_message = __( 'Imported to Inactive', '
|
281 |
}
|
282 |
}
|
283 |
|
284 |
// Result for widget instance.
|
285 |
$results[ $sidebar_id ]['widgets'][ $widget_instance_id ]['name'] = isset( $available_widgets[ $id_base ]['name'] ) ? $available_widgets[ $id_base ]['name'] : $id_base; // Widget name or ID if name not available (not supported by site).
|
286 |
-
$results[ $sidebar_id ]['widgets'][ $widget_instance_id ]['title'] = ! empty( $widget['title'] ) ? $widget['title'] : __( 'No Title', '
|
287 |
$results[ $sidebar_id ]['widgets'][ $widget_instance_id ]['message_type'] = $widget_message_type;
|
288 |
$results[ $sidebar_id ]['widgets'][ $widget_instance_id ]['message'] = $widget_message;
|
289 |
|
@@ -291,10 +291,10 @@ class WidgetImporter {
|
|
291 |
}
|
292 |
|
293 |
// Hook after import.
|
294 |
-
do_action( '
|
295 |
|
296 |
// Return results.
|
297 |
-
return apply_filters( '
|
298 |
}
|
299 |
|
300 |
|
@@ -319,7 +319,7 @@ class WidgetImporter {
|
|
319 |
}
|
320 |
}
|
321 |
|
322 |
-
return apply_filters( '
|
323 |
}
|
324 |
|
325 |
|
@@ -330,7 +330,7 @@ class WidgetImporter {
|
|
330 |
*/
|
331 |
private static function format_results_for_log( $results ) {
|
332 |
if ( empty( $results ) ) {
|
333 |
-
esc_html_e( 'No results for widget import!', '
|
334 |
}
|
335 |
|
336 |
// Loop sidebars.
|
37 |
Helpers::append_to_file(
|
38 |
$error_message,
|
39 |
$log_file_path,
|
40 |
+
esc_html__( 'Importing widgets', 'one-click-demo-import' )
|
41 |
);
|
42 |
}
|
43 |
else {
|
49 |
$log_added = Helpers::append_to_file(
|
50 |
$message,
|
51 |
$log_file_path,
|
52 |
+
esc_html__( 'Importing widgets' , 'one-click-demo-import' )
|
53 |
);
|
54 |
}
|
55 |
|
85 |
if ( ! file_exists( $file ) ) {
|
86 |
return new \WP_Error(
|
87 |
'widget_import_file_not_found',
|
88 |
+
__( 'Error: Widget import file could not be found.', 'one-click-demo-import' )
|
89 |
);
|
90 |
}
|
91 |
|
115 |
if ( empty( $data ) || ! is_object( $data ) ) {
|
116 |
return new \WP_Error(
|
117 |
'corrupted_widget_import_data',
|
118 |
+
__( 'Error: Widget import data could not be read. Please try a different file.', 'one-click-demo-import' )
|
119 |
);
|
120 |
}
|
121 |
|
122 |
// Hook before import.
|
123 |
+
Helpers::do_action( 'ocdi/widget_importer_before_widgets_import' );
|
124 |
+
$data = Helpers::apply_filters( 'ocdi/before_widgets_import_data', $data );
|
125 |
|
126 |
// Get all available widgets site supports.
|
127 |
$available_widgets = self::available_widgets();
|
154 |
$sidebar_available = false;
|
155 |
$use_sidebar_id = 'wp_inactive_widgets'; // Add to inactive if sidebar does not exist in theme.
|
156 |
$sidebar_message_type = 'error';
|
157 |
+
$sidebar_message = __( 'Sidebar does not exist in theme (moving widget to Inactive)', 'one-click-demo-import' );
|
158 |
}
|
159 |
|
160 |
// Result for sidebar.
|
175 |
if ( ! $fail && ! isset( $available_widgets[ $id_base ] ) ) {
|
176 |
$fail = true;
|
177 |
$widget_message_type = 'error';
|
178 |
+
$widget_message = __( 'Site does not support widget', 'one-click-demo-import' ); // Explain why widget not imported.
|
179 |
}
|
180 |
|
181 |
// Filter to modify settings object before conversion to array and import.
|
182 |
// Leave this filter here for backwards compatibility with manipulating objects (before conversion to array below).
|
183 |
// Ideally the newer wie_widget_settings_array below will be used instead of this.
|
184 |
+
$widget = Helpers::apply_filters( 'ocdi/widget_settings', $widget ); // Object.
|
185 |
|
186 |
// Convert multidimensional objects to multidimensional arrays.
|
187 |
// Some plugins like Jetpack Widget Visibility store settings as multidimensional arrays.
|
193 |
// Filter to modify settings array.
|
194 |
// This is preferred over the older wie_widget_settings filter above.
|
195 |
// Do before identical check because changes may make it identical to end result (such as URL replacements).
|
196 |
+
$widget = Helpers::apply_filters( 'ocdi/widget_settings_array', $widget );
|
197 |
|
198 |
// Does widget with identical settings already exist in same sidebar?
|
199 |
if ( ! $fail && isset( $widget_instances[ $id_base ] ) ) {
|
208 |
if ( in_array( "$id_base-$check_id", $sidebar_widgets ) && (array) $widget == $check_widget ) {
|
209 |
$fail = true;
|
210 |
$widget_message_type = 'warning';
|
211 |
+
$widget_message = __( 'Widget already exists', 'one-click-demo-import' ); // Explain why widget not imported.
|
212 |
|
213 |
break;
|
214 |
}
|
268 |
'widget_id_num' => $new_instance_id_number,
|
269 |
'widget_id_num_old' => $instance_id_number,
|
270 |
);
|
271 |
+
Helpers::do_action( 'ocdi/widget_importer_after_single_widget_import', $after_widget_import );
|
272 |
|
273 |
// Success message.
|
274 |
if ( $sidebar_available ) {
|
275 |
$widget_message_type = 'success';
|
276 |
+
$widget_message = __( 'Imported', 'one-click-demo-import' );
|
277 |
}
|
278 |
else {
|
279 |
$widget_message_type = 'warning';
|
280 |
+
$widget_message = __( 'Imported to Inactive', 'one-click-demo-import' );
|
281 |
}
|
282 |
}
|
283 |
|
284 |
// Result for widget instance.
|
285 |
$results[ $sidebar_id ]['widgets'][ $widget_instance_id ]['name'] = isset( $available_widgets[ $id_base ]['name'] ) ? $available_widgets[ $id_base ]['name'] : $id_base; // Widget name or ID if name not available (not supported by site).
|
286 |
+
$results[ $sidebar_id ]['widgets'][ $widget_instance_id ]['title'] = ! empty( $widget['title'] ) ? $widget['title'] : __( 'No Title', 'one-click-demo-import' ); // Show "No Title" if widget instance is untitled.
|
287 |
$results[ $sidebar_id ]['widgets'][ $widget_instance_id ]['message_type'] = $widget_message_type;
|
288 |
$results[ $sidebar_id ]['widgets'][ $widget_instance_id ]['message'] = $widget_message;
|
289 |
|
291 |
}
|
292 |
|
293 |
// Hook after import.
|
294 |
+
Helpers::do_action( 'ocdi/widget_importer_after_widgets_import' );
|
295 |
|
296 |
// Return results.
|
297 |
+
return Helpers::apply_filters( 'ocdi/widget_import_results', $results );
|
298 |
}
|
299 |
|
300 |
|
319 |
}
|
320 |
}
|
321 |
|
322 |
+
return Helpers::apply_filters( 'ocdi/available_widgets', $available_widgets );
|
323 |
}
|
324 |
|
325 |
|
330 |
*/
|
331 |
private static function format_results_for_log( $results ) {
|
332 |
if ( empty( $results ) ) {
|
333 |
+
esc_html_e( 'No results for widget import!', 'one-click-demo-import' );
|
334 |
}
|
335 |
|
336 |
// Loop sidebars.
|
languages/one-click-demo-import.pot
ADDED
@@ -0,0 +1,939 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: One Click Demo Import 3.0.0\n"
|
4 |
+
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/one-click-demo-import\n"
|
5 |
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
6 |
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
7 |
+
"MIME-Version: 1.0\n"
|
8 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
9 |
+
"Content-Transfer-Encoding: 8bit\n"
|
10 |
+
"POT-Creation-Date: 2021-03-31T10:43:06+00:00\n"
|
11 |
+
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
12 |
+
"X-Generator: WP-CLI 2.4.0\n"
|
13 |
+
"X-Domain: one-click-demo-import\n"
|
14 |
+
|
15 |
+
#. Plugin Name of the plugin
|
16 |
+
#. Author of the plugin
|
17 |
+
#: inc/Helpers.php:742
|
18 |
+
#: inc/ViewHelpers.php:19
|
19 |
+
msgid "One Click Demo Import"
|
20 |
+
msgstr ""
|
21 |
+
|
22 |
+
#. Plugin URI of the plugin
|
23 |
+
msgid "https://wordpress.org/plugins/one-click-demo-import/"
|
24 |
+
msgstr ""
|
25 |
+
|
26 |
+
#. Description of the plugin
|
27 |
+
msgid "Import your content, widgets and theme settings with one click. Theme authors! Enable simple demo import for your theme demo data."
|
28 |
+
msgstr ""
|
29 |
+
|
30 |
+
#. Author URI of the plugin
|
31 |
+
msgid "https://profiles.wordpress.org/ocdi/"
|
32 |
+
msgstr ""
|
33 |
+
|
34 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:46
|
35 |
+
msgid "About Us"
|
36 |
+
msgstr ""
|
37 |
+
|
38 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:47
|
39 |
+
msgid "Introduce yourself and your business with a clean layout to reassure your leads and customers."
|
40 |
+
msgstr ""
|
41 |
+
|
42 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:53
|
43 |
+
msgid "Book Now"
|
44 |
+
msgstr ""
|
45 |
+
|
46 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:54
|
47 |
+
msgid "Expand your reach by accepting appointments online plus detailing your services and staff."
|
48 |
+
msgstr ""
|
49 |
+
|
50 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:60
|
51 |
+
msgid "Contact Us"
|
52 |
+
msgstr ""
|
53 |
+
|
54 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:61
|
55 |
+
msgid "Make it easy to get in touch with you through a completely customizable built-in contact form."
|
56 |
+
msgstr ""
|
57 |
+
|
58 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:67
|
59 |
+
msgid "FAQ"
|
60 |
+
msgstr ""
|
61 |
+
|
62 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:68
|
63 |
+
msgid "Lighten the load on your support team or your inbox by addressing frequently asked questions."
|
64 |
+
msgstr ""
|
65 |
+
|
66 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:74
|
67 |
+
msgid "Meet the Team"
|
68 |
+
msgstr ""
|
69 |
+
|
70 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:75
|
71 |
+
msgid "Help potential clients feel more at ease by showing off your hard-working and trustworthy team."
|
72 |
+
msgstr ""
|
73 |
+
|
74 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:81
|
75 |
+
msgid "Menu"
|
76 |
+
msgstr ""
|
77 |
+
|
78 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:82
|
79 |
+
msgid "Display your delicious dishes online to entice website visitors to become restaurant customers."
|
80 |
+
msgstr ""
|
81 |
+
|
82 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:88
|
83 |
+
msgid "Portfolio"
|
84 |
+
msgstr ""
|
85 |
+
|
86 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:89
|
87 |
+
msgid "Impress leads by visually showcasing your achievements, case studies, and past work."
|
88 |
+
msgstr ""
|
89 |
+
|
90 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:95
|
91 |
+
msgid "Services"
|
92 |
+
msgstr ""
|
93 |
+
|
94 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:96
|
95 |
+
msgid "Let the world know your services or products' cost and features in an organized pricing table."
|
96 |
+
msgstr ""
|
97 |
+
|
98 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:102
|
99 |
+
msgid "Shop"
|
100 |
+
msgstr ""
|
101 |
+
|
102 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:103
|
103 |
+
msgid "Categorize and sell your products online while displaying reviews from happy customers."
|
104 |
+
msgstr ""
|
105 |
+
|
106 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:109
|
107 |
+
msgid "Testimonials"
|
108 |
+
msgstr ""
|
109 |
+
|
110 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:110
|
111 |
+
msgid "Tap into the power of social proof by displaying real-life testimonials on your website."
|
112 |
+
msgstr ""
|
113 |
+
|
114 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:151
|
115 |
+
msgid "Could not complete the import process for this page. Required WPForms plugin is not activated."
|
116 |
+
msgstr ""
|
117 |
+
|
118 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:155
|
119 |
+
msgid "Could not complete the import process for this page. Required WPForms plugin doesn't exist."
|
120 |
+
msgstr ""
|
121 |
+
|
122 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:158
|
123 |
+
msgid "Meet the Team Form"
|
124 |
+
msgstr ""
|
125 |
+
|
126 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:158
|
127 |
+
msgid "Contact Form"
|
128 |
+
msgstr ""
|
129 |
+
|
130 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:162
|
131 |
+
msgid "Could not complete the import process for this page. Something went wrong while creating a WPForms contact form."
|
132 |
+
msgstr ""
|
133 |
+
|
134 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:168
|
135 |
+
msgid "Could not complete the import process for this page. Could not update the imported page with correct WPForms form ID."
|
136 |
+
msgstr ""
|
137 |
+
|
138 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:181
|
139 |
+
msgid "Could not import this page. You don't have permission to import content."
|
140 |
+
msgstr ""
|
141 |
+
|
142 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:187
|
143 |
+
msgid "Could not import this page. Page slug is missing."
|
144 |
+
msgstr ""
|
145 |
+
|
146 |
+
#. translators: %s - The actual error message.
|
147 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:214
|
148 |
+
msgid "An error occured while importing this page: %s"
|
149 |
+
msgstr ""
|
150 |
+
|
151 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:254
|
152 |
+
msgid "The demo content import file is missing."
|
153 |
+
msgstr ""
|
154 |
+
|
155 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:336
|
156 |
+
msgid "Name"
|
157 |
+
msgstr ""
|
158 |
+
|
159 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:343
|
160 |
+
msgid "Email"
|
161 |
+
msgstr ""
|
162 |
+
|
163 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:350
|
164 |
+
msgid "Comment or Message"
|
165 |
+
msgstr ""
|
166 |
+
|
167 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:372
|
168 |
+
msgid "Thanks for contacting us! We will be in touch with you shortly."
|
169 |
+
msgstr ""
|
170 |
+
|
171 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:377
|
172 |
+
msgid "Submit"
|
173 |
+
msgstr ""
|
174 |
+
|
175 |
+
#: inc/CreateDemoContent/DemoContentCreator.php:378
|
176 |
+
msgid "Sending..."
|
177 |
+
msgstr ""
|
178 |
+
|
179 |
+
#: inc/CustomizerImporter.php:37
|
180 |
+
#: inc/CustomizerImporter.php:45
|
181 |
+
msgid "Importing customizer settings"
|
182 |
+
msgstr ""
|
183 |
+
|
184 |
+
#: inc/CustomizerImporter.php:43
|
185 |
+
msgid "Customizer settings import finished!"
|
186 |
+
msgstr ""
|
187 |
+
|
188 |
+
#. translators: %s - file path
|
189 |
+
#: inc/CustomizerImporter.php:73
|
190 |
+
msgid "Error: The customizer import file is missing! File path: %s"
|
191 |
+
msgstr ""
|
192 |
+
|
193 |
+
#: inc/CustomizerImporter.php:93
|
194 |
+
msgid "Error: The customizer import file is not in a correct format. Please make sure to use the correct customizer import file."
|
195 |
+
msgstr ""
|
196 |
+
|
197 |
+
#: inc/CustomizerImporter.php:99
|
198 |
+
msgid "Error: The customizer import file is not suitable for current theme. You can only import customizer settings for the same theme or a child theme."
|
199 |
+
msgstr ""
|
200 |
+
|
201 |
+
#: inc/Downloader.php:58
|
202 |
+
msgid "Missing URL for downloading a file!"
|
203 |
+
msgstr ""
|
204 |
+
|
205 |
+
#. translators: %1$s and %3$s - strong HTML tags, %2$s - file URL, %4$s - br HTML tag, %5$s - error code, %6$s - error message.
|
206 |
+
#: inc/Downloader.php:76
|
207 |
+
msgid "An error occurred while fetching file from: %1$s%2$s%3$s!%4$sReason: %5$s - %6$s."
|
208 |
+
msgstr ""
|
209 |
+
|
210 |
+
#. translators: %1$s - br HTML tag, %2$s - file path
|
211 |
+
#: inc/Helpers.php:199
|
212 |
+
#: inc/Helpers.php:242
|
213 |
+
msgid "An error occurred while writing file to your server! Tried to write a file to: %1$s%2$s."
|
214 |
+
msgstr ""
|
215 |
+
|
216 |
+
#. translators: %1$s - br HTML tag, %2$s - file path
|
217 |
+
#: inc/Helpers.php:276
|
218 |
+
msgid "An error occurred while reading a file from your server! Tried reading file from path: %1$s%2$s."
|
219 |
+
msgstr ""
|
220 |
+
|
221 |
+
#. translators: %1$s and %2$s - strong HTML tags, %3$s - HTML link to a doc page.
|
222 |
+
#: inc/Helpers.php:299
|
223 |
+
msgid "This WordPress page does not have %1$sdirect%2$s write file access. This plugin needs it in order to save the demo import xml file to the upload directory of your site. You can change this setting with these instructions: %3$s."
|
224 |
+
msgstr ""
|
225 |
+
|
226 |
+
#: inc/Helpers.php:316
|
227 |
+
msgid "An error occurred while retrieving reading/writing permissions to your server (could not retrieve WP filesystem credentials)!"
|
228 |
+
msgstr ""
|
229 |
+
|
230 |
+
#: inc/Helpers.php:324
|
231 |
+
msgid "Your WordPress login credentials don't allow to use WP_Filesystem!"
|
232 |
+
msgstr ""
|
233 |
+
|
234 |
+
#: inc/Helpers.php:364
|
235 |
+
msgid "One Click Demo Import - "
|
236 |
+
msgstr ""
|
237 |
+
|
238 |
+
#. translators: %1$s - opening div and paragraph HTML tags, %2$s - closing div and paragraph HTML tags.
|
239 |
+
#: inc/Helpers.php:398
|
240 |
+
msgid "%1$sYour user role isn't high enough. You don't have permission to import demo data.%2$s"
|
241 |
+
msgstr ""
|
242 |
+
|
243 |
+
#: inc/Helpers.php:431
|
244 |
+
msgid "No file provided."
|
245 |
+
msgstr ""
|
246 |
+
|
247 |
+
#. translators: %s - the error message.
|
248 |
+
#: inc/Helpers.php:460
|
249 |
+
msgid "Content file was not uploaded. Error: %s"
|
250 |
+
msgstr ""
|
251 |
+
|
252 |
+
#: inc/Helpers.php:464
|
253 |
+
#: inc/Helpers.php:481
|
254 |
+
#: inc/Helpers.php:498
|
255 |
+
#: inc/Helpers.php:509
|
256 |
+
#: inc/Helpers.php:529
|
257 |
+
#: inc/Helpers.php:537
|
258 |
+
msgid "Upload files"
|
259 |
+
msgstr ""
|
260 |
+
|
261 |
+
#. translators: %s - the error message.
|
262 |
+
#: inc/Helpers.php:477
|
263 |
+
msgid "Widget file was not uploaded. Error: %s"
|
264 |
+
msgstr ""
|
265 |
+
|
266 |
+
#. translators: %s - the error message.
|
267 |
+
#: inc/Helpers.php:494
|
268 |
+
msgid "Customizer file was not uploaded. Error: %s"
|
269 |
+
msgstr ""
|
270 |
+
|
271 |
+
#: inc/Helpers.php:507
|
272 |
+
msgid "Missing Redux option name! Please also enter the Redux option name!"
|
273 |
+
msgstr ""
|
274 |
+
|
275 |
+
#. translators: %s - the error message.
|
276 |
+
#: inc/Helpers.php:525
|
277 |
+
msgid "Redux file was not uploaded. Error: %s"
|
278 |
+
msgstr ""
|
279 |
+
|
280 |
+
#: inc/Helpers.php:535
|
281 |
+
msgid "The import files were successfully uploaded!"
|
282 |
+
msgstr ""
|
283 |
+
|
284 |
+
#. translators: %s - the max execution time.
|
285 |
+
#: inc/Helpers.php:561
|
286 |
+
msgid "Initial max execution time = %s"
|
287 |
+
msgstr ""
|
288 |
+
|
289 |
+
#. translators: %1$s - new line break, %2$s - the site URL, %3$s - the file path for content import, %4$s - the file path for widgets import, %5$s - the file path for widgets import, %6$s - the file path for redux import.
|
290 |
+
#: inc/Helpers.php:565
|
291 |
+
msgid "Files info:%1$sSite URL = %2$s%1$sData file = %3$s%1$sWidget file = %4$s%1$sCustomizer file = %5$s%1$sRedux files:%1$s%6$s"
|
292 |
+
msgstr ""
|
293 |
+
|
294 |
+
#: inc/Helpers.php:568
|
295 |
+
#: inc/Helpers.php:569
|
296 |
+
#: inc/Helpers.php:570
|
297 |
+
#: inc/Helpers.php:571
|
298 |
+
msgid "not defined!"
|
299 |
+
msgstr ""
|
300 |
+
|
301 |
+
#: inc/Helpers.php:743
|
302 |
+
#: views/plugin-page.php:290
|
303 |
+
msgid "Import Demo Data"
|
304 |
+
msgstr ""
|
305 |
+
|
306 |
+
#: inc/Importer.php:174
|
307 |
+
msgid "New AJAX call!"
|
308 |
+
msgstr ""
|
309 |
+
|
310 |
+
#: inc/OneClickDemoImport.php:212
|
311 |
+
msgid "No preview image defined for this import."
|
312 |
+
msgstr ""
|
313 |
+
|
314 |
+
#: inc/OneClickDemoImport.php:213
|
315 |
+
msgid "Are you sure?"
|
316 |
+
msgstr ""
|
317 |
+
|
318 |
+
#: inc/OneClickDemoImport.php:214
|
319 |
+
#: views/plugin-page.php:276
|
320 |
+
msgid "Cancel"
|
321 |
+
msgstr ""
|
322 |
+
|
323 |
+
#: inc/OneClickDemoImport.php:215
|
324 |
+
msgid "Yes, import!"
|
325 |
+
msgstr ""
|
326 |
+
|
327 |
+
#: inc/OneClickDemoImport.php:216
|
328 |
+
msgid "Selected demo import:"
|
329 |
+
msgstr ""
|
330 |
+
|
331 |
+
#: inc/OneClickDemoImport.php:217
|
332 |
+
msgid "Installing..."
|
333 |
+
msgstr ""
|
334 |
+
|
335 |
+
#: inc/OneClickDemoImport.php:218
|
336 |
+
#: inc/WPCLICommands.php:153
|
337 |
+
msgid "Importing..."
|
338 |
+
msgstr ""
|
339 |
+
|
340 |
+
#: inc/OneClickDemoImport.php:219
|
341 |
+
msgid "Successfully Imported!"
|
342 |
+
msgstr ""
|
343 |
+
|
344 |
+
#: inc/OneClickDemoImport.php:220
|
345 |
+
#: views/plugin-page.php:270
|
346 |
+
msgid "Install Plugin"
|
347 |
+
msgstr ""
|
348 |
+
|
349 |
+
#: inc/OneClickDemoImport.php:221
|
350 |
+
#: views/plugin-page.php:270
|
351 |
+
msgid "Installed"
|
352 |
+
msgstr ""
|
353 |
+
|
354 |
+
#: inc/OneClickDemoImport.php:222
|
355 |
+
msgid "Import Failed"
|
356 |
+
msgstr ""
|
357 |
+
|
358 |
+
#: inc/OneClickDemoImport.php:223
|
359 |
+
msgid "Whoops, there was a problem importing your content."
|
360 |
+
msgstr ""
|
361 |
+
|
362 |
+
#: inc/OneClickDemoImport.php:224
|
363 |
+
msgid "Looks like some of the plugins failed to install. Please try again. If this issue persists, please manually install the failing plugins and come back to this step to import the theme demo data."
|
364 |
+
msgstr ""
|
365 |
+
|
366 |
+
#: inc/OneClickDemoImport.php:225
|
367 |
+
msgid "Invalid file type detected! Please select an XML file for the Content Import."
|
368 |
+
msgstr ""
|
369 |
+
|
370 |
+
#: inc/OneClickDemoImport.php:226
|
371 |
+
msgid "Invalid file type detected! Please select a JSON or WIE file for the Widgets Import."
|
372 |
+
msgstr ""
|
373 |
+
|
374 |
+
#: inc/OneClickDemoImport.php:227
|
375 |
+
msgid "Invalid file type detected! Please select a DAT file for the Customizer Import."
|
376 |
+
msgstr ""
|
377 |
+
|
378 |
+
#: inc/OneClickDemoImport.php:228
|
379 |
+
msgid "Invalid file type detected! Please select a JSON file for the Redux Import."
|
380 |
+
msgstr ""
|
381 |
+
|
382 |
+
#: inc/OneClickDemoImport.php:245
|
383 |
+
msgid "Manual import files are missing! Please select the import files and try again."
|
384 |
+
msgstr ""
|
385 |
+
|
386 |
+
#: inc/OneClickDemoImport.php:260
|
387 |
+
#: inc/OneClickDemoImport.php:305
|
388 |
+
msgid "Manually uploaded files"
|
389 |
+
msgstr ""
|
390 |
+
|
391 |
+
#: inc/OneClickDemoImport.php:318
|
392 |
+
#: inc/OneClickDemoImport.php:329
|
393 |
+
msgid "Downloaded files"
|
394 |
+
msgstr ""
|
395 |
+
|
396 |
+
#. translators: %s - the name of the selected import.
|
397 |
+
#: inc/OneClickDemoImport.php:325
|
398 |
+
msgid "The import files for: %s were successfully downloaded!"
|
399 |
+
msgstr ""
|
400 |
+
|
401 |
+
#: inc/OneClickDemoImport.php:334
|
402 |
+
msgid "No import files specified!"
|
403 |
+
msgstr ""
|
404 |
+
|
405 |
+
#: inc/OneClickDemoImport.php:451
|
406 |
+
#: views/import.php:101
|
407 |
+
msgid "Import Complete!"
|
408 |
+
msgstr ""
|
409 |
+
|
410 |
+
#: inc/OneClickDemoImport.php:452
|
411 |
+
#: views/import.php:104
|
412 |
+
msgid "Congrats, your demo was imported successfully. You can now begin editing your site."
|
413 |
+
msgstr ""
|
414 |
+
|
415 |
+
#: inc/OneClickDemoImport.php:453
|
416 |
+
msgid "Successful Import"
|
417 |
+
msgstr ""
|
418 |
+
|
419 |
+
#: inc/OneClickDemoImport.php:456
|
420 |
+
msgid "Your import completed, but some things may not have imported properly."
|
421 |
+
msgstr ""
|
422 |
+
|
423 |
+
#. translators: %s - link to the log file.
|
424 |
+
#: inc/OneClickDemoImport.php:460
|
425 |
+
msgid "<p><a href=\"%s\" target=\"_blank\">View error log</a> for more information.</p>"
|
426 |
+
msgstr ""
|
427 |
+
|
428 |
+
#: inc/PluginInstaller.php:85
|
429 |
+
msgid "WPForms"
|
430 |
+
msgstr ""
|
431 |
+
|
432 |
+
#: inc/PluginInstaller.php:86
|
433 |
+
msgid "Join 4,000,000+ professionals who build smarter forms and surveys with WPForms."
|
434 |
+
msgstr ""
|
435 |
+
|
436 |
+
#: inc/PluginInstaller.php:92
|
437 |
+
msgid "All in One SEO"
|
438 |
+
msgstr ""
|
439 |
+
|
440 |
+
#: inc/PluginInstaller.php:93
|
441 |
+
msgid "Use All in One SEO Pack to optimize your WordPress site for SEO."
|
442 |
+
msgstr ""
|
443 |
+
|
444 |
+
#: inc/PluginInstaller.php:99
|
445 |
+
msgid "MonsterInsights"
|
446 |
+
msgstr ""
|
447 |
+
|
448 |
+
#: inc/PluginInstaller.php:100
|
449 |
+
msgid "The #1 Google Analytics Plugin for WordPress that’s easy and powerful."
|
450 |
+
msgstr ""
|
451 |
+
|
452 |
+
#: inc/PluginInstaller.php:106
|
453 |
+
msgid "Custom Landing Pages by SeedProd"
|
454 |
+
msgstr ""
|
455 |
+
|
456 |
+
#: inc/PluginInstaller.php:107
|
457 |
+
msgid "Work on your site in private while visitors see a \"Coming Soon\" or \"Maintenance Mode\" page."
|
458 |
+
msgstr ""
|
459 |
+
|
460 |
+
#: inc/PluginInstaller.php:112
|
461 |
+
msgid "Smash Balloon Social Photo Feed"
|
462 |
+
msgstr ""
|
463 |
+
|
464 |
+
#: inc/PluginInstaller.php:113
|
465 |
+
msgid "Display beautifully clean, customizable, and responsive Instagram feeds."
|
466 |
+
msgstr ""
|
467 |
+
|
468 |
+
#: inc/PluginInstaller.php:118
|
469 |
+
msgid "WP Mail SMTP"
|
470 |
+
msgstr ""
|
471 |
+
|
472 |
+
#: inc/PluginInstaller.php:119
|
473 |
+
msgid "Make email delivery easy for WordPress. Connect with SMTP, Gmail, Outlook, Mailgun, and more."
|
474 |
+
msgstr ""
|
475 |
+
|
476 |
+
#: inc/PluginInstaller.php:220
|
477 |
+
msgid "Could not install the plugin. You don't have permission to install plugins."
|
478 |
+
msgstr ""
|
479 |
+
|
480 |
+
#: inc/PluginInstaller.php:226
|
481 |
+
msgid "Could not install the plugin. Plugin slug is missing."
|
482 |
+
msgstr ""
|
483 |
+
|
484 |
+
#: inc/PluginInstaller.php:231
|
485 |
+
msgid "Plugin is already installed and activated!"
|
486 |
+
msgstr ""
|
487 |
+
|
488 |
+
#: inc/PluginInstaller.php:239
|
489 |
+
msgid "Plugin was already installed! We activated it for you."
|
490 |
+
msgstr ""
|
491 |
+
|
492 |
+
#: inc/PluginInstaller.php:247
|
493 |
+
msgid "Could not install the plugin. Don't have file permission."
|
494 |
+
msgstr ""
|
495 |
+
|
496 |
+
#: inc/PluginInstaller.php:287
|
497 |
+
msgid "Plugin installed and activated succesfully."
|
498 |
+
msgstr ""
|
499 |
+
|
500 |
+
#: inc/PluginInstaller.php:294
|
501 |
+
msgid "Could not install the plugin. WP Plugin installer could not retrieve plugin information."
|
502 |
+
msgstr ""
|
503 |
+
|
504 |
+
#: inc/ReduxImporter.php:23
|
505 |
+
msgid "The Redux plugin is not activated, so the Redux import was skipped!"
|
506 |
+
msgstr ""
|
507 |
+
|
508 |
+
#: inc/ReduxImporter.php:32
|
509 |
+
#: inc/ReduxImporter.php:53
|
510 |
+
#: inc/ReduxImporter.php:66
|
511 |
+
msgid "Importing Redux settings"
|
512 |
+
msgstr ""
|
513 |
+
|
514 |
+
#. translators: %s - the name of the Redux option.
|
515 |
+
#: inc/ReduxImporter.php:51
|
516 |
+
msgid "Redux settings import for: %s finished successfully!"
|
517 |
+
msgstr ""
|
518 |
+
|
519 |
+
#. translators: %s - the name of the Redux option.
|
520 |
+
#: inc/ReduxImporter.php:57
|
521 |
+
msgid "The Redux option name: %s, was not found in this WP site, so it was not imported!"
|
522 |
+
msgstr ""
|
523 |
+
|
524 |
+
#: inc/ViewHelpers.php:21
|
525 |
+
msgid "Questionmark icon"
|
526 |
+
msgstr ""
|
527 |
+
|
528 |
+
#: inc/ViewHelpers.php:52
|
529 |
+
#: views/plugin-page.php:74
|
530 |
+
msgid "Theme screenshot"
|
531 |
+
msgstr ""
|
532 |
+
|
533 |
+
#: inc/WidgetImporter.php:40
|
534 |
+
#: inc/WidgetImporter.php:52
|
535 |
+
msgid "Importing widgets"
|
536 |
+
msgstr ""
|
537 |
+
|
538 |
+
#: inc/WidgetImporter.php:88
|
539 |
+
msgid "Error: Widget import file could not be found."
|
540 |
+
msgstr ""
|
541 |
+
|
542 |
+
#: inc/WidgetImporter.php:118
|
543 |
+
msgid "Error: Widget import data could not be read. Please try a different file."
|
544 |
+
msgstr ""
|
545 |
+
|
546 |
+
#: inc/WidgetImporter.php:157
|
547 |
+
msgid "Sidebar does not exist in theme (moving widget to Inactive)"
|
548 |
+
msgstr ""
|
549 |
+
|
550 |
+
#: inc/WidgetImporter.php:178
|
551 |
+
msgid "Site does not support widget"
|
552 |
+
msgstr ""
|
553 |
+
|
554 |
+
#: inc/WidgetImporter.php:211
|
555 |
+
msgid "Widget already exists"
|
556 |
+
msgstr ""
|
557 |
+
|
558 |
+
#: inc/WidgetImporter.php:276
|
559 |
+
msgid "Imported"
|
560 |
+
msgstr ""
|
561 |
+
|
562 |
+
#: inc/WidgetImporter.php:280
|
563 |
+
msgid "Imported to Inactive"
|
564 |
+
msgstr ""
|
565 |
+
|
566 |
+
#: inc/WidgetImporter.php:286
|
567 |
+
msgid "No Title"
|
568 |
+
msgstr ""
|
569 |
+
|
570 |
+
#: inc/WidgetImporter.php:333
|
571 |
+
msgid "No results for widget import!"
|
572 |
+
msgstr ""
|
573 |
+
|
574 |
+
#: inc/WPCLICommands.php:34
|
575 |
+
msgid "There are no predefined demo imports for currently active theme!"
|
576 |
+
msgstr ""
|
577 |
+
|
578 |
+
#: inc/WPCLICommands.php:37
|
579 |
+
msgid "Here are the predefined demo imports:"
|
580 |
+
msgstr ""
|
581 |
+
|
582 |
+
#: inc/WPCLICommands.php:71
|
583 |
+
msgid "At least one of the possible options should be set! Check them with --help"
|
584 |
+
msgstr ""
|
585 |
+
|
586 |
+
#: inc/WPCLICommands.php:122
|
587 |
+
msgid "The \"predefined\" parameter should be a number (an index of the OCDI predefined demo import)!"
|
588 |
+
msgstr ""
|
589 |
+
|
590 |
+
#: inc/WPCLICommands.php:128
|
591 |
+
msgid "The supplied predefined index does not exist! Please take a look at the available predefined demo imports:"
|
592 |
+
msgstr ""
|
593 |
+
|
594 |
+
#: inc/WPCLICommands.php:135
|
595 |
+
msgid "Predefined demo import started! All other parameters will be ignored!"
|
596 |
+
msgstr ""
|
597 |
+
|
598 |
+
#. translators: %s - the name of the selected demo import.
|
599 |
+
#: inc/WPCLICommands.php:140
|
600 |
+
msgid "Selected predefined demo import: %s"
|
601 |
+
msgstr ""
|
602 |
+
|
603 |
+
#: inc/WPCLICommands.php:143
|
604 |
+
msgid "Preparing the demo import files..."
|
605 |
+
msgstr ""
|
606 |
+
|
607 |
+
#: inc/WPCLICommands.php:148
|
608 |
+
msgid "Demo import files could not be retrieved!"
|
609 |
+
msgstr ""
|
610 |
+
|
611 |
+
#: inc/WPCLICommands.php:151
|
612 |
+
msgid "Demo import files retrieved successfully!"
|
613 |
+
msgstr ""
|
614 |
+
|
615 |
+
#: inc/WPCLICommands.php:173
|
616 |
+
msgid "Predefined import finished!"
|
617 |
+
msgstr ""
|
618 |
+
|
619 |
+
#: inc/WPCLICommands.php:185
|
620 |
+
msgid "Content import file provided does not exist! Skipping this import!"
|
621 |
+
msgstr ""
|
622 |
+
|
623 |
+
#: inc/WPCLICommands.php:194
|
624 |
+
msgid "Importing content (this might take a while)..."
|
625 |
+
msgstr ""
|
626 |
+
|
627 |
+
#: inc/WPCLICommands.php:196
|
628 |
+
msgid "Importing content"
|
629 |
+
msgstr ""
|
630 |
+
|
631 |
+
#: inc/WPCLICommands.php:201
|
632 |
+
msgid "Content import finished!"
|
633 |
+
msgstr ""
|
634 |
+
|
635 |
+
#: inc/WPCLICommands.php:204
|
636 |
+
msgid "There were some issues while importing the content!"
|
637 |
+
msgstr ""
|
638 |
+
|
639 |
+
#: inc/WPCLICommands.php:223
|
640 |
+
msgid "Widgets import file provided does not exist! Skipping this import!"
|
641 |
+
msgstr ""
|
642 |
+
|
643 |
+
#: inc/WPCLICommands.php:227
|
644 |
+
msgid "Importing widgets..."
|
645 |
+
msgstr ""
|
646 |
+
|
647 |
+
#: inc/WPCLICommands.php:232
|
648 |
+
msgid "Widgets imported successfully!"
|
649 |
+
msgstr ""
|
650 |
+
|
651 |
+
#: inc/WPCLICommands.php:235
|
652 |
+
msgid "There were some issues while importing widgets!"
|
653 |
+
msgstr ""
|
654 |
+
|
655 |
+
#: inc/WPCLICommands.php:254
|
656 |
+
msgid "Customizer import file provided does not exist! Skipping this import!"
|
657 |
+
msgstr ""
|
658 |
+
|
659 |
+
#: inc/WPCLICommands.php:258
|
660 |
+
msgid "Importing customizer settings..."
|
661 |
+
msgstr ""
|
662 |
+
|
663 |
+
#: inc/WPCLICommands.php:263
|
664 |
+
msgid "Customizer settings imported successfully!"
|
665 |
+
msgstr ""
|
666 |
+
|
667 |
+
#: inc/WPCLICommands.php:266
|
668 |
+
msgid "There were some issues while importing customizer settings!"
|
669 |
+
msgstr ""
|
670 |
+
|
671 |
+
#. translators: %s - the name of the executing action.
|
672 |
+
#: inc/WPCLICommands.php:286
|
673 |
+
msgid "Executing action: %s ..."
|
674 |
+
msgstr ""
|
675 |
+
|
676 |
+
#. translators: %1$s - the PHP version, %2$s and %3$s - strong HTML tags, %4$s - br HTMl tag.
|
677 |
+
#: one-click-demo-import.php:58
|
678 |
+
msgid "The %2$sOne Click Demo Import%3$s plugin requires %2$sPHP 5.6+%3$s to run properly. Please contact your hosting company and ask them to update the PHP version of your site to at least PHP 7.4%4$s Your current version of PHP: %2$s%1$s%3$s"
|
679 |
+
msgstr ""
|
680 |
+
|
681 |
+
#: views/create-content.php:26
|
682 |
+
#: views/plugin-page.php:239
|
683 |
+
msgid "Create Demo Content"
|
684 |
+
msgstr ""
|
685 |
+
|
686 |
+
#: views/create-content.php:28
|
687 |
+
msgid "Select which pre-built pages you want to import to use on your website. After that, all you need to do is customize the content to fit your needs and your page will be good to go."
|
688 |
+
msgstr ""
|
689 |
+
|
690 |
+
#: views/create-content.php:50
|
691 |
+
#: views/import.php:69
|
692 |
+
#: views/install-plugins.php:49
|
693 |
+
msgid "Checkmark icon"
|
694 |
+
msgstr ""
|
695 |
+
|
696 |
+
#: views/create-content.php:51
|
697 |
+
#: views/import.php:73
|
698 |
+
#: views/install-plugins.php:50
|
699 |
+
msgid "Loading..."
|
700 |
+
msgstr ""
|
701 |
+
|
702 |
+
#: views/create-content.php:60
|
703 |
+
msgid "The following plugins will be installed for free: "
|
704 |
+
msgstr ""
|
705 |
+
|
706 |
+
#: views/create-content.php:66
|
707 |
+
#: views/import.php:81
|
708 |
+
#: views/install-plugins.php:57
|
709 |
+
msgid "Back icon"
|
710 |
+
msgstr ""
|
711 |
+
|
712 |
+
#: views/create-content.php:66
|
713 |
+
#: views/import.php:81
|
714 |
+
#: views/install-plugins.php:57
|
715 |
+
msgid "Go Back"
|
716 |
+
msgstr ""
|
717 |
+
|
718 |
+
#: views/create-content.php:67
|
719 |
+
msgid "Import"
|
720 |
+
msgstr ""
|
721 |
+
|
722 |
+
#: views/import.php:27
|
723 |
+
msgid "Before We Import Your Demo"
|
724 |
+
msgstr ""
|
725 |
+
|
726 |
+
#: views/import.php:29
|
727 |
+
msgid "To ensure the best experience, installing the following plugins is strongly recommended, and in some cases required."
|
728 |
+
msgstr ""
|
729 |
+
|
730 |
+
#: views/import.php:42
|
731 |
+
msgid "All required/recommended plugins are already installed. You can import your demo content."
|
732 |
+
msgstr ""
|
733 |
+
|
734 |
+
#: views/import.php:54
|
735 |
+
msgid "Star icon"
|
736 |
+
msgstr ""
|
737 |
+
|
738 |
+
#: views/import.php:71
|
739 |
+
msgid "Lock icon"
|
740 |
+
msgstr ""
|
741 |
+
|
742 |
+
#: views/import.php:82
|
743 |
+
#: views/plugin-page.php:277
|
744 |
+
msgid "Continue & Import"
|
745 |
+
msgstr ""
|
746 |
+
|
747 |
+
#: views/import.php:91
|
748 |
+
msgid "Importing Content"
|
749 |
+
msgstr ""
|
750 |
+
|
751 |
+
#: views/import.php:92
|
752 |
+
msgid "Please sit tight while we import your content. Do not refresh the page or hit the back button."
|
753 |
+
msgstr ""
|
754 |
+
|
755 |
+
#: views/import.php:95
|
756 |
+
msgid "Importing animation"
|
757 |
+
msgstr ""
|
758 |
+
|
759 |
+
#: views/import.php:112
|
760 |
+
msgid "Theme Settings"
|
761 |
+
msgstr ""
|
762 |
+
|
763 |
+
#: views/import.php:113
|
764 |
+
msgid "Visit Site"
|
765 |
+
msgstr ""
|
766 |
+
|
767 |
+
#: views/install-plugins.php:25
|
768 |
+
msgid "Install Recommended Plugins"
|
769 |
+
msgstr ""
|
770 |
+
|
771 |
+
#: views/install-plugins.php:27
|
772 |
+
msgid "Want to use the best plugins for the job? Here is the list of awesome plugins that will help you achieve your goals."
|
773 |
+
msgstr ""
|
774 |
+
|
775 |
+
#: views/install-plugins.php:58
|
776 |
+
msgid "Install & Activate"
|
777 |
+
msgstr ""
|
778 |
+
|
779 |
+
#. translators: %1$s - the opening div and paragraph HTML tags, %2$s and %3$s - strong HTML tags, %4$s - the closing div and paragraph HTML tags.
|
780 |
+
#: views/plugin-page.php:32
|
781 |
+
msgid "%1$sWarning: your server is using %2$sPHP safe mode%3$s. This means that you might experience server timeout errors.%4$s"
|
782 |
+
msgstr ""
|
783 |
+
|
784 |
+
#: views/plugin-page.php:50
|
785 |
+
msgid "Importing demo data (post, pages, images, theme settings, etc.) is the quickest and easiest way to set up your new theme."
|
786 |
+
msgstr ""
|
787 |
+
|
788 |
+
#: views/plugin-page.php:51
|
789 |
+
msgid "It allows you to simply edit everything instead of creating content and layouts from scratch."
|
790 |
+
msgstr ""
|
791 |
+
|
792 |
+
#: views/plugin-page.php:52
|
793 |
+
msgid "Learn more"
|
794 |
+
msgstr ""
|
795 |
+
|
796 |
+
#: views/plugin-page.php:65
|
797 |
+
msgid "There are no predefined import files available for this theme. Please upload the import files manually below."
|
798 |
+
msgstr ""
|
799 |
+
|
800 |
+
#: views/plugin-page.php:108
|
801 |
+
msgid "Switch to Manual Import"
|
802 |
+
msgstr ""
|
803 |
+
|
804 |
+
#: views/plugin-page.php:110
|
805 |
+
msgid "Switch back to Theme Predefined Imports"
|
806 |
+
msgstr ""
|
807 |
+
|
808 |
+
#: views/plugin-page.php:121
|
809 |
+
msgid "Manual Demo File Import"
|
810 |
+
msgstr ""
|
811 |
+
|
812 |
+
#: views/plugin-page.php:130
|
813 |
+
msgid "Content import icon"
|
814 |
+
msgstr ""
|
815 |
+
|
816 |
+
#: views/plugin-page.php:132
|
817 |
+
msgid "Import Content"
|
818 |
+
msgstr ""
|
819 |
+
|
820 |
+
#: views/plugin-page.php:133
|
821 |
+
msgid "Select an XML file to import."
|
822 |
+
msgstr ""
|
823 |
+
|
824 |
+
#: views/plugin-page.php:136
|
825 |
+
#: views/plugin-page.php:157
|
826 |
+
#: views/plugin-page.php:178
|
827 |
+
#: views/plugin-page.php:200
|
828 |
+
#: views/plugin-page.php:225
|
829 |
+
#: views/plugin-page.php:243
|
830 |
+
#: views/plugin-page.php:261
|
831 |
+
msgid "Info icon"
|
832 |
+
msgstr ""
|
833 |
+
|
834 |
+
#: views/plugin-page.php:141
|
835 |
+
#: views/plugin-page.php:162
|
836 |
+
#: views/plugin-page.php:183
|
837 |
+
#: views/plugin-page.php:205
|
838 |
+
msgid "Select a File"
|
839 |
+
msgstr ""
|
840 |
+
|
841 |
+
#: views/plugin-page.php:151
|
842 |
+
msgid "Widgets import icon"
|
843 |
+
msgstr ""
|
844 |
+
|
845 |
+
#: views/plugin-page.php:153
|
846 |
+
msgid "Import Widgets"
|
847 |
+
msgstr ""
|
848 |
+
|
849 |
+
#: views/plugin-page.php:154
|
850 |
+
msgid "Select a JSON/WIE file to import."
|
851 |
+
msgstr ""
|
852 |
+
|
853 |
+
#: views/plugin-page.php:172
|
854 |
+
msgid "Customizer import icon"
|
855 |
+
msgstr ""
|
856 |
+
|
857 |
+
#: views/plugin-page.php:174
|
858 |
+
msgid "Import Customizer"
|
859 |
+
msgstr ""
|
860 |
+
|
861 |
+
#: views/plugin-page.php:175
|
862 |
+
msgid "Select a DAT file to import."
|
863 |
+
msgstr ""
|
864 |
+
|
865 |
+
#: views/plugin-page.php:194
|
866 |
+
msgid "Redux import icon"
|
867 |
+
msgstr ""
|
868 |
+
|
869 |
+
#: views/plugin-page.php:196
|
870 |
+
msgid "Import Redux"
|
871 |
+
msgstr ""
|
872 |
+
|
873 |
+
#: views/plugin-page.php:197
|
874 |
+
msgid "Select a JSON file and enter Redux option name."
|
875 |
+
msgstr ""
|
876 |
+
|
877 |
+
#: views/plugin-page.php:208
|
878 |
+
msgid "Enter Option Name"
|
879 |
+
msgstr ""
|
880 |
+
|
881 |
+
#: views/plugin-page.php:219
|
882 |
+
msgid "Recommended plugins icon"
|
883 |
+
msgstr ""
|
884 |
+
|
885 |
+
#: views/plugin-page.php:221
|
886 |
+
msgid "Recommended Plugins"
|
887 |
+
msgstr ""
|
888 |
+
|
889 |
+
#: views/plugin-page.php:222
|
890 |
+
msgid "Install our recommended plugins."
|
891 |
+
msgstr ""
|
892 |
+
|
893 |
+
#: views/plugin-page.php:229
|
894 |
+
msgid "Install Plugins"
|
895 |
+
msgstr ""
|
896 |
+
|
897 |
+
#: views/plugin-page.php:237
|
898 |
+
msgid "Create demo content icon"
|
899 |
+
msgstr ""
|
900 |
+
|
901 |
+
#: views/plugin-page.php:240
|
902 |
+
msgid "Create useful content with a few clicks."
|
903 |
+
msgstr ""
|
904 |
+
|
905 |
+
#: views/plugin-page.php:247
|
906 |
+
msgid "Create Content"
|
907 |
+
msgstr ""
|
908 |
+
|
909 |
+
#: views/plugin-page.php:255
|
910 |
+
msgid "Create landing pages icon"
|
911 |
+
msgstr ""
|
912 |
+
|
913 |
+
#: views/plugin-page.php:257
|
914 |
+
msgid "Create Landing Pages"
|
915 |
+
msgstr ""
|
916 |
+
|
917 |
+
#: views/plugin-page.php:258
|
918 |
+
msgid "Create beautiful converting pages."
|
919 |
+
msgstr ""
|
920 |
+
|
921 |
+
#: views/plugin-page.php:305
|
922 |
+
msgid "All Demos"
|
923 |
+
msgstr ""
|
924 |
+
|
925 |
+
#: views/plugin-page.php:318
|
926 |
+
msgid "Search Demos..."
|
927 |
+
msgstr ""
|
928 |
+
|
929 |
+
#: views/plugin-page.php:341
|
930 |
+
msgid "No preview image."
|
931 |
+
msgstr ""
|
932 |
+
|
933 |
+
#: views/plugin-page.php:348
|
934 |
+
msgid "Preview Demo"
|
935 |
+
msgstr ""
|
936 |
+
|
937 |
+
#: views/plugin-page.php:350
|
938 |
+
msgid "Import Demo"
|
939 |
+
msgstr ""
|
languages/pt-ocdi.pot
DELETED
@@ -1,521 +0,0 @@
|
|
1 |
-
# Copyright (C) 2020 Awesome Motive
|
2 |
-
# This file is distributed under the GPL 2.0.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: One Click Demo Import 2.6.1\n"
|
6 |
-
"Report-Msgid-Bugs-To: "
|
7 |
-
"https://wordpress.org/support/plugin/one-click-demo-import/\n"
|
8 |
-
"POT-Creation-Date: 2016-05-14 09:53:17+00:00\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"PO-Revision-Date: 2020-MO-DA HO:MI+ZONE\n"
|
13 |
-
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
-
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
-
"X-Generator: grunt-wp-i18n 0.5.4\n"
|
16 |
-
"X-Poedit-KeywordsList: "
|
17 |
-
"__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
|
18 |
-
"attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
|
19 |
-
"Language: en\n"
|
20 |
-
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
21 |
-
"X-Poedit-Country: United States\n"
|
22 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
23 |
-
"X-Poedit-Basepath: ../\n"
|
24 |
-
"X-Poedit-SearchPath-0: .\n"
|
25 |
-
"X-Poedit-Bookmarks: \n"
|
26 |
-
"X-Textdomain-Support: yes\n"
|
27 |
-
|
28 |
-
#: inc/CustomizerImporter.php:37 inc/CustomizerImporter.php:45
|
29 |
-
msgid "Importing customizer settings"
|
30 |
-
msgstr ""
|
31 |
-
|
32 |
-
#: inc/CustomizerImporter.php:43
|
33 |
-
msgid "Customizer settings import finished!"
|
34 |
-
msgstr ""
|
35 |
-
|
36 |
-
#: inc/CustomizerImporter.php:73
|
37 |
-
msgid "Error: The customizer import file is missing! File path: %s"
|
38 |
-
msgstr ""
|
39 |
-
|
40 |
-
#: inc/CustomizerImporter.php:93
|
41 |
-
msgid ""
|
42 |
-
"Error: The customizer import file is not in a correct format. Please make "
|
43 |
-
"sure to use the correct customizer import file."
|
44 |
-
msgstr ""
|
45 |
-
|
46 |
-
#: inc/CustomizerImporter.php:99
|
47 |
-
msgid ""
|
48 |
-
"Error: The customizer import file is not suitable for current theme. You "
|
49 |
-
"can only import customizer settings for the same theme or a child theme."
|
50 |
-
msgstr ""
|
51 |
-
|
52 |
-
#: inc/Downloader.php:58
|
53 |
-
msgid "Missing URL for downloading a file!"
|
54 |
-
msgstr ""
|
55 |
-
|
56 |
-
#: inc/Downloader.php:76
|
57 |
-
msgid ""
|
58 |
-
"An error occurred while fetching file from: %1$s%2$s%3$s!%4$sReason: %5$s - "
|
59 |
-
"%6$s."
|
60 |
-
msgstr ""
|
61 |
-
|
62 |
-
#: inc/Helpers.php:199 inc/Helpers.php:242
|
63 |
-
msgid ""
|
64 |
-
"An error occurred while writing file to your server! Tried to write a file "
|
65 |
-
"to: %s%s."
|
66 |
-
msgstr ""
|
67 |
-
|
68 |
-
#: inc/Helpers.php:276
|
69 |
-
msgid ""
|
70 |
-
"An error occurred while reading a file from your server! Tried reading file "
|
71 |
-
"from path: %s%s."
|
72 |
-
msgstr ""
|
73 |
-
|
74 |
-
#: inc/Helpers.php:299
|
75 |
-
msgid ""
|
76 |
-
"This WordPress page does not have %sdirect%s write file access. This plugin "
|
77 |
-
"needs it in order to save the demo import xml file to the upload directory "
|
78 |
-
"of your site. You can change this setting with these instructions: %s."
|
79 |
-
msgstr ""
|
80 |
-
|
81 |
-
#. Plugin Name of the plugin/theme
|
82 |
-
msgid "One Click Demo Import"
|
83 |
-
msgstr ""
|
84 |
-
|
85 |
-
#: inc/Helpers.php:311 inc/OneClickDemoImport.php:138 views/plugin-page.php:124
|
86 |
-
#: views/plugin-page.php:136
|
87 |
-
msgid "Import Demo Data"
|
88 |
-
msgstr ""
|
89 |
-
|
90 |
-
#: inc/Helpers.php:323
|
91 |
-
msgid ""
|
92 |
-
"An error occurred while retrieving reading/writing permissions to your "
|
93 |
-
"server (could not retrieve WP filesystem credentials)!"
|
94 |
-
msgstr ""
|
95 |
-
|
96 |
-
#: inc/Helpers.php:331
|
97 |
-
msgid "Your WordPress login credentials don't allow to use WP_Filesystem!"
|
98 |
-
msgstr ""
|
99 |
-
|
100 |
-
#: inc/Helpers.php:371
|
101 |
-
msgid "One Click Demo Import - "
|
102 |
-
msgstr ""
|
103 |
-
|
104 |
-
#: inc/Helpers.php:405
|
105 |
-
msgid ""
|
106 |
-
"%sYour user role isn't high enough. You don't have permission to import "
|
107 |
-
"demo data.%s"
|
108 |
-
msgstr ""
|
109 |
-
|
110 |
-
#: inc/Helpers.php:438
|
111 |
-
msgid "No file provided."
|
112 |
-
msgstr ""
|
113 |
-
|
114 |
-
#: inc/Helpers.php:467
|
115 |
-
msgid "Content file was not uploaded. Error: %s"
|
116 |
-
msgstr ""
|
117 |
-
|
118 |
-
#: inc/Helpers.php:471 inc/Helpers.php:488 inc/Helpers.php:505
|
119 |
-
#: inc/Helpers.php:516 inc/Helpers.php:536 inc/Helpers.php:544
|
120 |
-
msgid "Upload files"
|
121 |
-
msgstr ""
|
122 |
-
|
123 |
-
#: inc/Helpers.php:484
|
124 |
-
msgid "Widget file was not uploaded. Error: %s"
|
125 |
-
msgstr ""
|
126 |
-
|
127 |
-
#: inc/Helpers.php:501
|
128 |
-
msgid "Customizer file was not uploaded. Error: %s"
|
129 |
-
msgstr ""
|
130 |
-
|
131 |
-
#: inc/Helpers.php:514
|
132 |
-
msgid "Missing Redux option name! Please also enter the Redux option name!"
|
133 |
-
msgstr ""
|
134 |
-
|
135 |
-
#: inc/Helpers.php:532
|
136 |
-
msgid "Redux file was not uploaded. Error: %s"
|
137 |
-
msgstr ""
|
138 |
-
|
139 |
-
#: inc/Helpers.php:542
|
140 |
-
msgid "The import files were successfully uploaded!"
|
141 |
-
msgstr ""
|
142 |
-
|
143 |
-
#: inc/Helpers.php:568
|
144 |
-
msgid "Initial max execution time = %s"
|
145 |
-
msgstr ""
|
146 |
-
|
147 |
-
#: inc/Helpers.php:572
|
148 |
-
msgid ""
|
149 |
-
"Files info:%1$sSite URL = %2$s%1$sData file = %3$s%1$sWidget file = "
|
150 |
-
"%4$s%1$sCustomizer file = %5$s%1$sRedux files:%1$s%6$s"
|
151 |
-
msgstr ""
|
152 |
-
|
153 |
-
#: inc/Helpers.php:575 inc/Helpers.php:576 inc/Helpers.php:577
|
154 |
-
#: inc/Helpers.php:578
|
155 |
-
msgid "not defined!"
|
156 |
-
msgstr ""
|
157 |
-
|
158 |
-
#: inc/Importer.php:174
|
159 |
-
msgid "New AJAX call!"
|
160 |
-
msgstr ""
|
161 |
-
|
162 |
-
#: inc/OneClickDemoImport.php:189
|
163 |
-
msgid "No preview image defined for this import."
|
164 |
-
msgstr ""
|
165 |
-
|
166 |
-
#: inc/OneClickDemoImport.php:190
|
167 |
-
msgid "Are you sure?"
|
168 |
-
msgstr ""
|
169 |
-
|
170 |
-
#: inc/OneClickDemoImport.php:191
|
171 |
-
msgid "Cancel"
|
172 |
-
msgstr ""
|
173 |
-
|
174 |
-
#: inc/OneClickDemoImport.php:192
|
175 |
-
msgid "Yes, import!"
|
176 |
-
msgstr ""
|
177 |
-
|
178 |
-
#: inc/OneClickDemoImport.php:193
|
179 |
-
msgid "Selected demo import:"
|
180 |
-
msgstr ""
|
181 |
-
|
182 |
-
#: inc/OneClickDemoImport.php:240
|
183 |
-
msgid "Manually uploaded files"
|
184 |
-
msgstr ""
|
185 |
-
|
186 |
-
#: inc/OneClickDemoImport.php:253 inc/OneClickDemoImport.php:264
|
187 |
-
msgid "Downloaded files"
|
188 |
-
msgstr ""
|
189 |
-
|
190 |
-
#: inc/OneClickDemoImport.php:260
|
191 |
-
msgid "The import files for: %s were successfully downloaded!"
|
192 |
-
msgstr ""
|
193 |
-
|
194 |
-
#: inc/OneClickDemoImport.php:269
|
195 |
-
msgid "No import files specified!"
|
196 |
-
msgstr ""
|
197 |
-
|
198 |
-
#: inc/OneClickDemoImport.php:390
|
199 |
-
msgid ""
|
200 |
-
"Just used One Click Demo Import plugin and it was awesome! Thanks "
|
201 |
-
"@ProteusThemes! #OCDI https://www.proteusthemes.com/"
|
202 |
-
msgstr ""
|
203 |
-
|
204 |
-
#: inc/OneClickDemoImport.php:393
|
205 |
-
msgid ""
|
206 |
-
"%1$s%6$sWasn't this a great One Click Demo Import experience?%7$s Created "
|
207 |
-
"and maintained by %3$sProteusThemes%4$s. %2$s%5$sClick to Tweet!%4$s%8$s"
|
208 |
-
msgstr ""
|
209 |
-
|
210 |
-
#: inc/OneClickDemoImport.php:406
|
211 |
-
msgid ""
|
212 |
-
"%1$s%3$sThat's it, all done!%4$s%2$sThe demo import has finished. Please "
|
213 |
-
"check your page and make sure that everything has imported correctly. If it "
|
214 |
-
"did, you can deactivate the %3$sOne Click Demo Import%4$s plugin, because "
|
215 |
-
"it has done its job.%5$s"
|
216 |
-
msgstr ""
|
217 |
-
|
218 |
-
#: inc/OneClickDemoImport.php:417
|
219 |
-
msgid ""
|
220 |
-
"%1$sThe demo import has finished, but there were some import "
|
221 |
-
"errors.%2$sMore details about the errors can be found in this %3$s%5$slog "
|
222 |
-
"file%6$s%4$s%7$s"
|
223 |
-
msgstr ""
|
224 |
-
|
225 |
-
#: inc/ReduxImporter.php:23
|
226 |
-
msgid "The Redux plugin is not activated, so the Redux import was skipped!"
|
227 |
-
msgstr ""
|
228 |
-
|
229 |
-
#: inc/ReduxImporter.php:32 inc/ReduxImporter.php:53 inc/ReduxImporter.php:66
|
230 |
-
msgid "Importing Redux settings"
|
231 |
-
msgstr ""
|
232 |
-
|
233 |
-
#: inc/ReduxImporter.php:51
|
234 |
-
msgid "Redux settings import for: %s finished successfully!"
|
235 |
-
msgstr ""
|
236 |
-
|
237 |
-
#: inc/ReduxImporter.php:57
|
238 |
-
msgid ""
|
239 |
-
"The Redux option name: %s, was not found in this WP site, so it was not "
|
240 |
-
"imported!"
|
241 |
-
msgstr ""
|
242 |
-
|
243 |
-
#: inc/WPCLICommands.php:34
|
244 |
-
msgid "There are no predefined demo imports for currently active theme!"
|
245 |
-
msgstr ""
|
246 |
-
|
247 |
-
#: inc/WPCLICommands.php:37
|
248 |
-
msgid "Here are the predefined demo imports:"
|
249 |
-
msgstr ""
|
250 |
-
|
251 |
-
#: inc/WPCLICommands.php:71
|
252 |
-
msgid "At least one of the possible options should be set! Check them with --help"
|
253 |
-
msgstr ""
|
254 |
-
|
255 |
-
#: inc/WPCLICommands.php:122
|
256 |
-
msgid ""
|
257 |
-
"The \"predefined\" parameter should be a number (an index of the OCDI "
|
258 |
-
"predefined demo import)!"
|
259 |
-
msgstr ""
|
260 |
-
|
261 |
-
#: inc/WPCLICommands.php:128
|
262 |
-
msgid ""
|
263 |
-
"The supplied predefined index does not exist! Please take a look at the "
|
264 |
-
"available predefined demo imports:"
|
265 |
-
msgstr ""
|
266 |
-
|
267 |
-
#: inc/WPCLICommands.php:135
|
268 |
-
msgid "Predefined demo import started! All other parameters will be ignored!"
|
269 |
-
msgstr ""
|
270 |
-
|
271 |
-
#: inc/WPCLICommands.php:140
|
272 |
-
msgid "Selected predefined demo import: %s"
|
273 |
-
msgstr ""
|
274 |
-
|
275 |
-
#: inc/WPCLICommands.php:143
|
276 |
-
msgid "Preparing the demo import files..."
|
277 |
-
msgstr ""
|
278 |
-
|
279 |
-
#: inc/WPCLICommands.php:148
|
280 |
-
msgid "Demo import files could not be retrieved!"
|
281 |
-
msgstr ""
|
282 |
-
|
283 |
-
#: inc/WPCLICommands.php:151
|
284 |
-
msgid "Demo import files retrieved successfully!"
|
285 |
-
msgstr ""
|
286 |
-
|
287 |
-
#: inc/WPCLICommands.php:153
|
288 |
-
msgid "Importing..."
|
289 |
-
msgstr ""
|
290 |
-
|
291 |
-
#: inc/WPCLICommands.php:173
|
292 |
-
msgid "Predefined import finished!"
|
293 |
-
msgstr ""
|
294 |
-
|
295 |
-
#: inc/WPCLICommands.php:185
|
296 |
-
msgid "Content import file provided does not exist! Skipping this import!"
|
297 |
-
msgstr ""
|
298 |
-
|
299 |
-
#: inc/WPCLICommands.php:194
|
300 |
-
msgid "Importing content (this might take a while)..."
|
301 |
-
msgstr ""
|
302 |
-
|
303 |
-
#: inc/WPCLICommands.php:196
|
304 |
-
msgid "Importing content"
|
305 |
-
msgstr ""
|
306 |
-
|
307 |
-
#: inc/WPCLICommands.php:201
|
308 |
-
msgid "Content import finished!"
|
309 |
-
msgstr ""
|
310 |
-
|
311 |
-
#: inc/WPCLICommands.php:204
|
312 |
-
msgid "There were some issues while importing the content!"
|
313 |
-
msgstr ""
|
314 |
-
|
315 |
-
#: inc/WPCLICommands.php:223
|
316 |
-
msgid "Widgets import file provided does not exist! Skipping this import!"
|
317 |
-
msgstr ""
|
318 |
-
|
319 |
-
#: inc/WPCLICommands.php:227
|
320 |
-
msgid "Importing widgets..."
|
321 |
-
msgstr ""
|
322 |
-
|
323 |
-
#: inc/WPCLICommands.php:232
|
324 |
-
msgid "Widgets imported successfully!"
|
325 |
-
msgstr ""
|
326 |
-
|
327 |
-
#: inc/WPCLICommands.php:235
|
328 |
-
msgid "There were some issues while importing widgets!"
|
329 |
-
msgstr ""
|
330 |
-
|
331 |
-
#: inc/WPCLICommands.php:254
|
332 |
-
msgid "Customizer import file provided does not exist! Skipping this import!"
|
333 |
-
msgstr ""
|
334 |
-
|
335 |
-
#: inc/WPCLICommands.php:258
|
336 |
-
msgid "Importing customizer settings..."
|
337 |
-
msgstr ""
|
338 |
-
|
339 |
-
#: inc/WPCLICommands.php:263
|
340 |
-
msgid "Customizer settings imported successfully!"
|
341 |
-
msgstr ""
|
342 |
-
|
343 |
-
#: inc/WPCLICommands.php:266
|
344 |
-
msgid "There were some issues while importing customizer settings!"
|
345 |
-
msgstr ""
|
346 |
-
|
347 |
-
#: inc/WPCLICommands.php:286
|
348 |
-
msgid "Executing action: %s ..."
|
349 |
-
msgstr ""
|
350 |
-
|
351 |
-
#: inc/WidgetImporter.php:40 inc/WidgetImporter.php:52
|
352 |
-
msgid "Importing widgets"
|
353 |
-
msgstr ""
|
354 |
-
|
355 |
-
#: inc/WidgetImporter.php:88
|
356 |
-
msgid "Error: Widget import file could not be found."
|
357 |
-
msgstr ""
|
358 |
-
|
359 |
-
#: inc/WidgetImporter.php:118
|
360 |
-
msgid "Error: Widget import data could not be read. Please try a different file."
|
361 |
-
msgstr ""
|
362 |
-
|
363 |
-
#: inc/WidgetImporter.php:157
|
364 |
-
msgid "Sidebar does not exist in theme (moving widget to Inactive)"
|
365 |
-
msgstr ""
|
366 |
-
|
367 |
-
#: inc/WidgetImporter.php:178
|
368 |
-
msgid "Site does not support widget"
|
369 |
-
msgstr ""
|
370 |
-
|
371 |
-
#: inc/WidgetImporter.php:211
|
372 |
-
msgid "Widget already exists"
|
373 |
-
msgstr ""
|
374 |
-
|
375 |
-
#: inc/WidgetImporter.php:276
|
376 |
-
msgid "Imported"
|
377 |
-
msgstr ""
|
378 |
-
|
379 |
-
#: inc/WidgetImporter.php:280
|
380 |
-
msgid "Imported to Inactive"
|
381 |
-
msgstr ""
|
382 |
-
|
383 |
-
#: inc/WidgetImporter.php:286
|
384 |
-
msgid "No Title"
|
385 |
-
msgstr ""
|
386 |
-
|
387 |
-
#: inc/WidgetImporter.php:333
|
388 |
-
msgid "No results for widget import!"
|
389 |
-
msgstr ""
|
390 |
-
|
391 |
-
#: one-click-demo-import.php:57
|
392 |
-
msgid ""
|
393 |
-
"The %2$sOne Click Demo Import%3$s plugin requires %2$sPHP 5.3.2+%3$s to run "
|
394 |
-
"properly. Please contact your hosting company and ask them to update the "
|
395 |
-
"PHP version of your site to at least PHP 5.3.2.%4$s Your current version of "
|
396 |
-
"PHP: %2$s%1$s%3$s"
|
397 |
-
msgstr ""
|
398 |
-
|
399 |
-
#: views/plugin-page.php:35
|
400 |
-
msgid ""
|
401 |
-
"%sWarning: your server is using %sPHP safe mode%s. This means that you "
|
402 |
-
"might experience server timeout errors.%s"
|
403 |
-
msgstr ""
|
404 |
-
|
405 |
-
#: views/plugin-page.php:48
|
406 |
-
msgid "Before you begin, make sure all the required plugins are activated."
|
407 |
-
msgstr ""
|
408 |
-
|
409 |
-
#: views/plugin-page.php:53
|
410 |
-
msgid ""
|
411 |
-
"Importing demo data (post, pages, images, theme settings, ...) is the "
|
412 |
-
"easiest way to setup your theme."
|
413 |
-
msgstr ""
|
414 |
-
|
415 |
-
#: views/plugin-page.php:54
|
416 |
-
msgid ""
|
417 |
-
"It will allow you to quickly edit everything instead of creating content "
|
418 |
-
"from scratch."
|
419 |
-
msgstr ""
|
420 |
-
|
421 |
-
#: views/plugin-page.php:59
|
422 |
-
msgid "When you import the data, the following things might happen:"
|
423 |
-
msgstr ""
|
424 |
-
|
425 |
-
#: views/plugin-page.php:62
|
426 |
-
msgid ""
|
427 |
-
"No existing posts, pages, categories, images, custom post types or any "
|
428 |
-
"other data will be deleted or modified."
|
429 |
-
msgstr ""
|
430 |
-
|
431 |
-
#: views/plugin-page.php:63
|
432 |
-
msgid ""
|
433 |
-
"Posts, pages, images, widgets, menus and other theme settings will get "
|
434 |
-
"imported."
|
435 |
-
msgstr ""
|
436 |
-
|
437 |
-
#: views/plugin-page.php:64
|
438 |
-
msgid ""
|
439 |
-
"Please click on the Import button only once and wait, it can take a couple "
|
440 |
-
"of minutes."
|
441 |
-
msgstr ""
|
442 |
-
|
443 |
-
#: views/plugin-page.php:69
|
444 |
-
msgid "Switch to manual import!"
|
445 |
-
msgstr ""
|
446 |
-
|
447 |
-
#: views/plugin-page.php:71
|
448 |
-
msgid "Switch back to theme predefined imports!"
|
449 |
-
msgstr ""
|
450 |
-
|
451 |
-
#: views/plugin-page.php:87
|
452 |
-
msgid ""
|
453 |
-
"There are no predefined import files available in this theme. Please upload "
|
454 |
-
"the import files manually!"
|
455 |
-
msgstr ""
|
456 |
-
|
457 |
-
#: views/plugin-page.php:94
|
458 |
-
msgid "Manual demo files upload"
|
459 |
-
msgstr ""
|
460 |
-
|
461 |
-
#: views/plugin-page.php:97
|
462 |
-
msgid "Choose a XML file for content import:"
|
463 |
-
msgstr ""
|
464 |
-
|
465 |
-
#: views/plugin-page.php:102
|
466 |
-
msgid "Choose a WIE or JSON file for widget import:"
|
467 |
-
msgstr ""
|
468 |
-
|
469 |
-
#: views/plugin-page.php:107
|
470 |
-
msgid "Choose a DAT file for customizer import:"
|
471 |
-
msgstr ""
|
472 |
-
|
473 |
-
#: views/plugin-page.php:113
|
474 |
-
msgid "Choose a JSON file for Redux import:"
|
475 |
-
msgstr ""
|
476 |
-
|
477 |
-
#: views/plugin-page.php:116
|
478 |
-
msgid "Enter the Redux option name:"
|
479 |
-
msgstr ""
|
480 |
-
|
481 |
-
#: views/plugin-page.php:151
|
482 |
-
msgid "All"
|
483 |
-
msgstr ""
|
484 |
-
|
485 |
-
#: views/plugin-page.php:158
|
486 |
-
msgid "Search demos..."
|
487 |
-
msgstr ""
|
488 |
-
|
489 |
-
#: views/plugin-page.php:179
|
490 |
-
msgid "No preview image."
|
491 |
-
msgstr ""
|
492 |
-
|
493 |
-
#: views/plugin-page.php:184
|
494 |
-
msgid "Import"
|
495 |
-
msgstr ""
|
496 |
-
|
497 |
-
#: views/plugin-page.php:186
|
498 |
-
msgid "Preview"
|
499 |
-
msgstr ""
|
500 |
-
|
501 |
-
#: views/plugin-page.php:199
|
502 |
-
msgid "Importing, please wait!"
|
503 |
-
msgstr ""
|
504 |
-
|
505 |
-
#. Plugin URI of the plugin/theme
|
506 |
-
msgid "https://wordpress.org/plugins/one-click-demo-import/"
|
507 |
-
msgstr ""
|
508 |
-
|
509 |
-
#. Description of the plugin/theme
|
510 |
-
msgid ""
|
511 |
-
"Import your content, widgets and theme settings with one click. Theme "
|
512 |
-
"authors! Enable simple demo import for your theme demo data."
|
513 |
-
msgstr ""
|
514 |
-
|
515 |
-
#. Author of the plugin/theme
|
516 |
-
msgid "ProteusThemes"
|
517 |
-
msgstr ""
|
518 |
-
|
519 |
-
#. Author URI of the plugin/theme
|
520 |
-
msgid "http://www.proteusthemes.com"
|
521 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
one-click-demo-import.php
CHANGED
@@ -4,12 +4,13 @@
|
|
4 |
Plugin Name: One Click Demo Import
|
5 |
Plugin URI: https://wordpress.org/plugins/one-click-demo-import/
|
6 |
Description: Import your content, widgets and theme settings with one click. Theme authors! Enable simple demo import for your theme demo data.
|
7 |
-
Version:
|
8 |
-
Author:
|
9 |
-
Author URI:
|
10 |
License: GPL3
|
11 |
License URI: http://www.gnu.org/licenses/gpl.html
|
12 |
-
Text Domain:
|
|
|
13 |
*/
|
14 |
|
15 |
// Block direct access to the main plugin file.
|
@@ -24,10 +25,10 @@ class OCDI_Plugin {
|
|
24 |
*/
|
25 |
public function __construct() {
|
26 |
/**
|
27 |
-
* Display admin error message if PHP version is older than 5.
|
28 |
* Otherwise execute the main plugin class.
|
29 |
*/
|
30 |
-
if ( version_compare( phpversion(), '5.
|
31 |
add_action( 'admin_notices', array( $this, 'old_php_admin_error_notice' ) );
|
32 |
}
|
33 |
else {
|
@@ -35,10 +36,10 @@ class OCDI_Plugin {
|
|
35 |
$this->set_plugin_constants();
|
36 |
|
37 |
// Composer autoloader.
|
38 |
-
require_once
|
39 |
|
40 |
// Instantiate the main plugin class *Singleton*.
|
41 |
-
$
|
42 |
|
43 |
// Register WP CLI commands
|
44 |
if ( defined( 'WP_CLI' ) && WP_CLI ) {
|
@@ -50,11 +51,11 @@ class OCDI_Plugin {
|
|
50 |
|
51 |
|
52 |
/**
|
53 |
-
* Display an admin error notice when PHP is older the version 5.
|
54 |
* Hook it to the 'admin_notices' action.
|
55 |
*/
|
56 |
-
public function old_php_admin_error_notice() {
|
57 |
-
$message = sprintf( esc_html__( 'The %2$sOne Click Demo Import%3$s plugin requires %2$sPHP 5.
|
58 |
|
59 |
printf( '<div class="notice notice-error"><p>%1$s</p></div>', wp_kses_post( $message ) );
|
60 |
}
|
@@ -67,6 +68,14 @@ class OCDI_Plugin {
|
|
67 |
*/
|
68 |
private function set_plugin_constants() {
|
69 |
// Path/URL to root of this plugin, with trailing slash.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
if ( ! defined( 'PT_OCDI_PATH' ) ) {
|
71 |
define( 'PT_OCDI_PATH', plugin_dir_path( __FILE__ ) );
|
72 |
}
|
@@ -80,11 +89,17 @@ class OCDI_Plugin {
|
|
80 |
|
81 |
|
82 |
/**
|
83 |
-
* Set plugin version constant ->
|
84 |
*/
|
85 |
public function set_plugin_version_constant() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
if ( ! defined( 'PT_OCDI_VERSION' ) ) {
|
87 |
-
$plugin_data = get_plugin_data( __FILE__ );
|
88 |
define( 'PT_OCDI_VERSION', $plugin_data['Version'] );
|
89 |
}
|
90 |
}
|
4 |
Plugin Name: One Click Demo Import
|
5 |
Plugin URI: https://wordpress.org/plugins/one-click-demo-import/
|
6 |
Description: Import your content, widgets and theme settings with one click. Theme authors! Enable simple demo import for your theme demo data.
|
7 |
+
Version: 3.0.0
|
8 |
+
Author: One Click Demo Import
|
9 |
+
Author URI: https://profiles.wordpress.org/ocdi/
|
10 |
License: GPL3
|
11 |
License URI: http://www.gnu.org/licenses/gpl.html
|
12 |
+
Text Domain: one-click-demo-import
|
13 |
+
Domain Path: /languages
|
14 |
*/
|
15 |
|
16 |
// Block direct access to the main plugin file.
|
25 |
*/
|
26 |
public function __construct() {
|
27 |
/**
|
28 |
+
* Display admin error message if PHP version is older than 5.6.
|
29 |
* Otherwise execute the main plugin class.
|
30 |
*/
|
31 |
+
if ( version_compare( phpversion(), '5.6', '<' ) ) {
|
32 |
add_action( 'admin_notices', array( $this, 'old_php_admin_error_notice' ) );
|
33 |
}
|
34 |
else {
|
36 |
$this->set_plugin_constants();
|
37 |
|
38 |
// Composer autoloader.
|
39 |
+
require_once OCDI_PATH . 'vendor/autoload.php';
|
40 |
|
41 |
// Instantiate the main plugin class *Singleton*.
|
42 |
+
$one_click_demo_import = OCDI\OneClickDemoImport::get_instance();
|
43 |
|
44 |
// Register WP CLI commands
|
45 |
if ( defined( 'WP_CLI' ) && WP_CLI ) {
|
51 |
|
52 |
|
53 |
/**
|
54 |
+
* Display an admin error notice when PHP is older the version 5.6.
|
55 |
* Hook it to the 'admin_notices' action.
|
56 |
*/
|
57 |
+
public function old_php_admin_error_notice() { /* translators: %1$s - the PHP version, %2$s and %3$s - strong HTML tags, %4$s - br HTMl tag. */
|
58 |
+
$message = sprintf( esc_html__( 'The %2$sOne Click Demo Import%3$s plugin requires %2$sPHP 5.6+%3$s to run properly. Please contact your hosting company and ask them to update the PHP version of your site to at least PHP 7.4%4$s Your current version of PHP: %2$s%1$s%3$s', 'one-click-demo-import' ), phpversion(), '<strong>', '</strong>', '<br>' );
|
59 |
|
60 |
printf( '<div class="notice notice-error"><p>%1$s</p></div>', wp_kses_post( $message ) );
|
61 |
}
|
68 |
*/
|
69 |
private function set_plugin_constants() {
|
70 |
// Path/URL to root of this plugin, with trailing slash.
|
71 |
+
if ( ! defined( 'OCDI_PATH' ) ) {
|
72 |
+
define( 'OCDI_PATH', plugin_dir_path( __FILE__ ) );
|
73 |
+
}
|
74 |
+
if ( ! defined( 'OCDI_URL' ) ) {
|
75 |
+
define( 'OCDI_URL', plugin_dir_url( __FILE__ ) );
|
76 |
+
}
|
77 |
+
|
78 |
+
// Used for backward compatibility.
|
79 |
if ( ! defined( 'PT_OCDI_PATH' ) ) {
|
80 |
define( 'PT_OCDI_PATH', plugin_dir_path( __FILE__ ) );
|
81 |
}
|
89 |
|
90 |
|
91 |
/**
|
92 |
+
* Set plugin version constant -> OCDI_VERSION.
|
93 |
*/
|
94 |
public function set_plugin_version_constant() {
|
95 |
+
$plugin_data = get_plugin_data( __FILE__ );
|
96 |
+
|
97 |
+
if ( ! defined( 'OCDI_VERSION' ) ) {
|
98 |
+
define( 'OCDI_VERSION', $plugin_data['Version'] );
|
99 |
+
}
|
100 |
+
|
101 |
+
// Used for backward compatibility.
|
102 |
if ( ! defined( 'PT_OCDI_VERSION' ) ) {
|
|
|
103 |
define( 'PT_OCDI_VERSION', $plugin_data['Version'] );
|
104 |
}
|
105 |
}
|
readme.txt
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
=== One Click Demo Import ===
|
2 |
-
Contributors: smub,
|
3 |
Tags: import, content, demo, data, widgets, settings, redux, theme options
|
4 |
-
Requires at least: 4.
|
5 |
-
Tested up to: 5.
|
6 |
-
Requires PHP: 5.
|
7 |
-
Stable tag:
|
8 |
License: GPLv3 or later
|
9 |
|
10 |
-
Import your demo content, widgets and theme settings with one click. Theme authors! Enable simple demo import for your
|
11 |
|
12 |
== Description ==
|
13 |
|
@@ -17,27 +17,23 @@ The best feature of this plugin is, that theme authors can define import files i
|
|
17 |
>
|
18 |
> Setup One Click Demo Imports for your theme and your users will thank you for it!
|
19 |
>
|
20 |
-
> [Follow this easy guide on how to setup this plugin for your themes!](
|
21 |
|
22 |
> **Are you a theme user?**
|
23 |
>
|
24 |
-
> Contact the author of your theme and [let them know about this plugin](
|
25 |
>
|
26 |
-
> "[Where can I find the
|
27 |
|
28 |
-
|
29 |
|
30 |
-
|
31 |
-
|
32 |
-
This plugin is using the improved WP import 2.0 that is still in development and can be found here: https://github.com/humanmade/WordPress-Importer.
|
33 |
-
|
34 |
-
All progress of this plugin's work is logged in a log file in the default WP upload directory, together with the demo import files used in the importing process.
|
35 |
|
36 |
NOTE: There is no setting to "connect" authors from the demo import file to the existing users in your WP site (like there is in the original WP Importer plugin). All demo content will be imported under the current user.
|
37 |
|
38 |
**Do you want to contribute?**
|
39 |
|
40 |
-
Please refer to
|
41 |
|
42 |
== Installation ==
|
43 |
|
@@ -69,7 +65,7 @@ The log file will also be registered in the *wp-admin -> Media* section, so you
|
|
69 |
|
70 |
= How to predefine demo imports? =
|
71 |
|
72 |
-
This question is for theme authors. To predefine demo imports, you just have to add the following code structure, with your own values to your theme (using the `
|
73 |
|
74 |
`
|
75 |
function ocdi_import_files() {
|
@@ -112,14 +108,14 @@ function ocdi_import_files() {
|
|
112 |
),
|
113 |
);
|
114 |
}
|
115 |
-
add_filter( '
|
116 |
`
|
117 |
|
118 |
You can set content import, widgets, customizer and Redux framework import files. You can also define a preview image, which will be used only when multiple demo imports are defined, so that the user will see the difference between imports. Categories can be assigned to each demo import, so that they can be filtered easily. The preview URL will display the "Preview" button in the predefined demo item, which will open this URL in a new tab and user can view how the demo site looks like.
|
119 |
|
120 |
= How to automatically assign "Front page", "Posts page" and menu locations after the importer is done? =
|
121 |
|
122 |
-
You can do that, with the `
|
123 |
|
124 |
`
|
125 |
function ocdi_after_import_setup() {
|
@@ -140,7 +136,7 @@ function ocdi_after_import_setup() {
|
|
140 |
update_option( 'page_for_posts', $blog_page_id->ID );
|
141 |
|
142 |
}
|
143 |
-
add_action( '
|
144 |
`
|
145 |
|
146 |
= What about using local import files (from theme folder)? =
|
@@ -188,12 +184,12 @@ function ocdi_import_files() {
|
|
188 |
),
|
189 |
);
|
190 |
}
|
191 |
-
add_filter( '
|
192 |
`
|
193 |
|
194 |
= How to handle different "after import setups" depending on which predefined import was selected? =
|
195 |
|
196 |
-
This question might be asked by a theme author wanting to implement different after import setups for multiple predefined demo imports. Lets say we have predefined two demo imports with the following names: 'Demo Import 1' and 'Demo Import 2', the code for after import setup would be (using the `
|
197 |
|
198 |
`
|
199 |
function ocdi_after_import( $selected_import ) {
|
@@ -212,18 +208,18 @@ function ocdi_after_import( $selected_import ) {
|
|
212 |
set_theme_mod( 'logo_img', get_template_directory_uri() . '/assets/images/logo2.png' );
|
213 |
}
|
214 |
}
|
215 |
-
add_action( '
|
216 |
`
|
217 |
|
218 |
= Can I add some code before the widgets get imported? =
|
219 |
|
220 |
-
Of course you can, use the `
|
221 |
|
222 |
`
|
223 |
function ocdi_before_widgets_import( $selected_import ) {
|
224 |
echo "Add your code here that will be executed before the widgets get imported!";
|
225 |
}
|
226 |
-
add_action( '
|
227 |
`
|
228 |
|
229 |
= How can I import via the WP-CLI? =
|
@@ -246,7 +242,7 @@ The content, widgets and customizer options can be mixed and used at the same ti
|
|
246 |
|
247 |
= I'm a theme author and I want to change the plugin intro text, how can I do that? =
|
248 |
|
249 |
-
You can change the plugin intro text by using the `
|
250 |
|
251 |
`
|
252 |
function ocdi_plugin_intro_text( $default_text ) {
|
@@ -254,7 +250,7 @@ function ocdi_plugin_intro_text( $default_text ) {
|
|
254 |
|
255 |
return $default_text;
|
256 |
}
|
257 |
-
add_filter( '
|
258 |
`
|
259 |
|
260 |
To add some text in a separate "box", you should wrap your text in a div with a class of 'ocdi__intro-text', like in the code example above.
|
@@ -263,7 +259,7 @@ To add some text in a separate "box", you should wrap your text in a div with a
|
|
263 |
|
264 |
This will greatly improve the time needed to import the content (images), but only the original sized images will be imported. You can disable it with a filter, so just add this code to your theme function.php file:
|
265 |
|
266 |
-
`add_filter( '
|
267 |
|
268 |
= How to change the location, title and other parameters of the plugin page? =
|
269 |
|
@@ -272,19 +268,19 @@ As a theme author you do not like the location of the "Import Demo Data" plugin
|
|
272 |
`
|
273 |
function ocdi_plugin_page_setup( $default_settings ) {
|
274 |
$default_settings['parent_slug'] = 'themes.php';
|
275 |
-
$default_settings['page_title'] = esc_html__( 'One Click Demo Import' , '
|
276 |
-
$default_settings['menu_title'] = esc_html__( 'Import Demo Data' , '
|
277 |
$default_settings['capability'] = 'import';
|
278 |
-
$default_settings['menu_slug'] = '
|
279 |
|
280 |
return $default_settings;
|
281 |
}
|
282 |
-
add_filter( '
|
283 |
`
|
284 |
|
285 |
= How to do something before the content import executes? =
|
286 |
|
287 |
-
In version 2.0.0 there is a new action hook: `
|
288 |
|
289 |
`
|
290 |
function ocdi_before_content_import( $selected_import ) {
|
@@ -297,53 +293,23 @@ function ocdi_before_content_import( $selected_import ) {
|
|
297 |
echo "before import 2";
|
298 |
}
|
299 |
}
|
300 |
-
add_action( '
|
301 |
`
|
302 |
|
303 |
= How can I enable the `customize_save*` wp action hooks in the customizer import? =
|
304 |
|
305 |
It's easy, just add this to your theme:
|
306 |
|
307 |
-
`add_action( '
|
308 |
|
309 |
This will enable the following WP hooks when importing the customizer data: `customize_save`, `customize_save_*`, `customize_save_after`.
|
310 |
|
311 |
-
|
312 |
-
= How to configure the multi grid layout import popup confirmation? =
|
313 |
-
|
314 |
-
If you want to disable the popup confirmation modal window, use this filter:
|
315 |
-
|
316 |
-
`add_filter( 'pt-ocdi/enable_grid_layout_import_popup_confirmation', '__return_false' );`
|
317 |
-
|
318 |
-
If you want to just change some options for the jQuery modal window we use for the popup confirmation, then use this filter:
|
319 |
-
|
320 |
-
`
|
321 |
-
function my_theme_ocdi_confirmation_dialog_options ( $options ) {
|
322 |
-
return array_merge( $options, array(
|
323 |
-
'width' => 300,
|
324 |
-
'dialogClass' => 'wp-dialog',
|
325 |
-
'resizable' => false,
|
326 |
-
'height' => 'auto',
|
327 |
-
'modal' => true,
|
328 |
-
) );
|
329 |
-
}
|
330 |
-
add_filter( 'pt-ocdi/confirmation_dialog_options', 'my_theme_ocdi_confirmation_dialog_options', 10, 1 );
|
331 |
-
`
|
332 |
-
|
333 |
-
= How can I disable the ProteusThemes branding notice after successful demo import? =
|
334 |
-
|
335 |
-
You can disable the branding notice with a WP filter. All you need to do is add this bit of code to your theme:
|
336 |
-
|
337 |
-
`add_filter( 'pt-ocdi/disable_pt_branding', '__return_true' );`
|
338 |
-
|
339 |
-
and the notice will not be displayed.
|
340 |
-
|
341 |
= How can I pass Amazon S3 presigned URL's (temporary links) as external files ? =
|
342 |
|
343 |
-
If you want to host your import content files on Amazon S3, but you want them to be publicly available, rather through an own API as presigned URL's (which expires) you can use the filter `
|
344 |
|
345 |
-
|
346 |
-
add_filter( '
|
347 |
|
348 |
// In this example `get_my_custom_urls` is supposedly making a `wp_remote_get` request, getting the urls from an API server where you're creating the presigned urls, [example here](https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/s3-presigned-url.html).
|
349 |
// This request should return an array containing all the 3 links - `import_file_url`, `import_widget_file_url`, `import_customizer_file_url`
|
@@ -368,7 +334,7 @@ add_filter( 'pt-ocdi/pre_download_import_files', function( $import_file_info ){
|
|
368 |
return $import_file_info;
|
369 |
|
370 |
} );
|
371 |
-
|
372 |
|
373 |
= I can't activate the plugin, because of a fatal error, what can I do? =
|
374 |
|
@@ -389,9 +355,23 @@ Please visit this [docs page](https://github.com/awesomemotive/one-click-demo-im
|
|
389 |
1. Example of multiple predefined demo imports, that a user can choose from.
|
390 |
2. How the import page looks like, when only one demo import is predefined.
|
391 |
3. Example of how the import page looks like, when no demo imports are predefined a.k.a manual import.
|
|
|
392 |
|
393 |
== Changelog ==
|
394 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
395 |
= 2.6.1 =
|
396 |
|
397 |
*Release Date - 21 July 2020*
|
1 |
=== One Click Demo Import ===
|
2 |
+
Contributors: ocdi, smub, jaredatch, capuderg
|
3 |
Tags: import, content, demo, data, widgets, settings, redux, theme options
|
4 |
+
Requires at least: 4.9
|
5 |
+
Tested up to: 5.7
|
6 |
+
Requires PHP: 5.6
|
7 |
+
Stable tag: 3.0.0
|
8 |
License: GPLv3 or later
|
9 |
|
10 |
+
Import your demo content, widgets and theme settings with one click. Theme authors! Enable simple theme demo import for your users.
|
11 |
|
12 |
== Description ==
|
13 |
|
17 |
>
|
18 |
> Setup One Click Demo Imports for your theme and your users will thank you for it!
|
19 |
>
|
20 |
+
> [Follow this easy guide on how to setup this plugin for your themes!](https://ocdi.com/quick-integration-guide/)
|
21 |
|
22 |
> **Are you a theme user?**
|
23 |
>
|
24 |
+
> Contact the author of your theme and [let them know about this plugin](https://ocdi.com/ask-your-theme-author/). Theme authors can make any theme compatible with this plugin in 15 minutes and make it much more user-friendly.
|
25 |
>
|
26 |
+
> "[Where can I find the theme author contact?](https://ocdi.com/ask-your-theme-author/#how-can-you-contact-your-theme-author)"
|
27 |
|
28 |
+
Please take a look at our [plugin documentation](https://ocdi.com/user-guide/) for more information on how to import your demo content.
|
29 |
|
30 |
+
This plugin is using the modified version of the improved WP import 2.0 that is still in development and can be found here: https://github.com/humanmade/WordPress-Importer.
|
|
|
|
|
|
|
|
|
31 |
|
32 |
NOTE: There is no setting to "connect" authors from the demo import file to the existing users in your WP site (like there is in the original WP Importer plugin). All demo content will be imported under the current user.
|
33 |
|
34 |
**Do you want to contribute?**
|
35 |
|
36 |
+
Please refer to our official [GitHub repository](https://github.com/awesomemotive/one-click-demo-import).
|
37 |
|
38 |
== Installation ==
|
39 |
|
65 |
|
66 |
= How to predefine demo imports? =
|
67 |
|
68 |
+
This question is for theme authors. To predefine demo imports, you just have to add the following code structure, with your own values to your theme (using the `ocdi/import_files` filter):
|
69 |
|
70 |
`
|
71 |
function ocdi_import_files() {
|
108 |
),
|
109 |
);
|
110 |
}
|
111 |
+
add_filter( 'ocdi/import_files', 'ocdi_import_files' );
|
112 |
`
|
113 |
|
114 |
You can set content import, widgets, customizer and Redux framework import files. You can also define a preview image, which will be used only when multiple demo imports are defined, so that the user will see the difference between imports. Categories can be assigned to each demo import, so that they can be filtered easily. The preview URL will display the "Preview" button in the predefined demo item, which will open this URL in a new tab and user can view how the demo site looks like.
|
115 |
|
116 |
= How to automatically assign "Front page", "Posts page" and menu locations after the importer is done? =
|
117 |
|
118 |
+
You can do that, with the `ocdi/after_import` action hook. The code would look something like this:
|
119 |
|
120 |
`
|
121 |
function ocdi_after_import_setup() {
|
136 |
update_option( 'page_for_posts', $blog_page_id->ID );
|
137 |
|
138 |
}
|
139 |
+
add_action( 'ocdi/after_import', 'ocdi_after_import_setup' );
|
140 |
`
|
141 |
|
142 |
= What about using local import files (from theme folder)? =
|
184 |
),
|
185 |
);
|
186 |
}
|
187 |
+
add_filter( 'ocdi/import_files', 'ocdi_import_files' );
|
188 |
`
|
189 |
|
190 |
= How to handle different "after import setups" depending on which predefined import was selected? =
|
191 |
|
192 |
+
This question might be asked by a theme author wanting to implement different after import setups for multiple predefined demo imports. Lets say we have predefined two demo imports with the following names: 'Demo Import 1' and 'Demo Import 2', the code for after import setup would be (using the `ocdi/after_import` filter):
|
193 |
|
194 |
`
|
195 |
function ocdi_after_import( $selected_import ) {
|
208 |
set_theme_mod( 'logo_img', get_template_directory_uri() . '/assets/images/logo2.png' );
|
209 |
}
|
210 |
}
|
211 |
+
add_action( 'ocdi/after_import', 'ocdi_after_import' );
|
212 |
`
|
213 |
|
214 |
= Can I add some code before the widgets get imported? =
|
215 |
|
216 |
+
Of course you can, use the `ocdi/before_widgets_import` action. You can also target different predefined demo imports like in the example above. Here is a simple example code of the `ocdi/before_widgets_import` action:
|
217 |
|
218 |
`
|
219 |
function ocdi_before_widgets_import( $selected_import ) {
|
220 |
echo "Add your code here that will be executed before the widgets get imported!";
|
221 |
}
|
222 |
+
add_action( 'ocdi/before_widgets_import', 'ocdi_before_widgets_import' );
|
223 |
`
|
224 |
|
225 |
= How can I import via the WP-CLI? =
|
242 |
|
243 |
= I'm a theme author and I want to change the plugin intro text, how can I do that? =
|
244 |
|
245 |
+
You can change the plugin intro text by using the `ocdi/plugin_intro_text` filter:
|
246 |
|
247 |
`
|
248 |
function ocdi_plugin_intro_text( $default_text ) {
|
250 |
|
251 |
return $default_text;
|
252 |
}
|
253 |
+
add_filter( 'ocdi/plugin_intro_text', 'ocdi_plugin_intro_text' );
|
254 |
`
|
255 |
|
256 |
To add some text in a separate "box", you should wrap your text in a div with a class of 'ocdi__intro-text', like in the code example above.
|
259 |
|
260 |
This will greatly improve the time needed to import the content (images), but only the original sized images will be imported. You can disable it with a filter, so just add this code to your theme function.php file:
|
261 |
|
262 |
+
`add_filter( 'ocdi/regenerate_thumbnails_in_content_import', '__return_false' );`
|
263 |
|
264 |
= How to change the location, title and other parameters of the plugin page? =
|
265 |
|
268 |
`
|
269 |
function ocdi_plugin_page_setup( $default_settings ) {
|
270 |
$default_settings['parent_slug'] = 'themes.php';
|
271 |
+
$default_settings['page_title'] = esc_html__( 'One Click Demo Import' , 'one-click-demo-import' );
|
272 |
+
$default_settings['menu_title'] = esc_html__( 'Import Demo Data' , 'one-click-demo-import' );
|
273 |
$default_settings['capability'] = 'import';
|
274 |
+
$default_settings['menu_slug'] = 'one-click-demo-import';
|
275 |
|
276 |
return $default_settings;
|
277 |
}
|
278 |
+
add_filter( 'ocdi/plugin_page_setup', 'ocdi_plugin_page_setup' );
|
279 |
`
|
280 |
|
281 |
= How to do something before the content import executes? =
|
282 |
|
283 |
+
In version 2.0.0 there is a new action hook: `ocdi/before_content_import`, which will let you hook before the content import starts. An example of the code would look like this:
|
284 |
|
285 |
`
|
286 |
function ocdi_before_content_import( $selected_import ) {
|
293 |
echo "before import 2";
|
294 |
}
|
295 |
}
|
296 |
+
add_action( 'ocdi/before_content_import', 'ocdi_before_content_import' );
|
297 |
`
|
298 |
|
299 |
= How can I enable the `customize_save*` wp action hooks in the customizer import? =
|
300 |
|
301 |
It's easy, just add this to your theme:
|
302 |
|
303 |
+
`add_action( 'ocdi/enable_wp_customize_save_hooks', '__return_true' );`
|
304 |
|
305 |
This will enable the following WP hooks when importing the customizer data: `customize_save`, `customize_save_*`, `customize_save_after`.
|
306 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
= How can I pass Amazon S3 presigned URL's (temporary links) as external files ? =
|
308 |
|
309 |
+
If you want to host your import content files on Amazon S3, but you want them to be publicly available, rather through an own API as presigned URL's (which expires) you can use the filter `ocdi/pre_download_import_files` in which you can pass your own URL's, for example:
|
310 |
|
311 |
+
`
|
312 |
+
add_filter( 'ocdi/pre_download_import_files', function( $import_file_info ){
|
313 |
|
314 |
// In this example `get_my_custom_urls` is supposedly making a `wp_remote_get` request, getting the urls from an API server where you're creating the presigned urls, [example here](https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/s3-presigned-url.html).
|
315 |
// This request should return an array containing all the 3 links - `import_file_url`, `import_widget_file_url`, `import_customizer_file_url`
|
334 |
return $import_file_info;
|
335 |
|
336 |
} );
|
337 |
+
`
|
338 |
|
339 |
= I can't activate the plugin, because of a fatal error, what can I do? =
|
340 |
|
355 |
1. Example of multiple predefined demo imports, that a user can choose from.
|
356 |
2. How the import page looks like, when only one demo import is predefined.
|
357 |
3. Example of how the import page looks like, when no demo imports are predefined a.k.a manual import.
|
358 |
+
4. How the Recommended & Required theme plugins step looks like, just before the import step.
|
359 |
|
360 |
== Changelog ==
|
361 |
|
362 |
+
= 3.0.0 =
|
363 |
+
|
364 |
+
*Release Date - 31 March 2021*
|
365 |
+
|
366 |
+
* IMPORTANT: Support for PHP 5.5 or lower has been discontinued. If you are running one of those versions, you MUST upgrade PHP before installing or upgrading to One Click Demo Import v3.0. Failure to do that will disable One Click Demo Import functionality.
|
367 |
+
* IMPORTANT: Support for WordPress core v4.9 or lower has been discontinued. If you are running one of those versions, you MUST upgrade WordPress core before installing or upgrading to One Click Demo Import v3.0. Failure to do that could cause issues with the One Click Demo Import functionality.
|
368 |
+
* Added support for recommended theme plugins.
|
369 |
+
* Added useful single page demo content imports.
|
370 |
+
* Added recommended plugins installer.
|
371 |
+
* Updated the UI/UX of the plugin.
|
372 |
+
* Fixed PHP8 warning.
|
373 |
+
* Fixed deprecated WP function `wp_slash_strings_only`.
|
374 |
+
|
375 |
= 2.6.1 =
|
376 |
|
377 |
*Release Date - 21 July 2020*
|
vendor/awesomemotive/wp-content-importer-v2/README.md
CHANGED
@@ -13,6 +13,9 @@ One click demo import github page: https://github.com/awesomemotive/one-click-de
|
|
13 |
|
14 |
## Changelog
|
15 |
|
|
|
|
|
|
|
16 |
*July 21st 2020*
|
17 |
- Fixed incorrect post meta import.
|
18 |
- Fixed Elementor import after `wp_slash` updates in this repo.
|
13 |
|
14 |
## Changelog
|
15 |
|
16 |
+
*February 12th 2021*
|
17 |
+
- Replaced deprecated WP function `wp_slash_strings_only` with `wp_slash`.
|
18 |
+
|
19 |
*July 21st 2020*
|
20 |
- Fixed incorrect post meta import.
|
21 |
- Fixed Elementor import after `wp_slash` updates in this repo.
|
vendor/awesomemotive/wp-content-importer-v2/src/WXRImporter.php
CHANGED
@@ -1222,7 +1222,7 @@ class WXRImporter extends \WP_Importer {
|
|
1222 |
$value = maybe_unserialize( $meta_item['value'] );
|
1223 |
}
|
1224 |
|
1225 |
-
add_post_meta( $post_id, wp_slash( $key ),
|
1226 |
do_action( 'import_post_meta', $post_id, $key, $value );
|
1227 |
|
1228 |
// if the post has a featured image, take note of this in case of remap
|
1222 |
$value = maybe_unserialize( $meta_item['value'] );
|
1223 |
}
|
1224 |
|
1225 |
+
add_post_meta( $post_id, wp_slash( $key ), wp_slash( $value ) );
|
1226 |
do_action( 'import_post_meta', $post_id, $key, $value );
|
1227 |
|
1228 |
// if the post has a featured image, take note of this in case of remap
|
vendor/composer/ClassLoader.php
CHANGED
@@ -60,7 +60,7 @@ class ClassLoader
|
|
60 |
public function getPrefixes()
|
61 |
{
|
62 |
if (!empty($this->prefixesPsr0)) {
|
63 |
-
return call_user_func_array('array_merge', $this->prefixesPsr0);
|
64 |
}
|
65 |
|
66 |
return array();
|
60 |
public function getPrefixes()
|
61 |
{
|
62 |
if (!empty($this->prefixesPsr0)) {
|
63 |
+
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
|
64 |
}
|
65 |
|
66 |
return array();
|
vendor/composer/installed.json
CHANGED
@@ -1,20 +1,20 @@
|
|
1 |
[
|
2 |
{
|
3 |
"name": "awesomemotive/wp-content-importer-v2",
|
4 |
-
"version": "v3.0.
|
5 |
-
"version_normalized": "3.0.
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/awesomemotive/WordPress-Importer.git",
|
9 |
-
"reference": "
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
-
"url": "https://api.github.com/repos/awesomemotive/WordPress-Importer/zipball/
|
14 |
-
"reference": "
|
15 |
"shasum": ""
|
16 |
},
|
17 |
-
"time": "
|
18 |
"type": "library",
|
19 |
"installation-source": "dist",
|
20 |
"autoload": {
|
@@ -49,7 +49,7 @@
|
|
49 |
"wp"
|
50 |
],
|
51 |
"support": {
|
52 |
-
"source": "https://github.com/awesomemotive/WordPress-Importer/tree/v3.0.
|
53 |
}
|
54 |
}
|
55 |
]
|
1 |
[
|
2 |
{
|
3 |
"name": "awesomemotive/wp-content-importer-v2",
|
4 |
+
"version": "v3.0.4",
|
5 |
+
"version_normalized": "3.0.4.0",
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/awesomemotive/WordPress-Importer.git",
|
9 |
+
"reference": "167d4cf57ddd342af14ab65dfeb41ee406734a3e"
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
+
"url": "https://api.github.com/repos/awesomemotive/WordPress-Importer/zipball/167d4cf57ddd342af14ab65dfeb41ee406734a3e",
|
14 |
+
"reference": "167d4cf57ddd342af14ab65dfeb41ee406734a3e",
|
15 |
"shasum": ""
|
16 |
},
|
17 |
+
"time": "2021-02-12T13:54:33+00:00",
|
18 |
"type": "library",
|
19 |
"installation-source": "dist",
|
20 |
"autoload": {
|
49 |
"wp"
|
50 |
],
|
51 |
"support": {
|
52 |
+
"source": "https://github.com/awesomemotive/WordPress-Importer/tree/v3.0.4"
|
53 |
}
|
54 |
}
|
55 |
]
|
views/create-content.php
ADDED
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* The create content page view.
|
4 |
+
*
|
5 |
+
* @package ocdi
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace OCDI;
|
9 |
+
|
10 |
+
$demo_content_creator = new CreateDemoContent\DemoContentCreator();
|
11 |
+
$content_items = $demo_content_creator->get_default_content();
|
12 |
+
?>
|
13 |
+
|
14 |
+
<div class="ocdi ocdi--create-content">
|
15 |
+
|
16 |
+
<?php echo wp_kses_post( ViewHelpers::plugin_header_output() ); ?>
|
17 |
+
|
18 |
+
<div class="ocdi__content-container">
|
19 |
+
|
20 |
+
<div class="ocdi__admin-notices js-ocdi-admin-notices-container"></div>
|
21 |
+
|
22 |
+
<div class="ocdi__content-container-content">
|
23 |
+
<div class="ocdi__content-container-content--main">
|
24 |
+
<div class="ocdi-create-content">
|
25 |
+
<div class="ocdi-create-content-header">
|
26 |
+
<h2><?php esc_html_e( 'Create Demo Content', 'one-click-demo-import' ); ?></h2>
|
27 |
+
<p>
|
28 |
+
<?php esc_html_e( 'Select which pre-built pages you want to import to use on your website. After that, all you need to do is customize the content to fit your needs and your page will be good to go.', 'one-click-demo-import' ); ?>
|
29 |
+
</p>
|
30 |
+
</div>
|
31 |
+
<div class="ocdi-create-content-content">
|
32 |
+
<div>
|
33 |
+
<?php foreach ( $content_items as $item ) : ?>
|
34 |
+
<label class="content-item content-item-<?php echo esc_attr( $item['slug'] ); ?>" for="ocdi-<?php echo esc_attr( $item['slug'] ); ?>-content-item">
|
35 |
+
<div class="content-item-content">
|
36 |
+
<div class="content-item-content-title">
|
37 |
+
<h3><?php echo esc_html( $item['name'] ); ?></h3>
|
38 |
+
</div>
|
39 |
+
<?php if ( ! empty( $item['description'] ) ) : ?>
|
40 |
+
<p>
|
41 |
+
<?php echo wp_kses_post( $item['description'] ); ?>
|
42 |
+
</p>
|
43 |
+
<?php endif; ?>
|
44 |
+
<div class="content-item-error js-ocdi-content-item-error"></div>
|
45 |
+
<div class="content-item-info js-ocdi-content-item-info"></div>
|
46 |
+
</div>
|
47 |
+
<span class="content-item-checkbox">
|
48 |
+
<input type="checkbox" id="ocdi-<?php echo esc_attr( $item['slug'] ); ?>-content-item" name="<?php echo esc_attr( $item['slug'] ); ?>" data-plugins="<?php echo esc_attr( implode( ',', $item['required_plugins'] ) ); ?>">
|
49 |
+
<span class="checkbox">
|
50 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/check-solid-white.svg' ); ?>" class="ocdi-check-icon" alt="<?php esc_attr_e( 'Checkmark icon', 'one-click-demo-import' ); ?>">
|
51 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/loader.svg' ); ?>" class="ocdi-loading ocdi-loading-md" alt="<?php esc_attr_e( 'Loading...', 'one-click-demo-import' ); ?>">
|
52 |
+
</span>
|
53 |
+
</span>
|
54 |
+
</label>
|
55 |
+
<?php endforeach; ?>
|
56 |
+
</div>
|
57 |
+
|
58 |
+
<div class="ocdi-create-content-content-notice js-ocdi-create-content-install-plugins-notice">
|
59 |
+
<p>
|
60 |
+
<?php esc_html_e( 'The following plugins will be installed for free: ', 'one-click-demo-import' ); ?>
|
61 |
+
<span class="js-ocdi-create-content-install-plugins-list"></span>
|
62 |
+
</p>
|
63 |
+
</div>
|
64 |
+
</div>
|
65 |
+
<div class="ocdi-create-content-footer">
|
66 |
+
<a href="<?php echo esc_url( $this->get_plugin_settings_url() ); ?>" class="button"><img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/long-arrow-alt-left-blue.svg' ); ?>" alt="<?php esc_attr_e( 'Back icon', 'one-click-demo-import' ); ?>"><span><?php esc_html_e( 'Go Back' , 'one-click-demo-import' ); ?></span></a>
|
67 |
+
<a href="#" class="button button-primary js-ocdi-create-content"><?php esc_html_e( 'Import' , 'one-click-demo-import' ); ?></a>
|
68 |
+
</div>
|
69 |
+
</div>
|
70 |
+
</div>
|
71 |
+
<div class="ocdi__content-container-content--side">
|
72 |
+
<?php echo wp_kses_post( ViewHelpers::small_theme_card() ); ?>
|
73 |
+
</div>
|
74 |
+
</div>
|
75 |
+
|
76 |
+
</div>
|
77 |
+
</div>
|
views/import.php
ADDED
@@ -0,0 +1,126 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* The install plugins page view.
|
4 |
+
*
|
5 |
+
* @package ocdi
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace OCDI;
|
9 |
+
|
10 |
+
$plugin_installer = new PluginInstaller();
|
11 |
+
$theme_plugins = $plugin_installer->get_theme_plugins();
|
12 |
+
?>
|
13 |
+
|
14 |
+
<div class="ocdi ocdi--install-plugins">
|
15 |
+
|
16 |
+
<?php echo wp_kses_post( ViewHelpers::plugin_header_output() ); ?>
|
17 |
+
|
18 |
+
<div class="ocdi__content-container">
|
19 |
+
|
20 |
+
<div class="ocdi__admin-notices js-ocdi-admin-notices-container"></div>
|
21 |
+
|
22 |
+
<div class="ocdi__content-container-content">
|
23 |
+
<div class="ocdi__content-container-content--main">
|
24 |
+
<?php if ( isset( $_GET['import'] ) ) : ?>
|
25 |
+
<div class="ocdi-install-plugins-content js-ocdi-install-plugins-content">
|
26 |
+
<div class="ocdi-install-plugins-content-header">
|
27 |
+
<h2><?php esc_html_e( 'Before We Import Your Demo', 'one-click-demo-import' ); ?></h2>
|
28 |
+
<p>
|
29 |
+
<?php esc_html_e( 'To ensure the best experience, installing the following plugins is strongly recommended, and in some cases required.', 'one-click-demo-import' ); ?>
|
30 |
+
</p>
|
31 |
+
|
32 |
+
<?php if ( ! empty( $this->import_files[ $_GET['import'] ]['import_notice'] ) ) : ?>
|
33 |
+
<div class="notice notice-info">
|
34 |
+
<p><?php echo wp_kses_post( $this->import_files[ $_GET['import'] ]['import_notice'] ); ?></p>
|
35 |
+
</div>
|
36 |
+
<?php endif; ?>
|
37 |
+
</div>
|
38 |
+
<div class="ocdi-install-plugins-content-content">
|
39 |
+
<?php if ( empty( $theme_plugins ) ) : ?>
|
40 |
+
<div class="ocdi-content-notice">
|
41 |
+
<p>
|
42 |
+
<?php esc_html_e( 'All required/recommended plugins are already installed. You can import your demo content.' , 'one-click-demo-import' ); ?>
|
43 |
+
</p>
|
44 |
+
</div>
|
45 |
+
<?php else : ?>
|
46 |
+
<?php foreach ( $theme_plugins as $plugin ) : ?>
|
47 |
+
<?php $is_plugin_active = $plugin_installer->is_plugin_active( $plugin['slug'] ); ?>
|
48 |
+
<label class="plugin-item plugin-item-<?php echo esc_attr( $plugin['slug'] ); ?><?php echo $is_plugin_active ? ' plugin-item--active' : ''; ?><?php echo ! empty( $plugin['required'] ) ? ' plugin-item--required' : ''; ?>" for="ocdi-<?php echo esc_attr( $plugin['slug'] ); ?>-plugin">
|
49 |
+
<div class="plugin-item-content">
|
50 |
+
<div class="plugin-item-content-title">
|
51 |
+
<h3><?php echo esc_html( $plugin['name'] ); ?></h3>
|
52 |
+
<?php if ( in_array( $plugin['slug'], [ 'wpforms-lite', 'all-in-one-seo-pack', 'google-analytics-for-wordpress' ], true ) ) : ?>
|
53 |
+
<span>
|
54 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/star.svg' ); ?>" alt="<?php esc_attr_e( 'Star icon', 'one-click-demo-import' ); ?>">
|
55 |
+
</span>
|
56 |
+
<?php endif; ?>
|
57 |
+
</div>
|
58 |
+
<?php if ( ! empty( $plugin['description'] ) ) : ?>
|
59 |
+
<p>
|
60 |
+
<?php echo wp_kses_post( $plugin['description'] ); ?>
|
61 |
+
</p>
|
62 |
+
<?php endif; ?>
|
63 |
+
<div class="plugin-item-error js-ocdi-plugin-item-error"></div>
|
64 |
+
<div class="plugin-item-info js-ocdi-plugin-item-info"></div>
|
65 |
+
</div>
|
66 |
+
<span class="plugin-item-checkbox">
|
67 |
+
<input type="checkbox" id="ocdi-<?php echo esc_attr( $plugin['slug'] ); ?>-plugin" name="<?php echo esc_attr( $plugin['slug'] ); ?>" <?php checked( ! empty( $plugin['preselected'] ) || ! empty( $plugin['required'] ) || $is_plugin_active ); ?><?php disabled( $is_plugin_active ); ?>>
|
68 |
+
<span class="checkbox">
|
69 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/check-solid-white.svg' ); ?>" class="ocdi-check-icon" alt="<?php esc_attr_e( 'Checkmark icon', 'one-click-demo-import' ); ?>">
|
70 |
+
<?php if ( ! empty( $plugin['required'] ) ) : ?>
|
71 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/lock.svg' ); ?>" class="ocdi-lock-icon" alt="<?php esc_attr_e( 'Lock icon', 'one-click-demo-import' ); ?>">
|
72 |
+
<?php endif; ?>
|
73 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/loader.svg' ); ?>" class="ocdi-loading ocdi-loading-md" alt="<?php esc_attr_e( 'Loading...', 'one-click-demo-import' ); ?>">
|
74 |
+
</span>
|
75 |
+
</span>
|
76 |
+
</label>
|
77 |
+
<?php endforeach; ?>
|
78 |
+
<?php endif; ?>
|
79 |
+
</div>
|
80 |
+
<div class="ocdi-install-plugins-content-footer">
|
81 |
+
<a href="<?php echo esc_url( $this->get_plugin_settings_url() ); ?>" class="button"><img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/long-arrow-alt-left-blue.svg' ); ?>" alt="<?php esc_attr_e( 'Back icon', 'one-click-demo-import' ); ?>"><span><?php esc_html_e( 'Go Back' , 'one-click-demo-import' ); ?></span></a>
|
82 |
+
<a href="#" class="button button-primary js-ocdi-install-plugins-before-import"><?php esc_html_e( 'Continue & Import' , 'one-click-demo-import' ); ?></a>
|
83 |
+
</div>
|
84 |
+
</div>
|
85 |
+
<?php else : ?>
|
86 |
+
<div class="js-ocdi-auto-start-manual-import"></div>
|
87 |
+
<?php endif; ?>
|
88 |
+
|
89 |
+
<div class="ocdi-importing js-ocdi-importing">
|
90 |
+
<div class="ocdi-importing-header">
|
91 |
+
<h2><?php esc_html_e( 'Importing Content' , 'one-click-demo-import' ); ?></h2>
|
92 |
+
<p><?php esc_html_e( 'Please sit tight while we import your content. Do not refresh the page or hit the back button.' , 'one-click-demo-import' ); ?></p>
|
93 |
+
</div>
|
94 |
+
<div class="ocdi-importing-content">
|
95 |
+
<img class="ocdi-importing-content-importing" src="<?php echo esc_url( OCDI_URL . 'assets/images/importing.svg' ); ?>" alt="<?php esc_attr_e( 'Importing animation', 'one-click-demo-import' ); ?>">
|
96 |
+
</div>
|
97 |
+
</div>
|
98 |
+
|
99 |
+
<div class="ocdi-imported js-ocdi-imported">
|
100 |
+
<div class="ocdi-imported-header">
|
101 |
+
<h2 class="js-ocdi-ajax-response-title"><?php esc_html_e( 'Import Complete!' , 'one-click-demo-import' ); ?></h2>
|
102 |
+
<div class="js-ocdi-ajax-response-subtitle">
|
103 |
+
<p>
|
104 |
+
<?php esc_html_e( 'Congrats, your demo was imported successfully. You can now begin editing your site.' , 'one-click-demo-import' ); ?>
|
105 |
+
</p>
|
106 |
+
</div>
|
107 |
+
</div>
|
108 |
+
<div class="ocdi-imported-content">
|
109 |
+
<div class="ocdi__response js-ocdi-ajax-response"></div>
|
110 |
+
</div>
|
111 |
+
<div class="ocdi-imported-footer">
|
112 |
+
<a href="<?php echo esc_url( admin_url( 'customize.php' ) ); ?>" class="button button-primary button-hero"><?php esc_html_e( 'Theme Settings' , 'one-click-demo-import' ); ?></a>
|
113 |
+
<a href="<?php echo esc_url( get_home_url() ); ?>" class="button button-primary button-hero"><?php esc_html_e( 'Visit Site' , 'one-click-demo-import' ); ?></a>
|
114 |
+
</div>
|
115 |
+
</div>
|
116 |
+
</div>
|
117 |
+
<div class="ocdi__content-container-content--side">
|
118 |
+
<?php
|
119 |
+
$selected = isset( $_GET['import'] ) ? (int) $_GET['import'] : null;
|
120 |
+
echo wp_kses_post( ViewHelpers::small_theme_card( $selected ) );
|
121 |
+
?>
|
122 |
+
</div>
|
123 |
+
</div>
|
124 |
+
|
125 |
+
</div>
|
126 |
+
</div>
|
views/install-plugins.php
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* The install plugins page view.
|
4 |
+
*
|
5 |
+
* @package ocdi
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace OCDI;
|
9 |
+
|
10 |
+
$plugin_installer = new PluginInstaller();
|
11 |
+
?>
|
12 |
+
|
13 |
+
<div class="ocdi ocdi--install-plugins">
|
14 |
+
|
15 |
+
<?php echo wp_kses_post( ViewHelpers::plugin_header_output() ); ?>
|
16 |
+
|
17 |
+
<div class="ocdi__content-container">
|
18 |
+
|
19 |
+
<div class="ocdi__admin-notices js-ocdi-admin-notices-container"></div>
|
20 |
+
|
21 |
+
<div class="ocdi__content-container-content">
|
22 |
+
<div class="ocdi__content-container-content--main">
|
23 |
+
<div class="ocdi-install-plugins-content">
|
24 |
+
<div class="ocdi-install-plugins-content-header">
|
25 |
+
<h2><?php esc_html_e( 'Install Recommended Plugins', 'one-click-demo-import' ); ?></h2>
|
26 |
+
<p>
|
27 |
+
<?php esc_html_e( 'Want to use the best plugins for the job? Here is the list of awesome plugins that will help you achieve your goals.', 'one-click-demo-import' ); ?>
|
28 |
+
</p>
|
29 |
+
</div>
|
30 |
+
<div class="ocdi-install-plugins-content-content">
|
31 |
+
<?php foreach ( $plugin_installer->get_partner_plugins() as $plugin ) : ?>
|
32 |
+
<?php $is_plugin_active = $plugin_installer->is_plugin_active( $plugin['slug'] ); ?>
|
33 |
+
<label class="plugin-item plugin-item-<?php echo esc_attr( $plugin['slug'] ); ?><?php echo $is_plugin_active ? ' plugin-item--active' : ''; ?>" for="ocdi-<?php echo esc_attr( $plugin['slug'] ); ?>-plugin">
|
34 |
+
<div class="plugin-item-content">
|
35 |
+
<div class="plugin-item-content-title">
|
36 |
+
<h3><?php echo esc_html( $plugin['name'] ); ?></h3>
|
37 |
+
</div>
|
38 |
+
<?php if ( ! empty( $plugin['description'] ) ) : ?>
|
39 |
+
<p>
|
40 |
+
<?php echo wp_kses_post( $plugin['description'] ); ?>
|
41 |
+
</p>
|
42 |
+
<?php endif; ?>
|
43 |
+
<div class="plugin-item-error js-ocdi-plugin-item-error"></div>
|
44 |
+
<div class="plugin-item-info js-ocdi-plugin-item-info"></div>
|
45 |
+
</div>
|
46 |
+
<span class="plugin-item-checkbox">
|
47 |
+
<input type="checkbox" id="ocdi-<?php echo esc_attr( $plugin['slug'] ); ?>-plugin" name="<?php echo esc_attr( $plugin['slug'] ); ?>" <?php checked( ! empty( $plugin['preselected'] ) || $is_plugin_active ); ?><?php disabled( $is_plugin_active ) ?>>
|
48 |
+
<span class="checkbox">
|
49 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/check-solid-white.svg' ); ?>" class="ocdi-check-icon" alt="<?php esc_attr_e( 'Checkmark icon', 'one-click-demo-import' ); ?>">
|
50 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/loader.svg' ); ?>" class="ocdi-loading ocdi-loading-md" alt="<?php esc_attr_e( 'Loading...', 'one-click-demo-import' ); ?>">
|
51 |
+
</span>
|
52 |
+
</span>
|
53 |
+
</label>
|
54 |
+
<?php endforeach; ?>
|
55 |
+
</div>
|
56 |
+
<div class="ocdi-install-plugins-content-footer">
|
57 |
+
<a href="<?php echo esc_url( $this->get_plugin_settings_url() ); ?>" class="button"><img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/long-arrow-alt-left-blue.svg' ); ?>" alt="<?php esc_attr_e( 'Back icon', 'one-click-demo-import' ); ?>"><span><?php esc_html_e( 'Go Back' , 'one-click-demo-import' ); ?></span></a>
|
58 |
+
<a href="#" class="button button-primary js-ocdi-install-plugins"><?php esc_html_e( 'Install & Activate' , 'one-click-demo-import' ); ?></a>
|
59 |
+
</div>
|
60 |
+
</div>
|
61 |
+
</div>
|
62 |
+
<div class="ocdi__content-container-content--side">
|
63 |
+
<?php echo wp_kses_post( ViewHelpers::small_theme_card() ); ?>
|
64 |
+
</div>
|
65 |
+
</div>
|
66 |
+
|
67 |
+
</div>
|
68 |
+
</div>
|
views/plugin-page.php
CHANGED
@@ -16,194 +16,350 @@ if ( ! empty( $this->import_files ) && isset( $_GET['import-mode'] ) && 'manual'
|
|
16 |
/**
|
17 |
* Hook for adding the custom plugin page header
|
18 |
*/
|
19 |
-
do_action( '
|
20 |
?>
|
21 |
|
22 |
-
<div class="ocdi
|
23 |
-
|
24 |
-
<?php ob_start(); ?>
|
25 |
-
<h1 class="ocdi__title dashicons-before dashicons-upload"><?php esc_html_e( 'One Click Demo Import', 'pt-ocdi' ); ?></h1>
|
26 |
-
<?php
|
27 |
-
$plugin_title = ob_get_clean();
|
28 |
-
|
29 |
-
// Display the plugin title (can be replaced with custom title text through the filter below).
|
30 |
-
echo wp_kses_post( apply_filters( 'pt-ocdi/plugin_page_title', $plugin_title ) );
|
31 |
-
|
32 |
-
// Display warrning if PHP safe mode is enabled, since we wont be able to change the max_execution_time.
|
33 |
-
if ( ini_get( 'safe_mode' ) ) {
|
34 |
-
printf(
|
35 |
-
esc_html__( '%sWarning: your server is using %sPHP safe mode%s. This means that you might experience server timeout errors.%s', 'pt-ocdi' ),
|
36 |
-
'<div class="notice notice-warning is-dismissible"><p>',
|
37 |
-
'<strong>',
|
38 |
-
'</strong>',
|
39 |
-
'</p></div>'
|
40 |
-
);
|
41 |
-
}
|
42 |
-
|
43 |
-
// Start output buffer for displaying the plugin intro text.
|
44 |
-
ob_start();
|
45 |
-
?>
|
46 |
-
|
47 |
-
<div class="ocdi__intro-notice notice notice-warning is-dismissible">
|
48 |
-
<p><?php esc_html_e( 'Before you begin, make sure all the required plugins are activated.', 'pt-ocdi' ); ?></p>
|
49 |
-
</div>
|
50 |
-
|
51 |
-
<div class="ocdi__intro-text">
|
52 |
-
<p class="about-description">
|
53 |
-
<?php esc_html_e( 'Importing demo data (post, pages, images, theme settings, ...) is the easiest way to setup your theme.', 'pt-ocdi' ); ?>
|
54 |
-
<?php esc_html_e( 'It will allow you to quickly edit everything instead of creating content from scratch.', 'pt-ocdi' ); ?>
|
55 |
-
</p>
|
56 |
|
57 |
-
|
58 |
|
59 |
-
|
60 |
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
<?php endif; ?>
|
74 |
-
|
75 |
-
<hr>
|
76 |
-
</div>
|
77 |
|
78 |
-
|
79 |
-
$plugin_intro_text = ob_get_clean();
|
80 |
|
81 |
-
|
82 |
-
|
83 |
-
|
|
|
84 |
|
85 |
-
|
86 |
-
|
87 |
-
|
|
|
|
|
|
|
88 |
</div>
|
89 |
-
<?php endif; ?>
|
90 |
|
91 |
-
|
|
|
92 |
|
93 |
-
|
94 |
-
|
|
|
95 |
|
96 |
-
|
97 |
-
|
98 |
-
<
|
99 |
</div>
|
|
|
100 |
|
101 |
-
|
102 |
-
<h3><label for="widget-file-upload"><?php esc_html_e( 'Choose a WIE or JSON file for widget import:', 'pt-ocdi' ); ?></label></h3>
|
103 |
-
<input id="ocdi__widget-file-upload" type="file" name="widget-file-upload">
|
104 |
-
</div>
|
105 |
|
106 |
-
|
107 |
-
|
108 |
-
|
|
|
|
|
|
|
|
|
109 |
</div>
|
110 |
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
</div>
|
119 |
</div>
|
120 |
-
<?php endif; ?>
|
121 |
</div>
|
122 |
|
123 |
-
|
124 |
-
<button class="ocdi__button button button-hero button-primary js-ocdi-import-data"><?php esc_html_e( 'Import Demo Data', 'pt-ocdi' ); ?></button>
|
125 |
-
</p>
|
126 |
|
127 |
-
|
|
|
|
|
|
|
128 |
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
|
135 |
-
|
136 |
-
|
137 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
|
139 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
<
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
|
|
|
|
|
|
159 |
</div>
|
|
|
|
|
160 |
</div>
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
<div class="
|
176 |
-
<?php
|
177 |
-
<img class="ocdi__gl-item-image" src="<?php echo esc_url( $img_src ) ?>">
|
178 |
-
<?php else : ?>
|
179 |
-
<div class="ocdi__gl-item-image ocdi__gl-item-image--no-image"><?php esc_html_e( 'No preview image.', 'pt-ocdi' ); ?></div>
|
180 |
-
<?php endif; ?>
|
181 |
-
</div>
|
182 |
-
<div class="ocdi__gl-item-footer<?php echo ! empty( $import_file['preview_url'] ) ? ' ocdi__gl-item-footer--with-preview' : ''; ?>">
|
183 |
-
<h4 class="ocdi__gl-item-title" title="<?php echo esc_attr( $import_file['import_file_name'] ); ?>"><?php echo esc_html( $import_file['import_file_name'] ); ?></h4>
|
184 |
-
<button class="ocdi__gl-item-button button button-primary js-ocdi-gl-import-data" value="<?php echo esc_attr( $index ); ?>"><?php esc_html_e( 'Import', 'pt-ocdi' ); ?></button>
|
185 |
-
<?php if ( ! empty( $import_file['preview_url'] ) ) : ?>
|
186 |
-
<a class="ocdi__gl-item-button button" href="<?php echo esc_url( $import_file['preview_url'] ); ?>" target="_blank"><?php esc_html_e( 'Preview', 'pt-ocdi' ); ?></a>
|
187 |
-
<?php endif; ?>
|
188 |
</div>
|
189 |
</div>
|
190 |
-
<?php endforeach; ?>
|
191 |
-
</div>
|
192 |
-
</div>
|
193 |
-
|
194 |
-
<div id="js-ocdi-modal-content"></div>
|
195 |
|
196 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
|
198 |
-
|
199 |
-
|
200 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
201 |
|
202 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
</div>
|
204 |
|
205 |
<?php
|
206 |
/**
|
207 |
* Hook for adding the custom admin page footer
|
208 |
*/
|
209 |
-
do_action( '
|
16 |
/**
|
17 |
* Hook for adding the custom plugin page header
|
18 |
*/
|
19 |
+
Helpers::do_action( 'ocdi/plugin_page_header' );
|
20 |
?>
|
21 |
|
22 |
+
<div class="ocdi">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
+
<?php echo wp_kses_post( ViewHelpers::plugin_header_output() ); ?>
|
25 |
|
26 |
+
<div class="ocdi__content-container">
|
27 |
|
28 |
+
<?php
|
29 |
+
// Display warrning if PHP safe mode is enabled, since we wont be able to change the max_execution_time.
|
30 |
+
if ( ini_get( 'safe_mode' ) ) {
|
31 |
+
printf( /* translators: %1$s - the opening div and paragraph HTML tags, %2$s and %3$s - strong HTML tags, %4$s - the closing div and paragraph HTML tags. */
|
32 |
+
esc_html__( '%1$sWarning: your server is using %2$sPHP safe mode%3$s. This means that you might experience server timeout errors.%4$s', 'one-click-demo-import' ),
|
33 |
+
'<div class="notice notice-warning is-dismissible"><p>',
|
34 |
+
'<strong>',
|
35 |
+
'</strong>',
|
36 |
+
'</p></div>'
|
37 |
+
);
|
38 |
+
}
|
39 |
+
?>
|
|
|
|
|
|
|
|
|
40 |
|
41 |
+
<div class="ocdi__admin-notices js-ocdi-admin-notices-container"></div>
|
|
|
42 |
|
43 |
+
<?php
|
44 |
+
// Start output buffer for displaying the plugin intro text.
|
45 |
+
ob_start();
|
46 |
+
?>
|
47 |
|
48 |
+
<div class="ocdi__intro-text">
|
49 |
+
<p class="about-description">
|
50 |
+
<?php esc_html_e( 'Importing demo data (post, pages, images, theme settings, etc.) is the quickest and easiest way to set up your new theme.', 'one-click-demo-import' ); ?>
|
51 |
+
<?php esc_html_e( 'It allows you to simply edit everything instead of creating content and layouts from scratch.', 'one-click-demo-import' ); ?>
|
52 |
+
<a href="https://ocdi.com/user-guide/" target="_blank" rel="noopener noreferrer"><?php esc_html_e( 'Learn more', 'one-click-demo-import' ); ?></a>.
|
53 |
+
</p>
|
54 |
</div>
|
|
|
55 |
|
56 |
+
<?php
|
57 |
+
$plugin_intro_text = ob_get_clean();
|
58 |
|
59 |
+
// Display the plugin intro text (can be replaced with custom text through the filter below).
|
60 |
+
echo wp_kses_post( Helpers::apply_filters( 'ocdi/plugin_intro_text', $plugin_intro_text ) );
|
61 |
+
?>
|
62 |
|
63 |
+
<?php if ( empty( $this->import_files ) ) : ?>
|
64 |
+
<div class="notice notice-info">
|
65 |
+
<p><?php esc_html_e( 'There are no predefined import files available for this theme. Please upload the import files manually below.', 'one-click-demo-import' ); ?></p>
|
66 |
</div>
|
67 |
+
<?php endif; ?>
|
68 |
|
69 |
+
<?php $theme = wp_get_theme(); ?>
|
|
|
|
|
|
|
70 |
|
71 |
+
<div class="ocdi__theme-about">
|
72 |
+
<div class="ocdi__theme-about-screenshots">
|
73 |
+
<?php if ( $theme->get_screenshot() ) : ?>
|
74 |
+
<div class="screenshot"><img src="<?php echo esc_url( $theme->get_screenshot() ); ?>" alt="<?php esc_attr_e( 'Theme screenshot', 'one-click-demo-import' ); ?>" /></div>
|
75 |
+
<?php else : ?>
|
76 |
+
<div class="screenshot blank"></div>
|
77 |
+
<?php endif; ?>
|
78 |
</div>
|
79 |
|
80 |
+
<div class="ocdi__theme-about-info">
|
81 |
+
<div class="top-content">
|
82 |
+
<div class="theme-title">
|
83 |
+
<h2 class="theme-name"><?php echo esc_html( $theme->name ); ?></h2>
|
84 |
+
<span class="theme-version">
|
85 |
+
<?php
|
86 |
+
/* translators: %s: Theme version. */
|
87 |
+
printf( __( 'Version: %s' ), esc_html( $theme->version ) );
|
88 |
+
?>
|
89 |
+
</span>
|
90 |
+
</div>
|
91 |
+
<p class="theme-author">
|
92 |
+
<?php
|
93 |
+
/* translators: %s: Theme author link. */
|
94 |
+
printf( __( 'By %s' ), wp_kses_post( $theme->author ) );
|
95 |
+
?>
|
96 |
+
</p>
|
97 |
+
|
98 |
+
<p class="theme-description"><?php echo wp_kses_post( $theme->description ); ?></p>
|
99 |
+
|
100 |
+
<?php if ( ! empty( $theme->tags ) ) : ?>
|
101 |
+
<hr>
|
102 |
+
<p class="theme-tags"><span><?php esc_html_e( 'Tags:' ); ?></span> <?php echo esc_html( implode( ', ', $theme->tags ) ); ?></p>
|
103 |
+
<?php endif; ?>
|
104 |
+
</div>
|
105 |
+
<div class="bottom-content">
|
106 |
+
<?php if ( ! empty( $this->import_files ) ) : ?>
|
107 |
+
<?php if ( empty( $_GET['import-mode'] ) || 'manual' !== $_GET['import-mode'] ) : ?>
|
108 |
+
<a href="<?php echo esc_url( $this->get_plugin_settings_url( array( 'import-mode' => 'manual' ) ) ); ?>" class="ocdi-import-mode-switch"><?php esc_html_e( 'Switch to Manual Import', 'one-click-demo-import' ); ?></a>
|
109 |
+
<?php else : ?>
|
110 |
+
<a href="<?php echo esc_url( $this->get_plugin_settings_url() ); ?>" class="ocdi-import-mode-switch"><?php esc_html_e( 'Switch back to Theme Predefined Imports', 'one-click-demo-import' ); ?></a>
|
111 |
+
<?php endif; ?>
|
112 |
+
<?php endif; ?>
|
113 |
</div>
|
114 |
</div>
|
|
|
115 |
</div>
|
116 |
|
117 |
+
<?php if ( empty( $predefined_themes ) ) : ?>
|
|
|
|
|
118 |
|
119 |
+
<div class="ocdi__file-upload-container">
|
120 |
+
<div class="ocdi__file-upload-container--header">
|
121 |
+
<h2><?php esc_html_e( 'Manual Demo File Import', 'one-click-demo-import' ); ?></h2>
|
122 |
+
</div>
|
123 |
|
124 |
+
<div class="ocdi__file-upload-container-items">
|
125 |
+
<?php $first_row_class = class_exists( 'ReduxFramework' ) ? 'four' : 'three'; ?>
|
126 |
+
<div class="ocdi__file-upload ocdi__card ocdi__card--<?php echo esc_attr( $first_row_class ); ?>">
|
127 |
+
<div class="ocdi__card-content">
|
128 |
+
<label for="ocdi__content-file-upload">
|
129 |
+
<div class="ocdi-icon-container">
|
130 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/content.svg' ); ?>" class="ocdi-icon--content" alt="<?php esc_attr_e( 'Content import icon', 'one-click-demo-import' ); ?>">
|
131 |
+
</div>
|
132 |
+
<h3><?php esc_html_e( 'Import Content', 'one-click-demo-import' ); ?></h3>
|
133 |
+
<p><?php esc_html_e( 'Select an XML file to import.', 'one-click-demo-import' ); ?></p>
|
134 |
+
</label>
|
135 |
+
<a href="https://ocdi.com/user-guide/#import-content" target="_blank" rel="noopener noreferrer" class="ocdi__card-content-info">
|
136 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/info-circle.svg' ); ?>" alt="<?php esc_attr_e( 'Info icon', 'one-click-demo-import' ); ?>">
|
137 |
+
</a>
|
138 |
+
</div>
|
139 |
+
<div class="ocdi__card-footer">
|
140 |
+
<label for="ocdi__content-file-upload" class="button button-primary custom-file-upload-button">
|
141 |
+
<?php esc_html_e( 'Select a File', 'one-click-demo-import' ); ?>
|
142 |
+
</label>
|
143 |
+
<input id="ocdi__content-file-upload" type="file" class="ocdi-hide-input" name="content-file-upload">
|
144 |
+
</div>
|
145 |
+
</div>
|
146 |
|
147 |
+
<div class="ocdi__file-upload ocdi__card ocdi__card--<?php echo esc_attr( $first_row_class ); ?>">
|
148 |
+
<div class="ocdi__card-content">
|
149 |
+
<label for="ocdi__widget-file-upload">
|
150 |
+
<div class="ocdi-icon-container">
|
151 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/widgets.svg' ); ?>" class="ocdi-icon--widgets" alt="<?php esc_attr_e( 'Widgets import icon', 'one-click-demo-import' ); ?>">
|
152 |
+
</div>
|
153 |
+
<h3><?php esc_html_e( 'Import Widgets', 'one-click-demo-import' ); ?></h3>
|
154 |
+
<p><?php esc_html_e( 'Select a JSON/WIE file to import.', 'one-click-demo-import' ); ?></p>
|
155 |
+
</label>
|
156 |
+
<a href="https://ocdi.com/user-guide/#import-widgets" target="_blank" rel="noopener noreferrer" class="ocdi__card-content-info">
|
157 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/info-circle.svg' ); ?>" alt="<?php esc_attr_e( 'Info icon', 'one-click-demo-import' ); ?>">
|
158 |
+
</a>
|
159 |
+
</div>
|
160 |
+
<div class="ocdi__card-footer">
|
161 |
+
<label for="ocdi__widget-file-upload" class="button button-primary custom-file-upload-button">
|
162 |
+
<?php esc_html_e( 'Select a File', 'one-click-demo-import' ); ?>
|
163 |
+
</label>
|
164 |
+
<input id="ocdi__widget-file-upload" type="file" class="ocdi-hide-input" name="widget-file-upload">
|
165 |
+
</div>
|
166 |
+
</div>
|
167 |
|
168 |
+
<div class="ocdi__file-upload ocdi__card ocdi__card--<?php echo esc_attr( $first_row_class ); ?>">
|
169 |
+
<div class="ocdi__card-content">
|
170 |
+
<label for="ocdi__customizer-file-upload">
|
171 |
+
<div class="ocdi-icon-container">
|
172 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/brush.svg' ); ?>" class="ocdi-icon--brush" alt="<?php esc_attr_e( 'Customizer import icon', 'one-click-demo-import' ); ?>">
|
173 |
+
</div>
|
174 |
+
<h3><?php esc_html_e( 'Import Customizer', 'one-click-demo-import' ); ?></h3>
|
175 |
+
<p><?php esc_html_e( 'Select a DAT file to import.', 'one-click-demo-import' ); ?></p>
|
176 |
+
</label>
|
177 |
+
<a href="https://ocdi.com/user-guide/#import-customizer" target="_blank" rel="noopener noreferrer" class="ocdi__card-content-info">
|
178 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/info-circle.svg' ); ?>" alt="<?php esc_attr_e( 'Info icon', 'one-click-demo-import' ); ?>">
|
179 |
+
</a>
|
180 |
+
</div>
|
181 |
+
<div class="ocdi__card-footer">
|
182 |
+
<label for="ocdi__customizer-file-upload" class="button button-primary custom-file-upload-button">
|
183 |
+
<?php esc_html_e( 'Select a File', 'one-click-demo-import' ); ?>
|
184 |
+
</label>
|
185 |
+
<input id="ocdi__customizer-file-upload" type="file" class="ocdi-hide-input" name="customizer-file-upload">
|
186 |
+
</div>
|
187 |
+
</div>
|
188 |
|
189 |
+
<?php if ( class_exists( 'ReduxFramework' ) ) : ?>
|
190 |
+
<div class="ocdi__file-upload ocdi__card ocdi__card--<?php echo esc_attr( $first_row_class ); ?>">
|
191 |
+
<div class="ocdi__card-content">
|
192 |
+
<label for="ocdi__redux-file-upload">
|
193 |
+
<div class="ocdi-icon-container">
|
194 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/redux.svg' ); ?>" class="ocdi-icon--redux" alt="<?php esc_attr_e( 'Redux import icon', 'one-click-demo-import' ); ?>">
|
195 |
+
</div>
|
196 |
+
<h3><?php esc_html_e( 'Import Redux', 'one-click-demo-import' ); ?></h3>
|
197 |
+
<p><?php esc_html_e( 'Select a JSON file and enter Redux option name.', 'one-click-demo-import' ); ?></p>
|
198 |
+
</label>
|
199 |
+
<a href="https://ocdi.com/user-guide/#import-redux" target="_blank" rel="noopener noreferrer" class="ocdi__card-content-info">
|
200 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/info-circle.svg' ); ?>" alt="<?php esc_attr_e( 'Info icon', 'one-click-demo-import' ); ?>">
|
201 |
+
</a>
|
202 |
+
</div>
|
203 |
+
<div class="ocdi__card-footer">
|
204 |
+
<label for="ocdi__redux-file-upload" class="button button-primary custom-file-upload-button">
|
205 |
+
<?php esc_html_e( 'Select a File', 'one-click-demo-import' ); ?>
|
206 |
+
</label>
|
207 |
+
<input id="ocdi__redux-file-upload" type="file" class="ocdi-hide-input" name="redux-file-upload">
|
208 |
+
<input id="ocdi__redux-option-name" class="ocdi__redux-option-name-input" type="text" name="redux-option-name" placeholder="<?php esc_attr_e( 'Enter Option Name', 'one-click-demo-import' ); ?>">
|
209 |
+
</div>
|
210 |
</div>
|
211 |
+
<?php endif; ?>
|
212 |
+
|
213 |
</div>
|
214 |
+
<div class="ocdi__file-upload-container-items ocdi__file-upload-container-items--second-row">
|
215 |
+
<div class="ocdi__recommended-plugins ocdi__card ocdi__card--three">
|
216 |
+
<div class="ocdi__card-content">
|
217 |
+
<label>
|
218 |
+
<div class="ocdi-icon-container">
|
219 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/plugins.svg' ); ?>" class="ocdi-icon--plugins" alt="<?php esc_attr_e( 'Recommended plugins icon', 'one-click-demo-import' ); ?>">
|
220 |
+
</div>
|
221 |
+
<h3><?php esc_html_e( 'Recommended Plugins', 'one-click-demo-import' ); ?></h3>
|
222 |
+
<p><?php esc_html_e( 'Install our recommended plugins.', 'one-click-demo-import' ); ?></p>
|
223 |
+
</label>
|
224 |
+
<a href="https://ocdi.com/user-guide/#recommended-plugins" target="_blank" rel="noopener noreferrer" class="ocdi__card-content-info">
|
225 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/info-circle.svg' ); ?>" alt="<?php esc_attr_e( 'Info icon', 'one-click-demo-import' ); ?>">
|
226 |
+
</a>
|
227 |
+
</div>
|
228 |
+
<div class="ocdi__card-footer">
|
229 |
+
<a href="<?php echo esc_url( $this->get_plugin_settings_url( array( 'step' => 'install-plugins' ) ) ); ?>" class="button button-secondary"><?php esc_html_e( 'Install Plugins', 'one-click-demo-import' ); ?></a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
230 |
</div>
|
231 |
</div>
|
|
|
|
|
|
|
|
|
|
|
232 |
|
233 |
+
<div class="ocdi__create-demo-content ocdi__card ocdi__card--three">
|
234 |
+
<div class="ocdi__card-content">
|
235 |
+
<label>
|
236 |
+
<div class="ocdi-icon-container">
|
237 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/copy.svg' ); ?>" class="ocdi-icon--copy" alt="<?php esc_attr_e( 'Create demo content icon', 'one-click-demo-import' ); ?>">
|
238 |
+
</div>
|
239 |
+
<h3><?php esc_html_e( 'Create Demo Content', 'one-click-demo-import' ); ?></h3>
|
240 |
+
<p><?php esc_html_e( 'Create useful content with a few clicks.', 'one-click-demo-import' ); ?></p>
|
241 |
+
</label>
|
242 |
+
<a href="https://ocdi.com/user-guide/#create-demo-content" target="_blank" rel="noopener noreferrer" class="ocdi__card-content-info">
|
243 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/info-circle.svg' ); ?>" alt="<?php esc_attr_e( 'Info icon', 'one-click-demo-import' ); ?>">
|
244 |
+
</a>
|
245 |
+
</div>
|
246 |
+
<div class="ocdi__card-footer">
|
247 |
+
<a href="<?php echo esc_url( $this->get_plugin_settings_url( array( 'step' => 'create-content' ) ) ); ?>" class="button button-secondary"><?php esc_html_e( 'Create Content', 'one-click-demo-import' ); ?></a>
|
248 |
+
</div>
|
249 |
+
</div>
|
250 |
|
251 |
+
<div class="ocdi__create-landing-pages ocdi__card ocdi__card--three">
|
252 |
+
<div class="ocdi__card-content">
|
253 |
+
<label>
|
254 |
+
<div class="ocdi-icon-container">
|
255 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/layout.svg' ); ?>" class="ocdi-icon--layout" alt="<?php esc_attr_e( 'Create landing pages icon', 'one-click-demo-import' ); ?>">
|
256 |
+
</div>
|
257 |
+
<h3><?php esc_html_e( 'Create Landing Pages', 'one-click-demo-import' ); ?></h3>
|
258 |
+
<p><?php esc_html_e( 'Create beautiful converting pages.', 'one-click-demo-import' ); ?></p>
|
259 |
+
</label>
|
260 |
+
<a href="https://ocdi.com/user-guide/#create-landing-pages" target="_blank" rel="noopener noreferrer" class="ocdi__card-content-info">
|
261 |
+
<img src="<?php echo esc_url( OCDI_URL . 'assets/images/icons/info-circle.svg' ); ?>" alt="<?php esc_attr_e( 'Info icon', 'one-click-demo-import' ); ?>">
|
262 |
+
</a>
|
263 |
+
</div>
|
264 |
+
<div class="ocdi__card-footer">
|
265 |
+
<?php
|
266 |
+
$plugin_installer = new PluginInstaller();
|
267 |
+
$seedprod_active = $plugin_installer->is_plugin_active( 'coming-soon' );
|
268 |
+
?>
|
269 |
+
<a href="#" class="button button-secondary js-ocdi-install-coming-soon-plugin<?php echo empty( $seedprod_active ) ? '' : ' button-disabled'; ?>">
|
270 |
+
<?php echo empty( $seedprod_active ) ? esc_html__( 'Install Plugin', 'one-click-demo-import' ) : esc_html__( 'Installed', 'one-click-demo-import' ); ?>
|
271 |
+
</a>
|
272 |
+
</div>
|
273 |
+
</div>
|
274 |
+
</div>
|
275 |
+
<div class="ocdi__file-upload-container--footer">
|
276 |
+
<button class="ocdi__button button button-hero js-ocdi-cancel-manual-import" disabled><?php esc_html_e( 'Cancel', 'one-click-demo-import' ); ?></button>
|
277 |
+
<button class="ocdi__button button button-hero button-primary js-ocdi-start-manual-import" disabled><?php esc_html_e( 'Continue & Import', 'one-click-demo-import' ); ?></button>
|
278 |
+
</div>
|
279 |
+
</div>
|
280 |
|
281 |
+
<?php elseif ( 1 === count( $predefined_themes ) ) : ?>
|
282 |
+
|
283 |
+
<div class="ocdi__demo-import-notice js-ocdi-demo-import-notice"><?php
|
284 |
+
if ( is_array( $predefined_themes ) && ! empty( $predefined_themes[0]['import_notice'] ) ) {
|
285 |
+
echo wp_kses_post( $predefined_themes[0]['import_notice'] );
|
286 |
+
}
|
287 |
+
?></div>
|
288 |
+
|
289 |
+
<p class="ocdi__button-container">
|
290 |
+
<a href="<?php echo esc_url( $this->get_plugin_settings_url( [ 'step' => 'import', 'import' => 0 ] ) ); ?>" class="ocdi__button button button-hero button-primary"><?php esc_html_e( 'Import Demo Data', 'one-click-demo-import' ); ?></a>
|
291 |
+
</p>
|
292 |
+
|
293 |
+
<?php else : ?>
|
294 |
+
|
295 |
+
<!-- OCDI grid layout -->
|
296 |
+
<div class="ocdi__gl js-ocdi-gl">
|
297 |
+
<?php
|
298 |
+
// Prepare navigation data.
|
299 |
+
$categories = Helpers::get_all_demo_import_categories( $predefined_themes );
|
300 |
+
?>
|
301 |
+
<?php if ( ! empty( $categories ) ) : ?>
|
302 |
+
<div class="ocdi__gl-header js-ocdi-gl-header">
|
303 |
+
<nav class="ocdi__gl-navigation">
|
304 |
+
<ul>
|
305 |
+
<li class="active"><a href="#all" class="ocdi__gl-navigation-link js-ocdi-nav-link"><span><?php esc_html_e( 'All Demos', 'one-click-demo-import' ); ?></span></a></li>
|
306 |
+
<?php foreach ( $categories as $key => $name ) : ?>
|
307 |
+
<li>
|
308 |
+
<a href="#<?php echo esc_attr( $key ); ?>" class="ocdi__gl-navigation-link js-ocdi-nav-link">
|
309 |
+
<span>
|
310 |
+
<?php echo esc_html( $name ); ?>
|
311 |
+
</span>
|
312 |
+
</a>
|
313 |
+
</li>
|
314 |
+
<?php endforeach; ?>
|
315 |
+
</ul>
|
316 |
+
</nav>
|
317 |
+
<div clas="ocdi__gl-search">
|
318 |
+
<input type="search" class="ocdi__gl-search-input js-ocdi-gl-search" name="ocdi-gl-search" value="" placeholder="<?php esc_html_e( 'Search Demos...', 'one-click-demo-import' ); ?>">
|
319 |
+
</div>
|
320 |
+
</div>
|
321 |
+
<?php else : ?>
|
322 |
+
<hr>
|
323 |
+
<?php endif; ?>
|
324 |
+
<div class="ocdi__gl-item-container js-ocdi-gl-item-container">
|
325 |
+
<?php foreach ( $predefined_themes as $index => $import_file ) : ?>
|
326 |
+
<?php
|
327 |
+
// Prepare import item display data.
|
328 |
+
$img_src = isset( $import_file['import_preview_image_url'] ) ? $import_file['import_preview_image_url'] : '';
|
329 |
+
// Default to the theme screenshot, if a custom preview image is not defined.
|
330 |
+
if ( empty( $img_src ) ) {
|
331 |
+
$theme = wp_get_theme();
|
332 |
+
$img_src = $theme->get_screenshot();
|
333 |
+
}
|
334 |
+
|
335 |
+
?>
|
336 |
+
<div class="ocdi__gl-item js-ocdi-gl-item" data-categories="<?php echo esc_attr( Helpers::get_demo_import_item_categories( $import_file ) ); ?>" data-name="<?php echo esc_attr( strtolower( $import_file['import_file_name'] ) ); ?>">
|
337 |
+
<div class="ocdi__gl-item-image-container">
|
338 |
+
<?php if ( ! empty( $img_src ) ) : ?>
|
339 |
+
<img class="ocdi__gl-item-image" src="<?php echo esc_url( $img_src ) ?>">
|
340 |
+
<?php else : ?>
|
341 |
+
<div class="ocdi__gl-item-image ocdi__gl-item-image--no-image"><?php esc_html_e( 'No preview image.', 'one-click-demo-import' ); ?></div>
|
342 |
+
<?php endif; ?>
|
343 |
+
</div>
|
344 |
+
<div class="ocdi__gl-item-footer<?php echo ! empty( $import_file['preview_url'] ) ? ' ocdi__gl-item-footer--with-preview' : ''; ?>">
|
345 |
+
<h4 class="ocdi__gl-item-title" title="<?php echo esc_attr( $import_file['import_file_name'] ); ?>"><?php echo esc_html( $import_file['import_file_name'] ); ?></h4>
|
346 |
+
<span class="ocdi__gl-item-buttons">
|
347 |
+
<?php if ( ! empty( $import_file['preview_url'] ) ) : ?>
|
348 |
+
<a class="ocdi__gl-item-button button" href="<?php echo esc_url( $import_file['preview_url'] ); ?>" target="_blank"><?php esc_html_e( 'Preview Demo', 'one-click-demo-import' ); ?></a>
|
349 |
+
<?php endif; ?>
|
350 |
+
<a class="ocdi__gl-item-button button button-primary" href="<?php echo $this->get_plugin_settings_url( [ 'step' => 'import', 'import' => esc_attr( $index ) ] ); ?>"><?php esc_html_e( 'Import Demo', 'one-click-demo-import' ); ?></a>
|
351 |
+
</span>
|
352 |
+
</div>
|
353 |
+
</div>
|
354 |
+
<?php endforeach; ?>
|
355 |
+
</div>
|
356 |
+
</div>
|
357 |
+
<?php endif; ?>
|
358 |
+
</div>
|
359 |
</div>
|
360 |
|
361 |
<?php
|
362 |
/**
|
363 |
* Hook for adding the custom admin page footer
|
364 |
*/
|
365 |
+
Helpers::do_action( 'ocdi/plugin_page_footer' );
|