Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
962 lines (879 loc) · 103 KB
/
Copy pathindex.html
File metadata and controls
962 lines (879 loc) · 103 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Composer.json Schema CheatSheet - Dependency Manager for PHP</title>
<meta name="description" content="Fancy cheatsheet for Composer, the dependency manager of PHP" />
<meta name="keywords" content="help, documentation, cheat sheet, composer" />
<meta property="og:title" content="Composer.json Schema CheatSheet" />
<meta property="og:description" content="Interactive cheatsheet for Composer, the dependency manager of PHP." />
<meta property="og:type" content="website" />
<link rel="stylesheet" type="text/css" href="schema-explorer.css?v1">
<style>
:root {
--page-bg: #f8f8f8;
--card-bg: #ffffff;
--border: #e5e7eb;
--text: #1f2937;
--muted: #6b7280;
--accent: #d73a49;
--code-bg: #f6f8fa;
--hover-bg: #fffbcc;
--radius: 12px;
}
* { box-sizing: border-box; }
body {
margin: 0;
background-color: var(--page-bg);
color: var(--text);
font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
line-height: 1.6;
}
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 1.25rem 2rem;
}
.hero {
padding: 3rem 0 1.5rem;
}
.hero h1 {
margin: 0 0 0.5rem;
font-size: clamp(1.75rem, 4vw, 2.5rem);
line-height: 1.2;
}
.hero p {
margin: 0.25rem 0;
max-width: 60rem;
color: var(--muted);
}
.hero code {
background: var(--code-bg);
border: 1px solid var(--border);
border-radius: 4px;
padding: 0 4px;
font-size: 0.9em;
}
section { margin: 2.5rem 0; }
section > h2 {
margin: 0 0 1rem;
font-size: 1.4rem;
padding-bottom: 0.4rem;
border-bottom: 1px solid var(--border);
}
.card {
background-color: var(--card-bg);
border: 1px solid var(--border);
border-radius: 12px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
padding: 1.25rem;
}
.installer pre {
margin: 0;
background: var(--code-bg);
border-radius: 8px;
padding: 1rem 1.25rem;
overflow-x: auto;
font-family: ui-monospace, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
font-size: 0.95rem;
}
.layout {
display: grid;
grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
gap: 1.5rem;
align-items: start;
}
.sticky-col {
position: sticky;
top: 1rem;
}
pre.commands {
margin: 0 0 1.5rem;
background: var(--code-bg);
border-radius: 8px;
padding: 0.75rem 1rem;
overflow-x: auto;
font-family: ui-monospace, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
font-size: 0.9rem;
line-height: 1.5;
}
pre.commands:last-child { margin-bottom: 0; }
.pair {
display: block;
padding: 0 0.35rem;
border-radius: 6px;
cursor: pointer;
}
.pair:hover,
.pair:focus-visible {
background-color: var(--hover-bg);
outline: none;
}
.pair .key {
color: var(--accent);
font-weight: 600;
}
.docs-placeholder {
color: var(--muted);
text-align: center;
padding: 1.5rem 0.5rem;
}
.docs-title {
font-weight: 600;
font-size: 1.1rem;
margin-bottom: 0.5rem;
}
.docs-content code {
background: var(--code-bg);
border: 1px solid var(--border);
border-radius: 4px;
padding: 0 4px;
font-size: 0.9em;
display: inline-block;
}
.docs-content pre {
background: var(--code-bg);
border-radius: 6px;
padding: 0.75rem;
overflow-x: auto;
font-size: 0.85rem;
line-height: 1.6;
}
.docs-content code .key,
pre.commands code .key { color: var(--accent); }
@media (max-width: 1023px) {
.layout {
grid-template-columns: minmax(0, 1fr);
}
.sticky-col {
position: static;
}
}
@media (max-width: 640px) {
.hero { padding-top: 2rem; }
.card { padding: 1rem; }
pre.commands { font-size: 0.85rem; }
}
</style>
</head>
<body>
<div class="container">
<header class="hero">
<h1>Composer Cheat Sheet for developers</h1>
<p>Composer is the dependency manager for PHP and you are on a one-page-only documentation for this tool.
Official documentation is on the <a href="https://getcomposer.org">official website</a>,
this page just brings you the essential.</p>
<p>This is an interactive guide for exploring various important properties of the
<code>composer.json</code> file: hover over any property of the example below to
see its documentation.</p>
</header>
<section id="installer">
<h2>One line installer</h2>
<div class="card installer">
<pre>curl -sS https://getcomposer.org/installer | php</pre>
</div>
</section>
<section id="cli">
<h2>composer.phar most needed command line</h2>
<div class="layout">
<div>
<div class="card">
<pre class="commands"><span class="pair">$ composer <span class="key" data-prefix="phar-">require</span> <span class="value"><package></span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">install</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">update</span> <span class="value"><package></span></span><span class="pair">$ composer <span class="key" data-key="phar-update-lock">update --lock</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">dump-autoload</span> <span class="value">--optimize</span></span></pre>
</div>
<h2>Other commands</h2>
<div class="card">
<pre class="commands"><span class="pair">$ composer <span class="key" data-prefix="phar-">about</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">archive</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">audit</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">browse</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">bump</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">check-platform-reqs</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">clear-cache</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">config</span> <span class="value"><option></span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">create-project</span> <span class="value"><package> <directory></span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">depends</span> <span class="value"><package></span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">diagnose</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">exec</span> <span class="value"><binary></span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">fund</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">global</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">help</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">info</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">init</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">licenses</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">list</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">outdated</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">policy</span> <span class="value"><package></span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">prohibits</span> <span class="value"><package></span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">remove</span> <span class="value"><package></span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">reinstall</span> <span class="value"><package></span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">repo</span> <span class="value">add <name> <type> <url></span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">run-script</span> <span class="value"><script></span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">search</span> <span class="value"><keywords></span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">self-update</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">show</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">status</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">suggests</span></span><span class="pair">$ composer <span class="key" data-prefix="phar-">validate</span></span></pre>
</div>
</div>
<div class="sticky-col">
<div class="card">
<div id="cli-docs">
<p class="docs-placeholder">Hover over a command to see its documentation.</p>
</div>
</div>
</div>
</div>
</section>
<section id="schema">
<h2>composer.json file</h2>
<div class="layout">
<div class="card">
<div id="panel-schema"></div>
</div>
<div class="sticky-col">
<div class="card">
<div id="panel-documentation"></div>
</div>
</div>
</div>
</section>
</div>
<div id="snippet-joli-footer">
<style>
#snippet-joli-footer {
&,
*,
::before,
::after,
::backdrop {
&:where(:not(path)) {
all: revert;
}
box-sizing: border-box;
padding: 0;
margin: 0;
border: 0 solid;
}
a {
color: inherit;
text-decoration: inherit;
}
:-moz-focusring {
outline: auto;
}
ul {
list-style: none;
}
svg {
display: block;
max-inline-size: 100%;
block-size: auto;
vertical-align: middle;
}
& {
--jf-font-primary: Verdana, sans-serif;
--jf-color-primary: #f7d325;
--jf-color-gray-900: #2b2b2a;
--jf-color-black: #000;
--jf-color-white: #fff;
--jf-spacing-3xs: 2px;
--jf-spacing-2xs: 4px;
--jf-spacing-xs: 8px;
--jf-spacing-sm: 16px;
--jf-spacing-md: 24px;
--jf-spacing-lg: 32px;
--jf-spacing-xl: 40px;
--jf-spacing-2xl: 48px;
--jf-spacing-3xl: 56px;
--jf-spacing-4xl: 64px;
--jf-spacing-5xl: 72px;
--jf-text-xs: 10px;
--jf-text-sm: 12px;
--jf-text-base: 14px;
--jf-font-weight-normal: 400;
--jf-font-weight-bold: 700;
--jf-leading-normal: 1.5;
--jf-footer-spacing: var(--jf-spacing-md);
--jf-ribbon-transform-translate-y: var(--jf-spacing-xs);
--jf-ribbon-inner-clip-path-block-size: var(--jf-spacing-sm);
--jf-ribbon-inner-padding-block: var(--jf-spacing-xs);
--jf-ribbon-inner-border-radius: var(--jf-spacing-3xs);
--jf-social-media-icon-block-size: var(--jf-spacing-lg);
@media (prefers-reduced-motion: no-preference) {
--transition-duration: 0.2s;
}
@container (inline-size < 768px) {
.jf-footer {
--jf-footer-grid-template-columns: 1;
--jf-footer-spacing: var(--jf-spacing-sm);
--jf-footer-background-position:
calc(0% - var(--jf-footer-spacing)) 15%,
5% calc(100% - var(--jf-footer-spacing));
--jf-footer-background-size: var(--jf-spacing-2xl), var(--jf-spacing-3xl);
--jf-illustration-display: none;
--jf-contact-align-items: center;
--jf-ribbon-position: absolute;
--jf-ribbon-inset-block-start: 0;
--jf-ribbon-inset-inline-end: var(--jf-footer-spacing);
--jf-ribbon-margin-block-start: 0;
--jf-ribbon-transform-scale: 0.6;
--jf-goodies-top: 70%;
--jf-goodies-right: var(--jf-footer-spacing);
--jf-goodies-width: var(--jf-spacing-md);
}
}
container-type: inline-size;
font-variation-settings: normal;
font-feature-settings: normal;
text-size-adjust: 100%;
}
.jf-footer {
position: relative;
display: grid;
grid-template-columns: repeat(var(--jf-footer-grid-template-columns, 3), minmax(0, 1fr));
gap: var(--jf-footer-spacing);
padding: var(--jf-footer-spacing);
font-family: var(--jf-font-primary);
font-size: var(--jf-text-base);
font-weight: var(--jf-font-weight-normal);
line-height: var(--jf-leading-normal);
color: var(--jf-color-white);
background-color: var(--jf-color-gray-900);
background-image:
url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 58 58"%3E%3Cpath fill="%23ffd502" fill-rule="evenodd" d="M3.89 14.576C-4.106 28.466.64 46.16 14.33 53.974c13.868 8.105 31.59 3.625 39.559-10.43 8.922-15.75 2.01-32.765-10.832-39.932C29.635-3.878 11.967.521 3.889 14.576m41.087 7.183c.013-.183.028-.394.044-.65 2.304 5.405-.076 12.907-5.106 17.602-5.925 5.546-15.292 7.371-21.57 3.747l.86.084h.003q.633.063 1.269.122c7.09.66 13.354-1.253 18.535-6.204 3.933-3.753 6.053-8.36 5.927-13.885a9 9 0 0 1 .038-.816m-13.264 3.65c.128.017.269.05.412.083.33.077.67.156.88.036.302-.171.58-.868.468-1.2a19.86 19.86 0 0 0-4.796-7.714c-.264-.265-.98-.388-1.281-.216-.302.171-.56.855-.46 1.21.84 3.008 2.487 5.543 4.777 7.801m-11.69 6.935c-.224-.038-.47-.079-.732-.1q-.67-1.084-1.352-2.16c-.913-1.446-1.825-2.89-2.67-4.373-.153-.27-.015-.704.123-1.138.063-.2.126-.399.161-.582.185.044.397.068.61.092.455.052.91.103 1.085.352 1.479 2.097 2.85 4.272 4.156 6.48.191.327-.009 1.21-.313 1.414-.228.155-.601.093-1.068.015"/%3E%3C/svg%3E'),
url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 77 73"%3E%3Cpath fill="%23a1e3ff" d="M41.8 56.81c-2.652-6.2-7.699-10.001-13.09-13.862.53-.813.995-1.622 1.55-2.362 1.313-1.75 2.71-3.437 4-5.205a21.8 21.8 0 0 0 3.341-6.688c.83-2.777 2.212-5.39 3.383-8.06 1.987-4.528 3.94-9.073 6.023-13.557a29.2 29.2 0 0 1 2.96-5.007c1.566-2.114 3.307-2.53 5.295-1.6 1.897.886 2.922 2.74 2.311 5.08a94 94 0 0 1-3.29 10.164c-2.511 6.416-5.25 12.74-7.821 19.132-.38.943-1.542 2.192-.29 3.01 1.055.697 1.88-.68 2.572-1.334 4.477-4.236 8.883-8.544 13.289-12.85 1.683-1.642 3.244-3.41 4.983-4.991a10.1 10.1 0 0 1 3.054-1.888c1.949-.755 3.678-.173 5.047 1.371 1.14 1.291 1.3 3.252.039 4.964a64 64 0 0 1-5.777 6.88C63.13 36.373 56.782 42.64 50.437 48.912c-2.421 2.392-4.935 4.693-7.42 7.024a12 12 0 0 1-1.217.874M10.875 53.417q.578.102 1.165.126c4.462-.112 8.683.935 12.784 2.601.833.339 1.917 1.218 2.538-.063.585-1.2-.777-1.561-1.461-2.17-1.02-.92-2.192-1.724-3.05-2.77a6 6 0 0 1-1.286-2.803c-.329-2.214 1.462-3.962 3.705-3.692.88.12 1.728.413 2.494.862A34.5 34.5 0 0 1 37.2 53.48c3.507 4.267 3.083 9.8-.96 13.564a20.17 20.17 0 0 1-11.487 5.4c-3.98.487-7.603-.619-10.59-3.313-3.434-3.098-6.778-6.286-10.677-8.827C1.452 58.98.599 56.869.212 54.55c-.521-3.127-.041-6.155.999-9.1a41.3 41.3 0 0 1 5.015-9.7c.229-.33.338-.731.57-1.27 2.66 4.36 3.083 4.519 9.335 3.773-.012 2.818.317 5.578 3.54 6.82-1.218 2.33-.578 4.496.343 6.805-3.279-.114-6.447-.86-9.226.991.034.2.06.368.087.548"/%3E%3Cpath fill="%23a1e3ff" d="M18.627 40.06c.113-2.514.975-4.175 2-5.731 1.525-2.295 3.15-4.523 4.723-6.783 1.081-1.554 2.616-2.383 4.42-2.765 1.662-.35 3.02.17 4.141 1.447 1.12 1.276 1.172 2.618.487 4.065-.316.744-.696 1.46-1.135 2.138-1.461 2.046-3.144 3.949-4.423 6.09-1.659 2.786-4.314 3.753-7.148 4.457-.568.14-1.537-.195-1.905-.648-.646-.762-.938-1.8-1.16-2.27M20.369 19.863c3.05-.02 4.93 2.54 3.836 4.979-1.739 3.877-4.162 7.329-7.494 9.986a8.3 8.3 0 0 1-3.734 1.554c-2.049.334-3.364-.909-3.098-2.962.214-1.644.67-3.385 1.503-4.796 1.349-2.28 3.02-4.384 4.703-6.444a6.42 6.42 0 0 1 4.284-2.317"/%3E%3C/svg%3E');
background-repeat: no-repeat;
background-position: var(--jf-footer-background-position, 75% 25%, 75% 75%);
background-size: var(--jf-footer-background-size, var(--jf-spacing-3xl), var(--jf-spacing-5xl));
}
.jf-illustration {
display: var(--jf-illustration-display);
align-self: end;
margin-block-end: calc(var(--jf-footer-spacing) * -1);
margin-inline-start: calc(var(--jf-footer-spacing) * -1);
}
.jf-main {
display: grid;
gap: inherit;
align-self: center;
justify-items: center;
text-align: center;
}
.jf-contact {
display: flex;
flex-direction: column;
gap: inherit;
align-items: var(--jf-contact-align-items, end);
}
.jf-ribbon {
position: var(--jf-ribbon-position, relative);
inset-block-start: var(--jf-ribbon-inset-block-start);
inset-inline-end: var(--jf-ribbon-inset-inline-end);
z-index: 0;
display: grid;
margin-block-start: var(--jf-ribbon-margin-block-start, calc(var(--jf-footer-spacing) * -1));
transform: scale(var(--jf-ribbon-transform-scale));
transform-origin: 100% 0;
}
.jf-ribbon__link {
padding-block: var(--jf-spacing-3xs);
padding-inline: var(--jf-spacing-2xs);
font-size: var(--jf-text-xs);
font-weight: var(--jf-font-weight-bold);
color: var(--jf-color-gray-900);
text-transform: uppercase;
background-color: var(--jf-color-primary);
&:hover,
&:focus-visible,
&:active {
~ * {
--jf-ribbon-inner-transform-translate-y: 0;
}
}
&::after {
position: absolute;
inset: 0;
content: '';
}
}
.jf-ribbon__inner {
position: relative;
z-index: -10;
display: grid;
justify-items: center;
padding-block: calc(
var(--jf-ribbon-transform-translate-y) +
var(--jf-ribbon-inner-padding-block)
)
calc(
var(--jf-ribbon-inner-clip-path-block-size) +
var(--jf-ribbon-inner-padding-block)
);
color: var(--jf-color-gray-900);
background-color: var(--jf-color-white);
border-end-start-radius: var(--jf-ribbon-inner-border-radius);
border-end-end-radius: var(--jf-ribbon-inner-border-radius);
clip-path: polygon(
50% calc(100% - var(--jf-ribbon-inner-clip-path-block-size)),
100% calc(100% + var(--jf-ribbon-inner-border-radius)),
100% 0,
0 0,
0 calc(100% + var(--jf-ribbon-inner-border-radius))
);
transform: translateY(
calc(var(--jf-ribbon-inner-transform-translate-y, var(--jf-ribbon-transform-translate-y)) * -1)
);
transition: var(--transition-duration);
}
.jf-social-media-icons {
display: flex;
gap: var(--jf-spacing-xs);
margin-block-start: auto;
}
.jf-social-media-icon {
display: grid;
place-content: center;
block-size: var(--jf-social-media-icon-block-size);
aspect-ratio: 1;
color: var(--social-media-icon-color);
background-color: var(--social-media-icon-background-color, var(--jf-color-black));
border-radius: 50%;
&:hover,
&:focus-visible,
&:active {
--social-media-icon-color: var(--jf-color-gray-900);
--social-media-icon-background-color: var(--jf-color-white);
}
}
.jf-goodies {
position: absolute;
top: var(--jf-goodies-top, 40%);
right: var(--jf-goodies-right, 15%);
width: var(--jf-goodies-width, var(--jf-spacing-lg));
aspect-ratio: 1;
background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 35"%3E%3Cpath fill="%23ff5b5b" d="M5.054 34.773c-.246-.648-.412-.964-.473-1.278C3.192 26.95 1.782 20.405.449 13.847c-.588-2.893-.665-5.787.176-8.69C2.433-1.08 8.522-.893 11.76 1.693c1.79 1.428 2.986 3.288 3.94 5.335.264.569.506 1.149.736 1.732.541 1.363 1.577 1.879 2.984 1.766 1.406-.113 2.773-.28 4.164-.362a9.95 9.95 0 0 1 5.055 1.09c3.963 1.966 5.372 6.033 3.546 10.072a10.27 10.27 0 0 1-4.822 5.043 60 60 0 0 1-6.505 2.84c-4.518 1.653-9.09 3.167-13.626 4.753-.724.236-1.43.528-2.178.81"/%3E%3C/svg%3E');
background-repeat: no-repeat;
background-size: contain;
}
.jf-link {
text-decoration: underline;
}
.jf-link--icon {
display: inline-flex;
gap: var(--jf-spacing-2xs);
align-items: center;
vertical-align: top;
}
.jf-text-sm {
font-size: var(--jf-text-sm);
}
.jf-sr-only {
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
position: absolute;
overflow: hidden;
}
}
</style>
<footer class="jf-footer">
<div class="jf-illustration">
<svg width="468" height="233" viewBox="0 0 468 233" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg">
<path fill="#ffd502" d="M69.377 283.363c-1.379 3.356-2.764 6.729-4.232 10.094a14525 14525 0 0 0-22.038-6.619c-18.218-5.462-36.422-10.92-54.665-16.572q.149-.447.28-.848c.265-.809.49-1.498.748-2.175a389 389 0 0 1 2.794-7.224q1.448-3.617 2.888-7.236c2.601-6.53 5.202-13.059 7.902-19.549 4.812-11.561 12.31-21.027 22.711-28.092 2.317-1.574 3.256-2.415 4.353-2.78 1.19-.396 2.567-.232 6.096.162.349.033.689.101 1.037.17l.2.039c10.098 2.019 18.645 6.921 25.89 14.132 6.931 6.9 11.412 15.273 14.217 24.566.6 1.989 1.056 4.02 1.514 6.051.21.938.422 1.876.647 2.809a60.5 60.5 0 0 0-7.606-23.662c-4.207-7.413-10.134-13.214-17.415-18.147a4333 4333 0 0 0 7.808-5.653c10.108-7.328 20.07-14.55 30.272-21.45q.596.354 1.15.676c.718.419 1.39.813 2.053 1.228 8.633 5.356 17.713 9.773 27.401 12.878 6.014 1.929 12.161 3.17 18.515 2.946 2.799-.099 5.56-.481 8.055-1.948 2.83-1.656 4.109-4.189 3.425-7.407-.297-1.399-.855-2.751-1.407-4.088l-.257-.627c-.289-.707-.651-1.384-1.068-2.164a70 70 0 0 1-.662-1.257q.65.267 1.269.597a938 938 0 0 0 4.957 3.119c3.901 2.444 7.803 4.888 11.621 7.454 10.711 7.199 18.684 16.893 25.009 28.029 5.708 10.048 10.222 20.623 13.8 31.602.681 2.089 1.312 4.196 1.959 6.355.314 1.048.631 2.107.96 3.184l-13.883 2.438c-.079-.278-.151-.497-.212-.684a6 6 0 0 1-.176-.603 156 156 0 0 0-5.197-19.181l-.446-1.289c-2.36-6.823-4.718-13.641-7.164-20.43-.488-1.348-1.139-2.647-1.79-3.946-.299-.597-.598-1.193-.881-1.794-.096.434-.052.886.124 1.294q1.07 3.219 2.15 6.434c1.652 4.931 3.305 9.862 4.888 14.817 2.524 7.908 4.962 15.839 6.538 24.015 2.522 13.077 3.309 26.3 3.334 39.585 0 .307-.043.615-.094.985a22 22 0 0 0-.082.642c-43.581 4.939-87.179 7.442-131.017 5.45-.331-2.696.468-4.899 1.262-7.089l.033-.091c1.068-2.922 1.697-5.801-.4-8.176q.71-1.665 1.395-3.284c1.29-3.042 2.534-5.977 3.827-8.89a9 9 0 0 1 1.724-2.53c1.666-1.731 3.36-3.432 5.053-5.133a656 656 0 0 0 3.332-3.362c.236-.244.413-.542.59-.838.086-.142.17-.284.261-.42-2.469 1.313-4.5 3.102-6.54 4.897-.645.568-1.291 1.137-1.952 1.692.501-1.528 1.078-3.011 1.653-4.486.46-1.182.918-2.36 1.334-3.552.27-.771.572-1.532.874-2.294.718-1.811 1.437-3.624 1.724-5.578-4.075 7.308-7.24 15.012-10.443 22.808m10.77-31.047h-.118v1.327h.195z" />
<path fill="#f0cdb5" d="m126.071 91.585-.134-.516-.002-.006-.001-.003-.395-1.526c-.877-3.44-2.413-6.562-4.782-9.203-2.654-2.96-5.904-4.68-10.019-4.071-4.589.679-7.824 3.907-8.654 8.47a14.56 14.56 0 0 0 .419 7.238c2.661 8.134 8 13.252 16.612 14.623.995.157 1.996.271 3.093.394.538.061 1.099.125 1.693.197-1.157.585-2.283.633-3.377.68-.689.029-1.364.057-2.027.219q-.147 1.239-.284 2.469v.001c-.204 1.814-.407 3.618-.678 5.411-.749 4.96-2.212 9.675-5.306 13.721-3.273 4.277-7.227 7.575-12.814 8.283-.983.124-1.243.797-1.44 1.549a526 526 0 0 0-1.589 6.271v.003l-.057.225c-1.572 6.29-3.3 12.552-5.677 18.604-.782 1.988-.43 3.665 1.226 5.071 3.745 3.181 7.864 5.81 12.195 8.08 8.912 4.669 18.03 8.851 27.782 11.53 1.619.444 3.293.702 4.96.959l.581.09a7.7 7.7 0 0 0 2.294-.038c2.893-.436 3.866-1.765 3.354-4.646-.39-2.17-.836-4.33-1.282-6.492l-.395-1.923c-.491-2.444-.308-4.866.27-7.266q2.334-9.665 4.682-19.325c.056-.233.101-.47.158-.769q.035-.197.083-.436-.24-.095-.479-.192l-.001-.001h-.002c-.327-.133-.654-.266-.986-.38-.878-.299-1.762-.583-2.646-.867h-.001c-1.838-.591-3.677-1.182-5.458-1.911-7.079-2.897-11.589-8.281-14.339-15.276-.256-.648-.48-1.308-.704-1.968l-.001-.001c-.023-.071-.019-.151-.012-.296.006-.103.012-.238.012-.425.302.489.583.959.854 1.413.575.963 1.108 1.855 1.71 2.704l.307.436c1.302 1.848 2.609 3.704 4.073 5.422 3.207 3.773 7.354 6.153 12.038 7.637 7.756 2.459 15.605 4.403 23.815 3.939a25.7 25.7 0 0 0 6.721-1.392c3.608-1.222 6.044-3.88 7.784-7.226 2.128-4.088 3.034-8.522 3.761-12.998q.2-1.231.403-2.462c.407-2.486.815-4.97 1.182-7.46.38-2.579 1.717-4.239 4.132-5.33 1.816-.817 3.514-2.002 5.072-3.262 1.721-1.394 1.886-2.884.809-4.847-.555-1.003-1.187-1.968-1.819-2.93q-.375-.57-.743-1.143c-.66-1.038-1.33-2.07-2-3.103-1.494-2.306-2.989-4.61-4.382-6.975a15.97 15.97 0 0 1-1.993-11.496c.601-3.082 1.184-6.172 1.608-9.281.995-7.323-.669-14.139-4.158-20.57a9 9 0 0 0-.704-1.049c-.107-.146-.229-.28-.396-.466l-.304-.34c-6.415 4.892-13.696 7.32-21.874 7.351 3.071 1.732 11.893 1.816 19.865-.74-1.197 1.24-3.645 2.378-7.415 2.946-2.822.437-5.679.62-8.534.547-1.892-.058-3.776-.352-5.703-.652a109 109 0 0 0-2.683-.396l.059.222c.052.196.098.372.151.547.606 2.166.044 3.774-2.036 4.612-1.492.563-3.07.867-4.665.9-3.492.113-6.733-.998-9.853-2.501-.476-.23-.954-.455-1.561-.74h-.001l-.78-.365c.219.462.431.882.629 1.276.403.799.751 1.49.998 2.216.6 1.776 1.109 3.59 1.529 5.416.163.719.073 1.532-.059 2.274-.342 1.923-1.537 2.962-3.495 2.883-.817-.033-1.628-.21-2.487-.398-.422-.093-.856-.187-1.307-.269q.084.314.161.615c.084.324.166.638.258.949.885 2.889 1.509 5.822 1.329 8.86-.21 3.645-1.583 6.633-5.031 8.343a9 9 0 0 1-1.137.332m53.558-26.543c1.646 3.381-.126 6.467-3.646 6.754-2.912.24-5.847.302-8.769.262-4.338-.06-8.652-.088-12.868 1.15a6 6 0 0 1-1.233.209c-.851.059-1.71.07-2.157-.874-.419-.896-.063-1.694.532-2.292.839-.838 1.717-1.662 2.726-2.255 5.767-3.411 12.027-4.755 18.683-4.12 2.436.233 4.669.962 5.562 4.046zm-10.361 14.025c-3.115-1.132-7.97.323-10.316 3.212q.387-.112.732-.216c.485-.145.922-.276 1.366-.376q.25-.056.501-.115c.716-.168 1.436-.337 2.16-.369 2.522-.109 3.098.447 3.262 2.914q.018.3.029.604c.017.426.033.855.103 1.272.145.885.602 1.583 1.549 1.755.832.151 1.507-.197 1.985-.883 1.091-1.56 1.564-3.26 1.072-5.146a3.68 3.68 0 0 0-2.443-2.652m-51.373 16.601c-.234-.344-.439-.64-.623-.906-.361-.52-.641-.924-.895-1.343l-.91-1.49c-1.294-2.115-2.589-4.23-3.813-6.386a5.1 5.1 0 0 1-.677-3.6c.133.183.245.334.341.464.208.28.343.464.462.656 2.935 4.905 5.91 9.79 9.738 14.083.193.2.354.428.48.675.344.78-.107 1.436-.967 1.344a5.7 5.7 0 0 1-1.387-.436 310 310 0 0 1-5.631-2.239c-.807-.33-1.608-.679-2.408-1.028q-.564-.248-1.129-.492l.062-.192.001-.002.061-.19zm60.015 29.053c-7.967 1.782-18.533-4.537-18.893-11.321 4.696 6.516 10.947 10.08 18.893 11.321m8.254-14.675c-2.422 1.31-4.275 1.327-5.56.126 1.105-1.525 3.36-1.627 5.56-.135zm-5.87-39.029v.008zm1.886-2.613c-1.42.438-1.751 1.455-1.886 2.613.828.706 1.385.243 1.846-.286.602-.706.611-1.471.04-2.327" />
<path fill="#e27f24" d="m103.217 24.017-.052.132c-.064.168-.128.336-.249.431-6.455 5.047-11.644 11.2-16.017 18.093-5.316 8.385-10.144 17.018-14.06 26.146-.49 1.145-.96 2.3-1.429 3.453-.66 1.624-1.32 3.248-2.039 4.845-.839 1.887-1.06 3.713-.38 5.66.09.257.172.516.254.775.254.797.51 1.602.97 2.4.15-.671.291-1.345.433-2.018.298-1.419.597-2.838.966-4.234 3.396-12.839 8.596-24.782 17.61-34.767 5.2-5.768 11.111-10.594 18.579-13.187 4.402-1.528 8.97-1.992 13.606-1.92l.968.015c1.983.03 3.967.061 5.95.159 5.258.255 9.91-1.34 14.013-4.562 1.446-1.135 2.869-2.297 4.293-3.459 1.712-1.397 3.424-2.793 5.174-4.143 3.514-2.708 7.379-4.771 11.784-5.63a21 21 0 0 1 3.933-.322c-7.757.877-13.78 5.032-19.415 9.998a109 109 0 0 1-6.157 5.032c-4.386 3.323-9.407 4.356-14.82 3.968-4.461-.318-8.92-.333-13.367.325-7.31 1.082-13.346 4.65-18.815 9.413-5.33 4.64-9.57 10.16-13.072 16.235a90.8 90.8 0 0 0-10.656 28.486 10.42 10.42 0 0 0 .721 6.485c2.285 5.134 5.283 9.824 8.516 14.385.064.092.162.16.324.274.102.071.229.16.389.284 0-.292.002-.555.004-.799.004-.439.007-.817-.004-1.195-.269-9.08.702-18.029 3.773-26.585 4.153-11.57 10.864-21.383 21.158-28.387 5.849-3.984 12.406-6.262 19.4-7.365 7.637-1.206 15.304-.906 22.973-.598q1.233.05 2.466.104c5.521.238 11.046.476 16.569.033 7.061-.566 13.474-2.75 18.881-7.548 1.614-1.436 2.082-2.836 1.524-4.939-1.467-5.515-4.685-9.744-9.105-13.178A8.3 8.3 0 0 1 177.344 15c4.97 1.698 8.287 5.297 10.977 9.935.777-1.78 1.111-3.25.71-4.904-.983-4.065-3.419-7.1-6.568-9.687-.363-.3-.658-.682-.953-1.065a22 22 0 0 0-.296-.377c3.194 2.185 5.998 4.747 8.048 8.22a29 29 0 0 1-.175-.804c-.122-.584-.244-1.172-.439-1.731-1.049-3.042-3.145-5.23-5.87-6.864-3.464-2.096-7.281-3.224-11.235-3.805-12.103-1.778-23.491.296-33.996 6.677-.752.458-1.474.966-2.206 1.48-.941.663-1.899 1.336-2.96 1.931q.121-.195.239-.39c.165-.272.331-.544.512-.805.27-.386.552-.764.835-1.142.595-.796 1.189-1.59 1.66-2.453 1.419-2.604.545-4.958-2.168-6.193-2.163-.986-4.474-1.065-6.78-.95-7.415.373-13.943 3.241-19.973 7.356s-11.041 9.4-15.377 15.286c-1.161 1.584-2.267 3.2-3.42 4.884-.524.766-1.058 1.546-1.611 2.344-.091-1.01.318-1.688.701-2.322q.142-.232.27-.462c1.27-2.35 1.704-4.864 1.576-7.484l-.004-.08c-.064-1.302-.136-2.783-1.636-3.256-1.467-.463-2.503.659-3.377 1.642-1.992 2.232-3.157 4.933-3.983 7.757-.39 1.332-.697 2.685-1.005 4.039-.17.75-.34 1.502-.526 2.25-.11.446-.253.883-.395 1.32q-.097.295-.19.59l-.459.077a15 15 0 0 1-.752-1.28c-.31-.672-.604-1.35-.898-2.029-.565-1.303-1.13-2.605-1.8-3.852a8.85 8.85 0 0 0-3.67-3.646c-1.7-.912-2.708-.358-2.343 1.524a39.3 39.3 0 0 0 2.08 6.981c.465 1.181 1.148 2.267 1.832 3.352.287.457.574.913.845 1.376.08.138.18.269.28.399.16.208.32.414.393.65.134.418.27 1.047.059 1.335-.212.287-.856.322-1.302.297a40 40 0 0 1-1.995-.172c-1.207-.125-2.413-.25-3.607-.171-1.595.105-3.183.583-4.737 1.05l-.326.098c-.698.21-1.367.713-1.904 1.233-1.257 1.216-1.014 2.149.67 2.776a6.3 6.3 0 0 0 1.626.32c2.883.256 5.705-.121 8.518-.742.228-.05.46-.118.694-.186.866-.253 1.766-.515 2.66.046-.04.813-.55 1.027-1.039 1.233-.141.06-.28.118-.407.19-4.309 2.455-8.005 5.606-10.812 9.711a14.3 14.3 0 0 0-1.677 3.564c-.21.644-.21 1.658.176 2.13.559.708 1.35.284 2.024-.078l.249-.132a8 8 0 0 0 1.91-1.268 349 349 0 0 0 5.102-5.066l1.269-1.276c.173-.174.337-.36.5-.546.3-.34.598-.68.953-.942.237-.176.796-.122 1.086.046.184.107.21.629.173.93-.031.22-.219.427-.39.616l-.064.072c-3.103 3.506-4.334 7.805-4.801 12.281-.234 2.23-.163 4.492-.092 6.752.027.884.055 1.767.064 2.649 0 .39.21.777.648 1.228q1.365-3.33 2.726-6.658c5.031-12.252 11.287-23.837 19.276-34.43 3.074-4.075 6.53-7.826 10.585-10.97.487-.378 1.018-.697 1.549-1.017q.31-.185.616-.375M180.91 8.712c-1.193-.093-1.535-.278-2.728-1.457zm-77.482 15.14c2.063-1.872 4.589-2.858 7.201-3.632.97-.29 1.968-.486 2.966-.682.449-.089.899-.177 1.346-.274a35.5 35.5 0 0 0-9.625 3.797c-.441.249-.919.426-1.395.604q-.248.09-.493.186m54.916-16.71-.118.097q-.262.117-.529.227-.578.332-1.163.657c-1.254.701-2.509 1.403-3.664 2.242-1.866 1.356-3.684 2.776-5.502 4.197-1.31 1.024-2.62 2.048-3.949 3.048q-.623.469-1.245.944c-1.859 1.415-3.724 2.834-5.73 4.003-2.918 1.7-6.035 1.724-9.014-.052.329-.004.657.052.966.168 2.673.861 5.289.629 7.669-.795 1.965-1.177 3.834-2.53 5.711-3.888l.647-.468c1.367-.995 2.72-2.01 4.073-3.025 2.271-1.703 4.542-3.406 6.877-5.015 1-.694 2.168-1.156 3.335-1.617q.498-.197.989-.399.244-.14.485-.282zm0 0 .099-.086c.187-.162.372-.323.588-.404 4.443-1.677 8.998-2.197 13.673-1.235.797.164 1.579.404 2.362.645.365.112.732.225 1.1.33-.32.186-.708.21-1.049.067a23.86 23.86 0 0 0-12.13-.533c-1.079.227-2.143.524-3.207.821q-.716.202-1.436.394" />
<path fill="#e27f24" d="M111.922 73.683c1.088-1.048 2.084-2.22 3.277-3.13 5.451-4.163 11.505-6.784 18.449-7.065q.307-.027.603-.113c.059-.015.107-.08.237-.184-.629-2.082-2.01-3.751-3.19-5.544-.451-.685-1.638-1.324-.669-2.287.815-.813 1.532.162 2.189.556 3.423 2.05 6.88 4.042 10.863 4.723 1.566.264 3.187.243 4.784.254a4.8 4.8 0 0 0 1.818-.42c1.887-.79 2.323-2.096.941-3.563-1.123-1.191-2.576-2.08-3.929-3.04-.599-.42-1.677-.568-1.381-1.53.323-1.017 1.258-.5 1.992-.357 7.991 1.585 15.838 1.214 23.425-1.92a49 49 0 0 0 6.331-3.223c2.023-1.21 3.898-2.668 6.273-4.32-.591.912-.897 1.48-1.294 1.979-1.218 1.54-1.232 1.53-.159 3.354 3.774-2.07 6.625-8.853 5.786-14.03-1.063.904-2.027 1.762-3.031 2.567-5.019 4.025-10.86 5.847-17.178 6.419-7.128.644-14.225.071-21.332-.19-5.79-.21-11.572-.39-17.358.156-15.835 1.5-27.988 8.938-36.772 22.223C85.874 75.155 82.9 86.38 82.26 98.352c-.16 2.989-.105 5.998 0 8.992.052.962.368 1.891.914 2.685 4.874 6.946 8.822 14.382 12.035 22.222.135.323.265.646.405.965 1.258 2.878 1.981 3.299 5.002 2.612 2.83-.644 5.378-1.874 7.524-4.006-.188-.483-.329-.944-.541-1.367-5.599-11.26-7.698-23.212-7.127-35.707a17.3 17.3 0 0 0-.315-3.709c-.794-4.528-.279-8.763 2.614-12.505 1.598-2.067 3.719-3.327 6.227-3.983.987-.26 1.956-.585 2.935-.887.031-.03-.011.02-.011.02" />
<path fill="#ffd502" d="m53.566 207.756 38.195-26.939-11.147-7.442-47.901 27.317c7.484.802 14.268 3.303 20.853 7.064" />
<path fill="#e27f24" d="m110.321 123.794 2.123 2.988c3.332-6.032 4.109-12.369 4.478-18.768-2.226-.983-4.402-1.721-6.356-2.87-1.887-1.119-3.53-2.66-5.528-4.209 0 1.245-.101 2.385.016 3.501.598 5.637 1.728 11.144 4.112 16.337.345.757.545 1.579.811 2.369q.171.328.344.652M119.304 75.543c1.444-.99 3.124-1.061 4.776-1.139 1.517-.073 3.041-.016 4.901-.016-.556-1.193-1.048-2.097-1.386-3.044-.182-.529-.302-1.296-.046-1.707.451-.728 1.193-.365 1.855-.055 1.191.558 2.374 1.195 3.629 1.554 2.097.602 3.013-.184 3.036-2.36.042-3.984-1.172-5.032-5.132-4.479-6.627.912-12.199 4.055-17.354 8.103-.545.42-1.099.839-1.654 1.277 0 0 .035-.042.025-.034q.589.348 1.23.585c1.187.346 2.382.681 3.592.935.838.178 1.729.21 2.597.317z" />
<path fill="#e27f24" d="M110.321 123.794c-.116-.209-.229-.434-.344-.652-1.985-3.157-3.176-6.641-4.076-10.226-1.021-4.059-1.84-8.155-1.708-12.38 0-.341.031-.746-.126-1.023a30 30 0 0 0-2.618-3.916c-.799 12.491 1.798 24.25 7.113 35.665 1.601-.87 2.35-2.214 3.144-3.474.185-.296-.033-.916-.195-1.338-.358-.905-.792-1.773-1.19-2.656M119.363 75.471l-.516.778c4.49 3.287 6.83 7.91 7.914 13.252 1.52-.267 2.151-1.28 2.48-2.285.514-1.566 1.006-3.235.992-4.856-.021-2.341-.504-4.679-.808-7.157a31.6 31.6 0 0 0-10.134.333z" />
<path fill="#ffe269" d="M151.321 193.972c.281-1.073.532-1.725.612-2.398.266-2.256-.061-2.75-2.145-3.608-1.511-.629-3.017-1.268-4.664-1.962l-.288 3.111zM123.881 194.821l.547-5.566-4.281-1.694c-.549 1.829-1.048 3.529-1.654 5.508zM125.086 195.224l5.396 1.195v-5.314l-4.35-1.395c-.91 1.728-.398 3.581-1.046 5.514M112.587 190.629c.522-1.996.975-3.719 1.48-5.661l-4.227-2.027c-.683 1.92-1.285 3.602-1.945 5.451zM91.66 178.849l2.673-4.889-3.226-2.505-4.24 4.226zM137.356 192.323l1.766 5.352 5.515-.254q.105-.236.21-.47c-1.258-1.507-2.503-3.027-3.793-4.505a1.32 1.32 0 0 0-.916-.323c-.821.011-1.643.12-2.782.2M131.941 191.461v5.21l5.784.93c-.652-1.836-1.161-3.373-1.763-4.874a1.45 1.45 0 0 0-.903-.704c-.929-.233-1.883-.348-3.118-.562M89.912 170.427c-.484-.815-.906-1.524-1.468-2.459l-6.448 4.269 3.773 2.725c1.424-1.551 2.724-2.977 4.143-4.535M95.574 174.842l-2.912 4.592 3.984 2.515 2.515-4.794zM101.826 185.035l2.18-5.079-3.599-2.12-2.533 4.822zM144.101 190.356l-1.845 1.354 3.983 5.323 4.136-1.838c-1.281-.998-2.23-1.747-3.186-2.485-.992-.769-1.99-1.515-3.088-2.354M102.981 185.712l3.648 1.992c.662-1.832 1.283-3.543 1.952-5.392l-3.252-1.648zM117.338 192.694l1.383-5.684-3.144-1.413c-.537 1.864-1.036 3.606-1.602 5.57zM150.991 187.31c-.603-2.136-1.283-3.656-3.331-4.168-1.063-.264-2.071-.755-3.121-1.151-.298 2.067-.145 2.43 1.44 3.145s3.132 1.361 5.012 2.174M143.641 178.461c-.236 1.377.126 2.111 1.258 2.457.963.291 1.887.685 2.984 1.09-.638-2.281-2.403-2.843-4.242-3.547" />
<path fill="#fff" d="M270.365 123.383h-20.531c-.159 53.126.061 106.214.084 159.457h18.528c.042-.838.093-1.712.128-2.589.084-2.096.151-4.193.248-6.289.09-2.004.379-2.306 2.379-2.287 4.679.029 9.356.096 14.034.142l35.398.34q17.28.19 34.56.419c.279 0 .559 0 .838.015 1.713.109 2.12.476 2.08 2.157-.055 2.371-.21 4.742-.308 7.113-.019.42 0 .839 0 1.483h20.731V254.58q-.782-.135-1.574-.182-19.27-.162-38.539-.293c-2.325-.017-2.486-.13-2.516-2.468-.039-2.792-.062-5.585-.109-8.386 0-.543-.092-1.084-.163-1.868-1.535 0-2.983.013-4.432 0q-18.115-.153-36.233-.331c-.981 0-2.121.229-2.909-1.015.364-.253.654-.618.972-.645 1.805-.162 3.617-.344 5.426-.329 10.962.088 21.922.228 32.885.346 1.377.016 2.756 0 4.226 0v-8.885h-2.4l-58.856-.262a22 22 0 0 1-2.935-.16c-.321-.046-.857-.509-.828-.71.059-.392.382-.944.717-1.048.644-.21 1.371-.21 2.065-.21q12.58.075 25.136.18 18.014.121 36.03.231.473-.026.941-.099v-8.696a12.5 12.5 0 0 0-1.602-.191q-26.601.164-53.201.344c-2.583.015-5.168.025-7.757-.063-.889-.031-2.356.338-2.411-.951-.058-1.376 1.426-1.017 2.292-1.032 5.45-.088 10.901-.124 16.335-.14q22.308-.07 44.617-.118c.482 0 .964-.061 1.614-.105v-7.851h-58.47q-2.096 0-4.193-.037c-.419 0-.876.023-1.232-.143-.357-.166-.814-.629-.757-.818.111-.383.497-.863.861-.96.657-.176 1.382-.13 2.08-.126q16.128.105 32.258.221 13.824.075 27.648.104c.545 0 1.092-.065 1.7-.102v-19.644h-8.765l-52.359-.042c-4.069 0-3.564-.109-3.564-3.509q-.031-29.642-.09-59.283c.021-.55-.033-1.097-.077-1.921" />
<path fill="#ffd502" d="M335.239 186.582v-2.947a25185 25185 0 0 0-.105-17.384c0-.348-.029-.698 0-1.048.099-1.562.455-1.956 2.044-2.013 2.373-.088 4.747-.106 7.128-.146 3.491-.061 6.979-.105 10.47-.176.606-.013 1.209-.124 1.887-.195l.343-81.761-84.834-.839v106.09z" />
<path fill="#fff" d="M465.623 187.394v65.316c-1.862.443-126.246.028-127.665-.402-.411-3.006-.535-62.964-.115-64.432q63.691-.415 127.78-.482m-59.453 39.693c-.115.117-.245.252-.399.414l-2.322-1.894a2897 2897 0 0 1-7.372-6.022 57762 57762 0 0 0-20.574-16.854q-.097-.08-.194-.165c-.259-.225-.525-.455-.827-.545-.329-.101-.92-.067-1.063.142-.17.246-.088.793.078 1.105.143.271.409.48.671.685q.115.088.224.179l25.904 21.593q.706.59 1.409 1.185c.917.775 1.835 1.551 2.773 2.301 1.371 1.097 1.836 1.068 2.956-.293 2.464-2.995 4.905-6.011 7.344-9.027l1.903-2.35q2.57-3.178 5.126-6.361.471-.561.874-1.174c.323-.514.48-1.166-.167-1.434-.403-.172-1.086-.023-1.451.247-.401.297-.715.715-1.027 1.132q-.167.226-.34.443-6.507 8.078-13.019 16.142c-.14.173-.296.333-.507.551M249.96 57.926V15.763c2.201-.617 126.239-.914 128.348-.354v42.358c-3.505.421-126.962.579-128.348.16m64.394-20.792v.367q10.144-.015 20.298.006c2.115.002 2.358-.18 2.457-2.388.067-1.53.08-3.067.067-4.602-.017-2.069-.528-2.637-2.562-2.698-2.045-.06-4.089-.075-6.136-.09q-1.324-.008-2.65-.023l-30.333-.331q-.315 0-.629-.003c-.42-.004-.839-.007-1.258.003-1.782.044-2.124.333-2.147 2.04-.025 1.874.002 3.76.067 5.648.063 1.769.371 2.07 2.12 2.07zm-55.935-6.828c-.142-.566-.31-1.095-.469-1.598-.33-1.044-.626-1.98-.594-2.901.088-2.451 2.6-4.243 4.822-3.786a4.763 4.763 0 0 1 3.564 5.918c-.127.448-.301.882-.47 1.303a28 28 0 0 0-.222.565q.317.287.616.548h.001l.001.001c.419.368.809.71 1.162 1.084 1.002 1.048 1.56 2.337 1.489 3.786-.016.305-.251.597-.486.89-.108.134-.216.268-.303.404-.101-.092-.212-.178-.322-.264-.251-.196-.503-.392-.648-.646-.161-.284-.261-.602-.361-.921-.089-.283-.178-.567-.31-.828-.897-1.765-2.57-2.641-4.476-2.408-1.725.21-3.071 1.488-3.539 3.354-.028.112-.046.23-.063.346-.036.236-.072.47-.188.656-.174.277-.554.602-.768.558-.339-.074-.805-.395-.878-.692a3.7 3.7 0 0 1 .054-1.646c.384-1.61 1.216-2.954 2.388-3.723m100.359 3.473c-.789.009-1.556.047-1.837 1.304.176.066.351.148.526.23.363.169.726.338 1.095.362 2.882.145 5.766.25 8.65.355l2.438.09q.053.001.109.008c.117.01.235.022.31-.028.112-.072.241-.143.372-.215.369-.203.753-.415.815-.69.165-.75-.47-1.09-1.17-1.122a428 428 0 0 0-7.325-.294 60 60 0 0 0-3.099-.01q-.442.006-.884.01m-1.814-3.8c.301-1.235 1.084-1.222 1.767-1.212l.145.002c3.205.02 6.411.08 9.616.141l1.202.023c.344 0 .74 0 1.015.155.316.184.714.547.725.838.01.292-.331.749-.629.925s-.801.21-1.205.189c-3.604-.156-7.206-.313-10.806-.527-.429-.021-.847-.178-1.262-.334-.19-.072-.379-.142-.568-.2m.103-5.768-.145.724c.157.074.312.165.467.256.337.198.675.396 1.022.42 3.538.209 7.081.353 10.623.497l.624.026c.347.02.694-.032 1.019-.155.757-.317.849-1.237.138-1.633a3.1 3.1 0 0 0-1.387-.313c-3.336-.086-6.673-.165-10.011-.184-.536-.003-1.074.108-1.611.22-.247.051-.493.102-.739.142" />
<path fill="#77d6c5" d="M358.52 120.926c1.243.111 2.203.288 3.161.271 5.306-.097 10.61-.237 15.916-.369q.36-.05.707-.155V60.146H250.235c-.474 1.55-.629 58.403-.139 60.925l20.21.522c.052-.717.134-1.315.134-1.912q-.048-19.367-.109-38.74v-.42c.015-1.886.166-2.047 2.009-2.05 3.492 0 6.983 0 10.482.032q27.832.26 55.687.532c5.87.059 11.728.185 17.592.269 2.515.035 2.624.094 2.612 2.572q-.08 15.711-.191 31.421c-.013 2.436-.002 4.872-.002 7.629" />
<path fill="#f5f5f5" d="M465.447 163.673v21.505l-127.971.853V165.14zM348.183 173.6q-.314.276-.657.582c-.619-.669-1.143-1.242-1.628-1.771-.366-.4-.71-.775-1.055-1.149-.464-.491-1.042-.841-1.64-.319s-.354 1.153.065 1.677c.356.437.731.86 1.106 1.282.274.309.549.618.815.932.679.797.803 1.564-.023 2.39-.389.388-.735.817-1.082 1.247-.225.278-.449.557-.686.824-.528.598-1.146 1.306-.346 1.956.7.568 1.204.02 1.68-.498q.105-.114.207-.221c.622-.649 1.274-1.27 2.015-1.977l.711-.679q.236.198.488.405c.381.312.777.637 1.128.97.243.231.468.481.693.731.243.269.486.539.751.785.466.43 1.034.855 1.65.306.617-.549.348-1.13-.096-1.656a53 53 0 0 0-.819-.937q-.284-.318-.563-.638c-.444-.507-.885-1.023-1.42-1.65l-.202-.236q.474-.553.936-1.087c.559-.649 1.106-1.283 1.646-1.92.09-.104.188-.206.286-.309.25-.26.501-.521.614-.831.138-.373.153-1.034-.101-1.258-.253-.224-.994-.224-1.279-.015-.451.344-.842.767-1.234 1.191-.226.245-.453.491-.692.721-.398.385-.813.751-1.268 1.152" />
<path fill="#fff" d="M358.199 162.683h19.759c.484-1.428.685-37.43.22-39.935-6.47.164-12.977.21-19.646.744-.113 13.176-.222 26.061-.333 39.191" />
<path fill="#ff5b5b" d="M420.096 145.04c.537-.439.839-.629 1.049-.87 4.475-4.975 8.968-9.938 13.402-14.95 1.956-2.212 3.47-4.679 4.193-7.614 1.551-6.304-3.816-9.187-7.912-8.566-2.264.341-4.231 1.354-6.08 2.649-.513.361-1.012.743-1.503 1.133-1.151.909-2.306.838-3.467.037s-2.262-1.629-3.426-2.396a9.96 9.96 0 0 0-4.922-1.583c-4.415-.279-7.669 2.539-8.107 6.95a10.27 10.27 0 0 0 1.654 6.778 60 60 0 0 0 4.214 5.712c3.086 3.69 6.289 7.288 9.423 10.929.51.566.975 1.172 1.482 1.791" />
<path fill="#77d6c5" d="M293.692 29.419v5.77l41.394.599v-5.843c-13.69-.453-27.463-.287-41.394-.526" />
<path fill="#fff" d="M259.382 26.539c-.021 1.364 1.012 2.515 2.241 2.496 1.318-.02 2.306-1.06 2.306-2.44s-.992-2.48-2.254-2.516c-1.262-.035-2.27 1.059-2.293 2.46" />
<path fill="#e2b698" d="M196.392 106.775s-7.966 3.162-19.822 0c1.935 7.596 3.619 11.541 11 7.837 5.797-3.868 8.747-5.478 8.822-7.837M110.977 81.943s5.633 12.606 9.138 15.627l-9.643-2.6s-5.919-8.61.505-13.027M121.964 128.834s5.69 12.247 12.864 15.027a797 797 0 0 1 13.059 5.195l-3.472 13.537s-19.402 1.103-22.451-33.759M171.373 134.312a49.4 49.4 0 0 1-8.218-.839c1.57 4.103 4.956 4.95 8.218.839M180.25 46.2s-10.692 9.672-30.875 7.496c2.539 1.933 4.3 4.318 2.42 6.45-1.881 2.133-9.067 2.977-20.065-3.67 2.658 4.109 5.318 8.58 5.075 14.14 2.176-2.78 1.331-7.855 1.331-7.855 8.581 3.02 18.854 4.11 17.283-4.592 5.197 1.328 19.919-3.144 24.831-11.968" />
<path fill="#262626" d="m103.43 23.85-.126.112-.086.052q.02-.05.044-.096zM121.04 99.161a5.6 5.6 0 0 1-1.39-.436 311 311 0 0 1-5.631-2.239c-1.187-.484-2.359-1.013-3.537-1.52q.064-.192.124-.383l7.296 1.081c-.692-1.019-1.135-1.616-1.518-2.25-1.594-2.614-3.212-5.213-4.724-7.873a5.12 5.12 0 0 1-.677-3.602c.42.576.629.839.805 1.12 2.935 4.905 5.91 9.79 9.736 14.083q.292.302.48.677c.348.784-.102 1.439-.964 1.342M114.931 19.27a35.6 35.6 0 0 0-9.615 3.79q-.915.465-1.886.79c2.06-1.863 4.58-2.85 7.188-3.624 1.407-.42 2.875-.643 4.313-.956" />
<path fill="#262626" fill-rule="evenodd" d="m-14.916 315.138-.002.016a8427 8427 0 0 0-5.132 30.422c-.749 4.545-1.22 9.141-1.061 13.786.325 9.625 2.851 18.564 8.205 26.659 3.384 5.113 8.273 8.155 13.724 10.58 6.044 2.69 12.354 3.296 18.853 2.705 6.672-.606 13.346-1.227 20.017-1.848l.035-.003.027-.002.023-.002.023-.002.023-.002.023-.003q6.597-.614 13.19-1.222c2.842-.262 5.686-.513 8.53-.764l.022-.002h.003c5.283-.467 10.566-.933 15.843-1.467 4.203-.425 8.402-.904 12.6-1.384 3.985-.455 7.97-.91 11.957-1.318 9.035-.93 18.075-1.804 27.113-2.678l6.64-.643c2.614-.249 5.174.17 7.631 1.009 4.31 1.463 8.602 2.98 12.894 4.497l.036.013q2.322.821 4.645 1.638c5.402 1.9 10.838 3.663 16.528 4.531a24.45 24.45 0 0 0 15.23-2.474c2.118-1.09 4.25-2.055 6.569-2.635 6.1-1.529 11.656-4.273 16.792-7.837 1.273-.893 2.589-1.226 4.057-1.467 4.679-.772 9.348-1.61 14.01-2.47a9.5 9.5 0 0 0 2.365-.809c1.834-.889 2.39-2.155 1.809-4.134-.96-3.275-3.371-5.042-6.499-5.91-.898-.25-1.836-.362-2.838-.482l-.004-.001a50 50 0 0 1-1.477-.192q.408-.702.894-1.352a7937 7937 0 0 0 16.61-19.707c1.299-1.549 2.528-3.157 3.748-4.771a6.05 6.05 0 0 0 1.3-4.105q-.027-.489-.048-.978v-.001a47 47 0 0 0-.084-1.537c-.246-3.168-1.74-5.298-4.629-6.899-7.575-4.195-15.006-8.64-22.432-13.082-3.17-1.895-5.405-2.371-7.377-1.633-.266-3.859-.538-8.612-.814-13.419-.312-5.44-.627-10.948-.941-15.302-.124-1.732-.256-3.463-.39-5.222v-.007h-.001v-.003l-.001-.012-.159-2.106q.392-.125.75-.232l.014-.004h.001c.471-.143.904-.274 1.318-.435l.454-.172c.698-.263 1.401-.528 2.037-.902 2.771-1.639 3.296-4.058 1.122-6.423-1.805-1.962-2.46-4.143-2.363-6.684v-.209c-.109-3.738-.774-4.386-4.451-4.367a5 5 0 0 1-.577-.039l-.124-.012-.219-.02-.29-.976-.001-.002-.242-.813c-3.507-11.874-7.413-23.578-13.151-34.591-5.197-9.973-11.375-19.218-19.761-26.847-4.848-4.415-10.311-7.991-15.771-11.566l-.266-.174c-5.61-3.673-11.38-7.075-17.46-9.927-.92-.431-1.253-1.027-1.199-1.949.021-.353.028-.709.035-1.066.017-.839.033-1.679.227-2.475 1.309-5.367 2.665-10.723 4.036-16.141l.002-.007.005-.018 1.333-5.272q.87.142 1.686.281h.001c1.182.2 2.296.389 3.415.532l1.063.144.01.002c2.408.328 4.817.655 7.236.856 9.658.818 17.375-4.256 20.519-13.417 1.577-4.583 2.29-9.337 2.919-14.119.182-1.407.419-2.802.656-4.197l.001-.001v-.005l.001-.001q.153-.894.3-1.79c.264-1.635 1.123-2.776 2.66-3.487a31.6 31.6 0 0 0 3.845-2.125 16 16 0 0 0 2.585-2.097c1.742-1.727 2.038-3.775.95-5.949a38 38 0 0 0-2.216-3.793 253 253 0 0 0-2.332-3.476c-1.295-1.908-2.59-3.816-3.792-5.775-1.992-3.246-3.409-6.77-3.013-10.692.244-2.422.734-4.826 1.239-7.214 1.501-7.103 1.156-14.015-1.933-20.681a9 9 0 0 1-.36-.984 3 3 0 0 1-.046-.572c.629.052 1.261.121 1.894.191 3.563.394 7.137.788 10.204-2.078-2.694.858-5.406.914-8.251.375 6.597-3.035 11.017-7.847 12.643-14.916.935-4.054.418-8.029-1.406-11.84 1.205 5.1 1.18 10.086-1.212 14.884-2.421 4.856-6.227 8.08-11.66 10.038q.255-.576.58-1.117c3.883-5.342 4.707-11.225 3.044-17.514a4.03 4.03 0 0 1 .248-2.958c3.056-6.717 1.589-15.862-6.227-20.42-4.643-2.712-9.694-3.953-14.935-4.402-8.199-.696-16.165.478-23.746 3.761-1.651.714-3.243 1.562-4.892 2.44-.767.408-1.546.822-2.349 1.233q.018-.211.031-.389c.016-.23.029-.426.069-.617.59-2.788-.616-4.75-2.897-6.164-1.694-1.05-3.593-1.505-5.566-1.654-6.26-.471-12.025 1.258-17.522 4.063-8.122 4.162-14.52 10.306-19.916 17.579-.415.56-.817 1.13-1.293 1.803l-.772 1.09c-.026-.265-.05-.489-.072-.685v-.002c-.04-.376-.07-.652-.079-.927-.014-.413-.008-.83 0-1.247.013-.846.027-1.69-.138-2.5-.495-2.407-2.575-3.354-4.807-2.306-1.92.895-3.145 2.508-4.193 4.264-1.516 2.547-2.403 5.336-3.007 8.223-.135.653-.277 1.318-.452 2.131v.005l-.177.822a62 62 0 0 1-.354-.64 16 16 0 0 0-.467-.815q-.418-.66-.827-1.326c-.75-1.214-1.5-2.426-2.347-3.567-.556-.76-1.394-1.376-2.233-1.866-2.776-1.637-4.914-.428-4.872 2.78.042 3.895 1.591 7.32 3.564 10.585.217.359.438.715.69 1.12v.002c.154.247.318.51.498.804-.564.05-1.108.087-1.635.123-1.15.078-2.225.15-3.276.345a37 37 0 0 0-5.032 1.348 6.5 6.5 0 0 0-2.124 1.302c-2.05 1.805-1.664 4.075.919 5.031 1.14.418 2.393.539 3.611.656l.066.007c.737.072 1.484.057 2.345.04.412-.009.849-.017 1.323-.017l-.704.593-.001.001c-.311.262-.576.486-.842.707-2.696 2.252-5.253 4.652-6.744 7.898a11.2 11.2 0 0 0-1.023 4c-.113 2.226 1.616 3.505 3.759 2.798 1.032-.339 1.988-.928 2.936-1.512q.36-.223.72-.44c.378-.224.717-.514 1.15-.885.222-.19.468-.4.756-.634-.124.6-.243 1.154-.356 1.678v.003l-.001.003a67 67 0 0 0-.597 2.987c-.992 5.897-.386 11.683 1.067 17.427 1.572 6.214 4.038 12.021 7.618 17.361 3.533 5.275 7.036 10.579 10.451 15.933 3.275 5.132 5.797 10.658 8.277 16.205a31.4 31.4 0 0 0 2.488 4.577c.52.782.399 1.451.21 2.167l-.515 1.967v.002h-.001v.003l-.001.001v.003h-.001v.001c-1.4 5.346-2.801 10.691-4.268 16.017-.443 1.606-.967 3.19-1.49 4.775-.31.935-.618 1.87-.91 2.81a3.5 3.5 0 0 1-1.588 2.097 662 662 0 0 0-6.179 3.819h-.001l-.001.001-.002.001-.001.001-.001.001c-3.627 2.259-7.255 4.519-10.957 6.659-8.158 4.699-16.352 9.322-24.546 13.944l-.003.002-.008.005-.007.004-.007.004c-3.951 2.229-7.902 4.457-11.848 6.695-5.049 2.864-9.887 6.035-14.363 9.748-7.279 6.04-12.696 13.468-16.654 22.03-4.243 9.194-7.782 18.672-11.32 28.149v.002a672 672 0 0 0-1.867 5.084l-.003.009-.003.007c-.717 1.97-1.434 3.94-2.172 5.902-.174.459-.547.998-.966 1.18-1.45.635-2.065 1.828-2.418 3.22q-.3 1.224-.419 2.478a16.8 16.8 0 0 1-2.558 7.457 8.4 8.4 0 0 0-.807 1.7c-.861 2.422-.235 4.258 2.046 5.451 1.356.72 2.76 1.335 4.267 1.994.685.3 1.391.609 2.123.941q-.184 1.146-.363 2.279l-.003.015v.002a467 467 0 0 1-.77 4.744q-1.249 7.383-2.505 14.765m.786-39.761q.071-.837.306-1.644h.006c.489-1.649.967-1.911 2.59-1.499 1.622.413 3.234.866 4.838 1.344A48642 48642 0 0 1 45.346 289c2.232.667 4.46 1.348 6.69 2.029 3.772 1.153 7.547 2.306 11.34 3.394 2.341.667 3.117 2.438 2.76 4.44-.104.762-.288 1.51-.549 2.233-1.28 3.143-1.878 6.398-2.038 9.784-.113 2.382-1.46 3.451-4.075 3.43a7 7 0 0 1-1.048-.138 295 295 0 0 0-3.599-.895c-2.862-.7-5.725-1.399-8.531-2.294-10.231-3.266-20.443-6.602-30.592-10.111-7.93-2.744-15.806-5.65-23.682-8.557l-.003-.001-4.826-1.78a24.4 24.4 0 0 1-4.11-2.061c-1.322-.794-1.586-1.574-1.075-3.016a17.3 17.3 0 0 1 1.516-3.212 15.65 15.65 0 0 0 2.346-6.868m67.348 39.541c-3.26 11.897-6.356 23.811-8.333 36.394h2.788q27.956.232 55.912.451 10.471.065 20.941-.126c6.271-.119 12.394-1.023 17.82-4.514 1.212-.779 2.397-1.601 3.582-2.423l.002-.001a135 135 0 0 1 3.347-2.272l.29-.188c2.065-1.343 4.136-2.689 6.307-3.841 3.786-2.013 7.845-2.363 12.004-1.426 1.915.393 3.805.898 5.661 1.512 3.899 1.373 7.817 1.386 11.74.329 2.439-.658 4.857-1.393 7.335-2.146q1.693-.517 3.434-1.036l.41-13.291.49-15.877c-43.885 3.983-87.489 7.057-131.13 4.885-.096.109-.175.188-.238.252-.097.097-.156.157-.182.228-1.086 3.323-2.74 4.518-6.226 4.182-1.309-.127-2.603-.4-3.965-.688l-.002-.001h-.002l-.004-.001-.002-.001h-.003l-.003-.001h-.003v-.001h-.003l-.004-.001a92 92 0 0 0-1.957-.398zm.344-107.166c-6.587-3.757-13.37-6.258-20.855-7.061l47.907-27.322 1.635 1.092.01.006c3.127 2.089 6.276 4.192 9.502 6.35zm65.161-20.75-3.144-1.411-.809 2.812-.793 2.756 3.354 1.526c.51-2.056.931-3.786 1.392-5.683m-.228 6.059-.002-.001v.009zm0 0 5.386 1.752.114-1.16v-.004c.15-1.524.287-2.917.435-4.402l-4.283-1.694zm-4.426-8.093-4.226-2.027-1.946 5.451 4.69 2.228c.363-1.376.691-2.626 1.027-3.906l.007-.029.012-.045.007-.029.007-.023.422-1.611zm-8.74-4.312 3.254 1.648v.008l-1.954 5.386-3.646-1.994zm-1.323-.709-3.599-2.117c-.486.919-.954 1.808-1.439 2.73-.351.669-.711 1.354-1.094 2.079l3.952 2.388zm-8.432-5.115 3.585 2.319v.008c-.474.898-.915 1.737-1.356 2.578v.001l-.003.005-1.154 2.196-3.984-2.516zm-1.236-.881-3.225-2.505-4.245 4.235 4.786 3.166zm-5.885-5.98.014-.009-.014.008zm0 0-6.434 4.257 3.773 2.726 4.132-4.537c-.436-.707-.813-1.34-1.274-2.116l-.001-.001zM189.252 17.109a22 22 0 0 1-.202-.907c-.115-.55-.23-1.102-.413-1.628-1.048-3.042-3.144-5.23-5.87-6.864-3.463-2.096-7.279-3.224-11.232-3.805-12.105-1.777-23.493.296-33.998 6.677-.753.459-1.475.966-2.206 1.48-.942.663-1.899 1.337-2.96 1.931q.121-.194.239-.39c.165-.272.33-.544.512-.805.269-.385.552-.764.834-1.141.596-.796 1.19-1.59 1.66-2.454 1.42-2.604.545-4.958-2.167-6.193-2.164-.985-4.474-1.065-6.78-.947-7.415.373-13.944 3.24-19.973 7.354s-11.042 9.402-15.375 15.285c-1.178 1.605-2.297 3.241-3.465 4.948q-.763 1.118-1.567 2.28c-.09-1.01.32-1.689.703-2.322q.142-.23.268-.46c1.27-2.352 1.704-4.865 1.576-7.486l-.003-.068c-.061-1.305-.132-2.793-1.636-3.267-1.467-.464-2.503.658-3.377 1.641-1.99 2.233-3.157 4.933-3.983 7.757-.393 1.342-.702 2.705-1.012 4.072v.001c-.168.742-.337 1.485-.519 2.227-.11.443-.252.879-.394 1.315q-.099.295-.19.593l-.46.077a14 14 0 0 1-.753-1.28c-.305-.664-.596-1.335-.887-2.006v-.002l-.001-.001v-.002h-.001v-.002c-.568-1.308-1.135-2.616-1.809-3.868a8.87 8.87 0 0 0-3.666-3.646c-1.703-.912-2.711-.358-2.346 1.526a39.4 39.4 0 0 0 2.08 6.98c.464 1.18 1.148 2.265 1.831 3.351v.001h.001v.001l.001.001v.001h.001v.001l.001.001c.286.454.572.908.842 1.37.08.139.182.27.282.4.16.209.32.415.393.648.132.43.268 1.048.056 1.335-.212.288-.855.323-1.302.3-.66-.035-1.323-.104-1.984-.173-1.21-.126-2.42-.251-3.615-.173-1.597.106-3.185.584-4.74 1.051l-.325.098c-.72.26-1.372.682-1.904 1.233-1.258 1.216-1.014 2.149.669 2.776a6.3 6.3 0 0 0 1.629.32c2.88.258 5.702-.121 8.516-.742.228-.05.46-.118.694-.186.866-.253 1.766-.515 2.66.046-.04.815-.552 1.029-1.042 1.235-.14.059-.28.117-.405.188-4.308 2.455-8.004 5.606-10.809 9.71a14.2 14.2 0 0 0-1.677 3.565c-.21.643-.21 1.656.176 2.128.558.709 1.348.285 2.022-.078l.25-.132a8 8 0 0 0 1.913-1.268 363 363 0 0 0 5.224-5.19l.002-.003 1.143-1.15c.173-.173.337-.36.5-.546.3-.339.598-.677.952-.942.237-.176.797-.119 1.086.047.185.106.21.629.174.93-.031.22-.219.427-.39.615l-.001.003-.005.005-.028.03-.03.035c-3.103 3.505-4.332 7.805-4.801 12.281-.233 2.221-.163 4.474-.092 6.724.028.893.055 1.786.064 2.676 0 .39.21.778.648 1.229q1.365-3.33 2.725-6.658C76.217 58.55 82.47 46.966 90.46 36.373c3.073-4.076 6.53-7.826 10.585-10.97.483-.375 1.01-.693 1.537-1.01h.001q.321-.194.638-.391c-.055.21-.158.404-.302.566-6.455 5.046-11.643 11.199-16.017 18.094-5.316 8.386-10.144 17.017-14.06 26.145-.49 1.144-.96 2.299-1.429 3.453-.66 1.624-1.32 3.248-2.039 4.844-.838 1.887-1.06 3.713-.38 5.66.09.257.171.514.253.771v.001c.255.799.511 1.604.974 2.403.146-.658.284-1.319.423-1.98v-.001c.3-1.431.6-2.863.973-4.27 3.397-12.84 8.596-24.783 17.61-34.768 5.2-5.765 11.112-10.593 18.579-13.185 4.403-1.53 8.971-1.993 13.606-1.92l.752.012c2.055.03 4.111.061 6.166.16 5.258.256 9.91-1.34 14.015-4.562A293 293 0 0 0 146.596 22h.002v-.001h.001v-.001h.001c1.723-1.407 3.447-2.814 5.209-4.171 3.514-2.711 7.38-4.774 11.784-5.633a21.3 21.3 0 0 1 3.933-.321c-7.757.876-13.78 5.031-19.415 9.998a109 109 0 0 1-6.155 5.031c-4.388 3.32-9.409 4.354-14.822 3.969-4.461-.321-8.92-.336-13.367.323-7.31 1.081-13.344 4.652-18.815 9.413-5.33 4.639-9.568 10.159-13.071 16.234a90.8 90.8 0 0 0-10.657 28.487 10.42 10.42 0 0 0 .721 6.484c2.286 5.136 5.284 9.824 8.516 14.386.065.092.163.16.327.275.102.071.228.16.388.282 0-.292.002-.555.004-.799v-.002c.003-.438.005-.815-.004-1.19-.268-9.08.702-18.03 3.774-26.587 4.153-11.57 10.863-21.384 21.157-28.388 5.849-3.983 12.407-6.262 19.4-7.365 7.64-1.205 15.304-.906 22.973-.597q1.233.05 2.466.104c5.521.237 11.046.475 16.57.032 7.063-.564 13.474-2.75 18.88-7.547 1.614-1.436 2.084-2.835 1.524-4.94-1.467-5.515-4.685-9.744-9.104-13.178a8.2 8.2 0 0 1-1.468-1.312c4.971 1.698 8.287 5.298 10.977 9.935.778-1.78 1.113-3.25.713-4.904-.986-4.064-3.422-7.1-6.57-9.687-.359-.296-.648-.674-.94-1.054q-.149-.197-.304-.39c3.174 2.196 5.977 4.754 8.028 8.224m-1.936 17.534q.47-.405.961-.824c.84 5.174-2.021 11.96-5.795 14.034-1.062-1.809-1.059-1.814.132-3.317l.03-.037c.257-.326.476-.68.762-1.14.152-.245.323-.521.529-.84-.757.527-1.464 1.035-2.14 1.52l-.001.001h-.001c-1.444 1.038-2.752 1.977-4.131 2.8a49 49 0 0 1-6.331 3.223c-7.587 3.136-15.434 3.505-23.425 1.92-.135-.027-.277-.066-.422-.107-.631-.175-1.307-.364-1.57.463-.219.72.326.986.867 1.25.183.088.365.177.517.283q.417.293.841.584c1.092.752 2.192 1.509 3.085 2.453 1.382 1.468.948 2.774-.939 3.565-.573.257-1.191.399-1.82.419l-.499-.003c-1.433-.006-2.882-.012-4.285-.25-3.983-.682-7.44-2.674-10.87-4.724a5 5 0 0 1-.443-.32c-.533-.417-1.11-.868-1.745-.236-.736.73-.229 1.275.255 1.795.154.165.305.327.413.492.256.389.521.77.785 1.153.959 1.382 1.913 2.76 2.406 4.39q-.07.057-.113.098c-.053.048-.086.078-.124.087a3 3 0 0 1-.603.113c-6.944.283-12.998 2.902-18.449 7.065-.816.623-1.539 1.366-2.259 2.105l-.001.001c-.32.33-.639.657-.966.974l.386-.298q.612-.471 1.219-.943c5.155-4.048 10.728-7.191 17.355-8.103 3.96-.553 5.174.495 5.132 4.478-.021 2.176-.939 2.962-3.036 2.363-.99-.285-1.935-.741-2.874-1.195q-.377-.183-.755-.36l-.031-.015c-.654-.307-1.38-.648-1.824.069-.256.41-.136 1.178.046 1.706.233.657.541 1.29.892 2.014.157.323.322.664.494 1.032-.597 0-1.158-.006-1.696-.012h-.003c-1.139-.012-2.172-.023-3.203.027l-.029.001c-1.624.077-3.271.156-4.698 1.108l.021-.034a41 41 0 0 0-.713-.068c-.628-.056-1.261-.112-1.885-.246-1.209-.254-2.404-.59-3.591-.935a8 8 0 0 1-1.226-.57l-.003.002q-.482.146-.962.297h-.001c-.655.205-1.31.41-1.972.585-2.509.657-4.628 1.916-6.228 3.984-2.891 3.742-3.409 7.977-2.614 12.505.239 1.22.344 2.465.314 3.708-.572 12.495 1.526 24.447 7.128 35.707.142.288.254.592.369.909l.001.001q.081.225.171.457c-2.149 2.132-4.696 3.362-7.526 4.006-3.021.688-3.745.268-5.002-2.612-.12-.271-.232-.545-.344-.819v-.004l-.059-.141c-3.216-7.839-7.163-15.277-12.038-22.223a5.24 5.24 0 0 1-.914-2.685c-.105-2.994-.159-6.002 0-8.992.64-11.97 3.615-23.197 10.338-33.354 8.784-13.275 20.937-20.713 36.773-22.21 5.787-.549 11.567-.369 17.359-.16 1.427.054 2.853.12 4.279.185h.012c5.674.26 11.348.52 17.04.007 6.317-.573 12.157-2.394 17.176-6.42.694-.556 1.369-1.137 2.071-1.742M111.945 73.65l.003.001.019-.018zm.499 53.132c3.334-6.032 4.109-12.369 4.478-18.768-.688-.304-1.372-.584-2.046-.861-1.505-.617-2.961-1.214-4.31-2.009-1.297-.769-2.48-1.738-3.741-2.772v-.001c-.574-.469-1.163-.952-1.787-1.436 0 .401-.011.791-.021 1.173v.001c-.021.804-.042 1.571.038 2.327.597 5.637 1.727 11.144 4.111 16.337.237.52.405 1.07.574 1.62.077.252.153.503.237.751-1.985-3.159-3.176-6.643-4.076-10.228-1.02-4.059-1.84-8.155-1.708-12.38l.001-.153c.005-.304.009-.633-.127-.87a29.6 29.6 0 0 0-2.618-3.916c-.799 12.491 1.798 24.25 7.113 35.665 1.477-.8 2.226-2.002 2.956-3.173l.002-.003.187-.298c.184-.296-.034-.916-.195-1.338-.245-.628-.531-1.241-.816-1.855a63 63 0 0 1-.367-.794zm6.403-50.533c4.491 3.287 6.83 7.912 7.914 13.252 1.52-.264 2.151-1.28 2.482-2.285.512-1.566 1.004-3.235.99-4.856-.015-1.636-.255-3.271-.502-4.953v-.001c-.106-.724-.214-1.457-.305-2.203a31.6 31.6 0 0 0-10.103.327zm22.919 102.878zc.448 2.168.895 4.336 1.286 6.513.527 2.883-.448 4.21-3.35 4.682a7.8 7.8 0 0 1-2.293.039l-.61-.094c-1.657-.255-3.322-.511-4.931-.954-9.753-2.679-18.87-6.861-27.782-11.53-4.331-2.271-8.45-4.9-12.195-8.08-1.656-1.405-2.008-3.082-1.226-5.071 2.379-6.053 4.104-12.313 5.677-18.602l.218-.875c.47-1.878.937-3.753 1.427-5.624.198-.752.458-1.425 1.44-1.549 5.588-.709 9.542-4.006 12.814-8.283 3.097-4.046 4.558-8.761 5.306-13.721.272-1.793.474-3.597.678-5.411v-.001l.001-.002v-.005q.136-1.227.283-2.462c.664-.162 1.34-.19 2.029-.22 1.094-.046 2.22-.094 3.378-.679-.594-.072-1.154-.136-1.692-.196h-.003c-1.097-.124-2.099-.236-3.093-.395-8.612-1.371-13.952-6.487-16.61-14.623a14.54 14.54 0 0 1-.432-7.239c.83-4.562 4.065-7.788 8.654-8.468 4.115-.61 7.367 1.11 10.019 4.07 2.369 2.641 3.906 5.763 4.782 9.203.128.5.258 1 .398 1.536l.134.514q.592-.138 1.156-.36c3.448-1.71 4.821-4.698 5.031-8.342.18-3.04-.444-5.973-1.329-8.862a29 29 0 0 1-.258-.949q-.077-.301-.161-.614c.446.08.875.175 1.293.266h.003c.863.19 1.678.368 2.498.402 1.958.078 3.155-.962 3.495-2.882.132-.745.224-1.558.059-2.277a56 56 0 0 0-1.529-5.413c-.249-.734-.601-1.433-1.008-2.241h-.001v-.002c-.195-.387-.403-.799-.618-1.252l.598.28.155.073.01.005.003.001.012.006h.002l.001.001c.607.285 1.085.508 1.561.739 3.12 1.503 6.361 2.614 9.853 2.501a14 14 0 0 0 4.667-.9c2.078-.838 2.639-2.446 2.034-4.611-.053-.176-.099-.352-.151-.548l-.059-.222c.9.118 1.786.257 2.663.394 1.935.302 3.825.597 5.723.654 2.856.074 5.713-.11 8.536-.547 3.768-.568 6.216-1.706 7.413-2.945-7.97 2.555-16.794 2.471-19.865.74 8.18-.032 15.459-2.46 21.874-7.352q.174.198.304.34c.167.186.289.32.396.467q.39.498.704 1.048c3.489 6.432 5.153 13.247 4.158 20.57-.424 3.11-1.007 6.2-1.608 9.281a15.98 15.98 0 0 0 1.993 11.497c1.395 2.365 2.89 4.671 4.385 6.977.668 1.032 1.337 2.064 1.997 3.1q.368.574.743 1.143c.632.963 1.264 1.927 1.819 2.931 1.077 1.962.912 3.453-.809 4.847-1.558 1.26-3.256 2.444-5.072 3.264-2.415 1.088-3.75 2.748-4.132 5.327-.361 2.452-.762 4.899-1.163 7.346q-.21 1.288-.42 2.576c-.738 4.478-1.645 8.91-3.773 12.998-1.74 3.346-4.176 6.004-7.784 7.227a25.7 25.7 0 0 1-6.721 1.392c-8.21.465-16.057-1.48-23.814-3.937-4.683-1.487-8.832-3.864-12.04-7.638-1.467-1.736-2.779-3.599-4.086-5.454l-.293-.416c-.603-.849-1.135-1.741-1.71-2.704-.272-.454-.552-.924-.854-1.413 0 .187-.007.322-.013.425-.007.145-.012.225.013.296.222.66.446 1.321.702 1.969 2.751 6.995 7.26 12.379 14.34 15.276 1.781.729 3.619 1.32 5.458 1.91.884.285 1.768.569 2.647.868.332.114.659.247.986.38q.24.098.481.192l-.057.299-.026.139-.001.003c-.056.298-.1.534-.157.767q-2.348 9.659-4.679 19.323c-.581 2.4-.763 4.822-.273 7.268l.389 1.889.001.003v.004zm-16.686 16.097 5.396 1.195v-5.314l-4.35-1.393c-.499.955-.567 1.946-.636 2.969-.056.829-.114 1.678-.404 2.543zm9.968-3.201c.385.101.712.355.904.704h.006c.466 1.176.884 2.374 1.353 3.72l.404 1.154-5.784-.93v-5.21q.565.097 1.065.175l.003.001.006.001h.003c.748.12 1.403.224 2.04.385m4.067 5.652.007-.001-.276-.833v-.002l-.005-.013-.002-.006v-.001l-.007-.021c-.49-1.485-.95-2.878-1.482-4.465q.408-.036.768-.071c.764-.072 1.389-.131 2.014-.139a1.32 1.32 0 0 1 .916.323 178 178 0 0 1 2.918 3.454l.875 1.051-.065.146-.039.087-.001.002-.038.084-.067.151-5.509.253v.001zm7.128-.646-3.983-5.323 1.855-1.354.749.571.003.002.001.001.01.008c.801.611 1.559 1.189 2.315 1.772.678.525 1.355 1.054 2.148 1.673l1.038.811zm5.071-3.057c.098-.371.192-.692.276-.981.16-.545.286-.976.337-1.415.266-2.256-.059-2.75-2.145-3.61-.988-.411-1.972-.826-2.996-1.258q-.813-.345-1.669-.704l-.097 1.052-.19 2.061zm-6.421-13.058c-1.132-.344-1.495-1.08-1.258-2.455l.007.004.27.103c1.739.659 3.364 1.275 3.964 3.438a84 84 0 0 1-1.049-.397 28 28 0 0 0-1.934-.693m.625 1.466c-.323-.132-.647-.265-.975-.389-.298 2.067-.145 2.43 1.44 3.145 1.061.479 2.105.925 3.244 1.412.562.241 1.147.491 1.769.76-.606-2.134-1.287-3.661-3.331-4.166-.731-.181-1.434-.47-2.145-.761h-.001v-.001zm47.327 38.429c5.708 10.048 10.22 20.623 13.799 31.602.726 2.229 1.398 4.48 2.089 6.798l.001.003.005.014.005.018.001.004q.398 1.339.813 2.712l-13.883 2.438a39 39 0 0 0-.179-.57h-.001a7 7 0 0 1-.206-.717 156 156 0 0 0-5.199-19.181l-.552-1.595v-.002h-.001c-2.324-6.721-4.646-13.436-7.057-20.122-.489-1.356-1.141-2.654-1.792-3.951a84 84 0 0 1-.879-1.787 2.1 2.1 0 0 0 .124 1.292q1.07 3.214 2.147 6.427l.001.002c1.653 4.934 3.307 9.867 4.89 14.822 2.524 7.908 4.962 15.839 6.538 24.015 2.525 13.078 3.311 26.3 3.334 39.585 0 .308-.043.616-.094.986-.027.193-.056.404-.082.641-43.581 4.939-87.179 7.444-131.017 5.451-.33-2.701.47-4.906 1.266-7.099l.03-.082c1.067-2.922 1.695-5.801-.4-8.176q.737-1.731 1.45-3.412l.002-.007.027-.064.003-.006v-.002c1.26-2.968 2.475-5.836 3.74-8.683a9 9 0 0 1 1.723-2.53c1.662-1.725 3.351-3.422 5.04-5.119 1.118-1.123 2.236-2.245 3.345-3.376.235-.243.413-.541.59-.837v-.001c.086-.142.17-.284.262-.42-2.471 1.316-4.503 3.105-6.543 4.9-.645.567-1.29 1.135-1.95 1.689.501-1.528 1.079-3.01 1.653-4.485.46-1.183.918-2.36 1.334-3.552.265-.75.56-1.49.853-2.231.727-1.832 1.455-3.664 1.745-5.639-4.075 7.306-7.24 15.012-10.444 22.808-1.379 3.355-2.764 6.727-4.231 10.091a14776 14776 0 0 0-21.36-6.417l-.003-.001-.002-.001-.003-.001h-.003c-18.44-5.531-36.864-11.057-55.327-16.781l.12-.363.087-.267.072-.22c.265-.808.491-1.497.748-2.173a389 389 0 0 1 2.794-7.225q1.445-3.608 2.882-7.22l.005-.011.001-.004c2.601-6.53 5.202-13.059 7.903-19.549 4.811-11.562 12.31-21.027 22.71-28.092a96 96 0 0 0 1.728-1.207l.003-.002c1.154-.82 1.849-1.314 2.622-1.571 1.168-.389 2.516-.238 5.9.14l.196.022c.349.033.689.1 1.037.17l.2.039c10.099 2.019 18.646 6.92 25.89 14.132 6.932 6.9 11.412 15.273 14.217 24.566.6 1.988 1.057 4.019 1.514 6.051.211.937.422 1.875.647 2.809a60.5 60.5 0 0 0-7.606-23.663c-4.205-7.413-10.134-13.214-17.413-18.146q3.875-2.8 7.71-5.582l.035-.026.005-.003.001-.001v-.001l.004-.002c10.125-7.341 20.103-14.576 30.325-21.488q.609.361 1.174.69a78 78 0 0 1 2.027 1.213c8.636 5.357 17.713 9.774 27.401 12.879 6.014 1.929 12.161 3.17 18.515 2.945 2.799-.098 5.56-.48 8.055-1.947 2.83-1.656 4.109-4.189 3.426-7.407-.298-1.4-.855-2.751-1.408-4.089l-.119-.289-.138-.337c-.289-.709-.653-1.388-1.072-2.171a73 73 0 0 1-.658-1.248c.25.116.451.203.618.277.287.125.477.208.651.318a981 981 0 0 0 4.957 3.119c3.902 2.444 7.803 4.888 11.621 7.454 10.711 7.199 18.684 16.893 25.011 28.029m23.933 56.912c1.794-.92 2.061-2.145.708-3.533-2.329-2.394-3.037-5.241-2.989-8.417 0-.354-.051-.709-.115-1.165a35 35 0 0 1-.112-.837c-4.696.091-9.165.883-13.632 1.675h-.004c-1.514.269-3.028.537-4.55.778.407 3.261.804 6.454 1.202 9.656l.002.013.394 3.163.373 2.994q.668-.004 1.331-.09 1.473-.28 2.947-.553c3.129-.582 6.258-1.165 9.363-1.856a21.4 21.4 0 0 0 5.082-1.83zm-3.248 35.477c.028 1.818.057 3.73.139 4.441v-.002c.021.182.033.365.046.566a15 15 0 0 0-2.338 2.382c-1.553 1.892-2.988 3.886-4.424 5.88-.604.837-1.207 1.675-1.819 2.505q-.444.585-.82 1.216c-1.475 2.581-3.708 4.072-6.773 4.633l.222-4.191c.829-15.578 1.659-31.154.243-46.857l12.975-2.218c.032.404.059.784.085 1.151l.001.006v.007c.04.555.077 1.079.124 1.601q1.131 12.62 2.239 25.244c.053.607.076 2.087.1 3.636m-28.612 46.066 4.485 3.656c.59-.732 1.169-1.438 1.735-2.128l.001-.001c1.19-1.45 2.325-2.833 3.4-4.263 2.789-3.71 5.567-7.429 8.344-11.149 3.608-4.83 7.216-9.66 10.849-14.472.761-1.008.838-1.748.134-2.777-.635-.922-1.195-1.891-1.812-2.959-.263-.455-.536-.928-.83-1.423-.256.322-.497.615-.727.894-.368.448-.706.858-1.021 1.286a69817 69817 0 0 0-22.906 31.2c-.321.437-.658.866-1.036 1.346l-.004.006c-.192.245-.395.502-.612.782zm-4.585-4.218 6.099-.814-2.656 3.998zm33.688-34.357-1.361 1.258.859 1.548.007.014a1182 1182 0 0 1 2.453 4.434l1.3-1.696zm18.775 6.265c4.164 2.372 8.329 4.743 12.5 7.102v-.006c2.441 1.382 2.733 3.667 3.086 6.424l.008.06c-.33-.241-.614-.458-.872-.654-.496-.378-.892-.68-1.317-.935a5459 5459 0 0 0-19.413-11.593c-2.484-1.478-4.987-2.914-8.132-1.841l-1.587-2.939-.006-.011-.009-.017c-.525-.973-1.042-1.932-1.568-2.903 1.923-1.228 3.527-.516 5.053.348 4.085 2.311 8.163 4.634 12.242 6.957zm9.774 23.354a74 74 0 0 1 1.511-1.746l.001-.001c.645-.73 1.291-1.46 1.897-2.22 2.145-2.685 2.057-3.664-.824-5.52-4.22-2.725-8.513-5.322-12.826-7.895-2.661-1.589-5.39-3.066-8.116-4.541h-.001l-.281-.153c-2.992-1.618-4.612-1.327-6.709 1.382a334 334 0 0 0-4.223 5.597v.001a326 326 0 0 1-4.349 5.758c-3.941 5.058-7.914 10.09-11.887 15.122l-.02.026q-2.654 3.36-5.305 6.724c-.109.135-.205.286-.337.493q-.108.172-.262.407c3.174 2.26 6.618 3.583 10.163 4.612 7.489 2.163 15.157 3.059 22.946 3.048.953 0 1.526-.375 2.096-1.073a5375 5375 0 0 1 16.535-20.027zM.68 394.935c-4.036-1.698-7.72-3.919-10.41-7.495l.009-.006c-7.709-10.248-10.698-21.864-9.507-34.487.56-5.942 1.534-11.849 2.507-17.748l.486-2.962c1.397-8.582 2.867-17.152 4.338-25.721l1.323-7.715c.18-1.061.399-2.115.617-3.171q.157-.75.307-1.5l60.568 20.163-7.983 36.954c-1.872.062-3.746.115-5.621.169-7.141.203-14.304.407-21.444 1.089.815.196 1.65.298 2.489.304q19.683.239 39.369.449 24.186.286 48.379.45c7.606.053 15.21-.031 22.801-.74 6.474-.604 12.402-2.57 17.696-6.377q.557-.401 1.111-.809c.982-.72 1.965-1.44 2.994-2.09l.074-.048c2.093-1.324 4.195-2.654 6.393-3.791 3.141-1.627 6.543-1.987 9.985-1.279a75 75 0 0 1 7.281 1.964c3.214.998 6.483 1.315 9.701.42 3.232-.893 6.424-1.937 9.617-2.981 1.245-.407 2.49-.814 3.737-1.212.437-.139.87-.293 1.356-.466q.34-.122.724-.255a6 6 0 0 0-.104.372c-.045.175-.076.293-.142.385a2111 2111 0 0 1-10.042 13.67 3.26 3.26 0 0 1-1.419 1.145c-1.147.389-2.311.726-3.476 1.064-.845.244-1.69.489-2.528.754-1.776.555-3.141.268-4.428-1.258-1.324-1.567-1.592-1.646-2.585-1.941l-.35-.105c1.6 2.832 3.614 5.203 5.818 7.455 7.243 7.402 15.838 12.203 26.111 14.004a105 105 0 0 0 19.168 1.501c1.88-.02 3.759.127 5.614.44 2.243.388 3.922 1.732 5.059 3.725 1.201 2.107.891 3.055-1.437 3.669-1.843.487-3.732.845-5.614 1.202l-.937.178c-8.39 1.601-16.891 2.086-25.396 2.471-2.023.097-4.05.008-6.057-.266-6.144-.864-12.274-1.843-18.402-2.826-1.769-.283-3.529-.623-5.288-.963q-1.207-.234-2.417-.46c.326.393.766.677 1.258.813q1.31.385 2.617.78c2.263.681 4.524 1.36 6.817 1.927 8.03 1.983 16.166 3.132 24.468 2.677.962-.053 1.925-.116 2.887-.178 1.057-.069 2.115-.137 3.174-.193.277-.015.557.019.944.067.215.027.464.057.764.086l-.628.443c-.425.302-.731.52-1.049.716-3.522 2.18-7.333 3.677-11.224 5.073-4.826 1.732-9.65 1.99-14.621.929-3.73-.797-7.467-1.563-11.205-2.329q-2.285-.469-4.568-.939-.14-.03-.281-.06c-.245-.053-.491-.107-.74-.137a7 7 0 0 0-.839 0c7.388 2.75 14.815 5.113 22.975 5.87-.173.151-.297.271-.395.365-.155.149-.242.232-.347.276-4.227 1.736-8.598 2.344-13.128 1.608-5.258-.855-10.338-2.348-15.304-4.235q-2.314-.88-4.624-1.772c-3.603-1.387-7.205-2.774-10.837-4.077-4.369-1.564-8.881-2.45-13.562-1.964-5.969.621-11.935 1.241-17.898 1.912-3.887.436-7.772.889-11.658 1.342-6.512.759-13.024 1.517-19.543 2.199-11.593 1.207-23.195 2.306-34.8 3.354-6.14.553-12.283 1.067-18.427 1.582-4.495.376-8.99.752-13.483 1.143a34.8 34.8 0 0 1-16.789-2.603" />
<path fill="#262626" d="M154.21 68c5.767-3.41 12.027-4.755 18.683-4.12 2.436.233 4.669.962 5.562 4.046.453-1.11.748-1.834 1.174-2.884 1.646 3.381-.126 6.467-3.646 6.756-2.912.237-5.847.3-8.769.26-4.338-.06-8.652-.088-12.868 1.15a6 6 0 0 1-1.231.209c-.853.06-1.712.07-2.159-.872-.419-.898-.063-1.696.533-2.294.83-.828 1.719-1.658 2.721-2.251M143.419 17.61c-2.279 1.713-4.522 3.518-6.975 4.947-2.918 1.7-6.033 1.724-9.014-.052.33-.005.657.052.966.168 2.673.861 5.29.629 7.669-.795 2.191-1.31 4.262-2.843 6.358-4.356 3.661-2.665 7.223-5.472 10.95-8.04 1.308-.902 2.891-1.409 4.388-2.04-1.648.95-3.354 1.82-4.883 2.935-3.218 2.33-6.287 4.853-9.459 7.233M158.224 7.239c-.155.069-.312.136-.471.21l.431-.25.156-.042-.114.088zM169.258 79.067a3.68 3.68 0 0 1 2.442 2.652c.493 1.887.019 3.587-1.071 5.147-.478.685-1.153 1.033-1.985.882-.948-.172-1.403-.87-1.55-1.755-.102-.616-.09-1.257-.132-1.876-.163-2.467-.74-3.023-3.262-2.914-.891.04-1.78.287-2.66.484-.656.147-1.296.363-2.097.594 2.348-2.89 7.21-4.346 10.315-3.214M177.91 124.723c-7.967 1.78-18.533-4.539-18.893-11.321 4.696 6.514 10.947 10.078 18.893 11.321M175.117 6.459a23.9 23.9 0 0 0-12.13-.533c-1.566.33-3.1.807-4.647 1.225a2.6 2.6 0 0 1 .693-.5c4.441-1.676 8.996-2.196 13.671-1.234 1.172.241 2.306.646 3.462.975a1.17 1.17 0 0 1-1.049.067M180.912 8.708c-1.201-.092-1.545-.274-2.742-1.467zM182.178 68.396c.572.855.562 1.62-.04 2.327-.459.539-1.017 1-1.843.293.133-1.16.462-2.182 1.883-2.62M180.912 8.708l.14.01q.078.09.151.183l-.195-.134zM186.164 110.037c-2.422 1.311-4.275 1.327-5.558.126 1.103-1.516 3.358-1.618 5.558-.126" />
<path fill="#262626" fill-rule="evenodd" d="M247.893 257.48q.042 29.12.111 58.243c.009 4.096.032 4.101 4.115 4.143q37.18.205 74.363.496c10.653.082 21.305.2 31.958.317h.023l.1.001q8.153.091 16.307.175l.432.006c.904.012 1.809.025 2.713-.031 1.717-.107 2.199-.61 2.228-2.356.031-1.887.039-3.774.046-5.661q.006-1.572.017-3.145.22-27.128.447-54.255c.001-.133.016-.264.039-.468v-.001c.013-.115.029-.253.047-.426l.419-.03.256-.02h.002c.447-.035.859-.068 1.27-.068q34.981.117 69.967.258c3.856.015 7.712.072 11.568.128l1.01.015c2.076.031 2.478-.275 2.466-2.355-.011-1.909-.05-3.818-.089-5.728a359 359 0 0 1-.092-6.221q-.115-38.445-.209-76.885c-.005-2.057-.264-2.313-2.267-2.283q-34.037.516-68.073 1.042c-2.923.047-5.846.11-8.768.174q-2.632.058-5.263.111c-.537.008-1.079.006-1.681.003-.324-.002-.665-.003-1.032-.003a63 63 0 0 0-.048-.91 29 29 0 0 1-.063-1.648q.043-26.084.132-52.165.171-45.567.335-91.133c.013-3.777-.002-3.846-3.847-3.821-8.662.051-17.325.12-25.988.187-8.933.07-17.867.14-26.8.192-10.915.064-21.831.097-32.746.13q-6.776.02-13.552.044-13.93.055-27.861.084c-1.929 0-2.197.17-2.22 2.097-.042 3.918-.042 7.828-.042 11.74q.06 32.259.094 64.522.08 82.75.176 165.505m22.413-135.887-20.205-.512-.005-.01c-.484-2.52-.335-59.375.141-60.924h128.069v60.524q-.347.105-.706.155l-2.556.064h-.009c-4.45.112-8.9.224-13.352.305-.634.011-1.272-.063-1.991-.146a44 44 0 0 0-1.168-.125c0-.941-.002-1.844-.003-2.723v-.009c-.004-1.693-.007-3.294.003-4.895q.11-15.71.189-31.421c.012-2.478-.095-2.537-2.61-2.572q-3.382-.05-6.762-.11h-.005c-3.606-.061-7.213-.123-10.825-.159q-27.857-.272-55.689-.53c-3.499-.03-6.99-.03-10.482-.03-1.843 0-1.992.162-2.009 2.049v.42q.061 19.37.109 38.737c.002.4-.035.799-.076 1.234v.001q-.031.322-.058.677m64.822 43.606c.098-1.562.455-1.956 2.044-2.013 1.824-.067 3.647-.094 5.475-.121h.008l1.645-.025q1.99-.035 3.98-.065h.028l.008-.001h.022c2.144-.033 4.287-.067 6.431-.111.405-.008.811-.06 1.236-.116h.001q.316-.042.65-.079l.21-49.862.001-.26.001-.183.132-31.455-84.834-.84v106.095l63.083.42v-2.948q-.05-8.692-.104-17.384l-.004-.085-.006-.148c-.012-.276-.024-.549-.007-.819M249.96 15.763c2.201-.617 126.241-.912 128.348-.354v42.358c-3.505.421-126.962.579-128.348.16zm128.218 106.983q-1.901.047-3.809.087c-5.217.113-10.475.227-15.837.657l-.331 39.191h19.757c.484-1.426.686-37.428.22-39.933zm-40.7 42.394 127.971-1.467v21.505l-127.971.853zm128.145 87.57v-65.316q-64.086.067-127.78.482c-.42 1.468-.296 61.426.115 64.432 1.419.43 125.803.845 127.665.402m-87.078 66.141-128.574-.382v-33.92l128.658 1.258c-.005 3.327-.002 6.624.001 9.903v.001c.007 7.755.014 15.411-.085 23.14m-22.704-44.128-84.935-1.029v9.299l84.658.47.08-1.375.001-.02c.125-2.132.242-4.123.338-6.116.014-.218-.021-.438-.068-.724-.023-.148-.05-.313-.074-.505m-87.392 8.117h-18.531c-.008-18.972-.041-37.923-.074-56.863-.06-34.214-.12-68.391-.033-102.594h20.531c.015.283.031.533.046.762.029.438.052.798.052 1.159q.058 29.641.09 59.283-.002.56-.011 1.007c-.044 2.416-.046 2.502 3.575 2.502q26.178.023 52.359.042h8.765v19.646q-.294.019-.571.041a14 14 0 0 1-1.129.059q-13.824-.024-27.648-.104-16.13-.116-32.258-.221-.165 0-.332-.004c-.591-.009-1.193-.018-1.748.13-.364.097-.75.577-.861.96-.055.191.4.654.757.82.315.147.71.144 1.087.141h.147q2.097.037 4.193.037h58.47v7.856a35 35 0 0 0-.606.047c-.368.031-.687.057-1.006.057q-22.311.05-44.619.118c-5.434.019-10.884.052-16.335.142-.147.003-.313-.006-.485-.015-.841-.044-1.855-.097-1.807 1.045.045 1.046 1.019 1.002 1.86.963.196-.008.384-.017.551-.011 2.589.088 5.174.077 7.757.062q26.6-.18 53.201-.343.808.046 1.602.19v8.699a15 15 0 0 0-.388.046c-.209.028-.381.05-.553.05q-18.015-.11-36.03-.231-12.557-.1-25.136-.18c-.692 0-1.421 0-2.065.21-.335.105-.658.656-.717 1.048-.029.201.508.665.828.711.974.118 1.955.172 2.935.159l58.856.262h2.4v8.887q-.744 0-1.463.003c-.939.003-1.852.007-2.763-.003q-4.7-.051-9.401-.106c-7.828-.09-15.655-.179-23.484-.242-1.609-.013-3.224.132-4.833.276l-.593.053c-.213.018-.413.189-.632.375-.108.092-.22.188-.34.271.683 1.078 1.632 1.049 2.511 1.022q.202-.007.399-.008 18.115.179 36.234.332h4.43c.024.267.051.506.076.726.048.425.088.782.088 1.139q.037 2.43.064 4.853.02 1.766.045 3.533c.029 2.336.19 2.449 2.515 2.466q19.269.131 38.539.293.793.047 1.575.182v28.764h-20.732c0-.235-.003-.439-.005-.625-.004-.324-.007-.591.005-.858q.054-1.251.119-2.504c.077-1.535.154-3.071.191-4.609.038-1.681-.369-2.048-2.082-2.157-.278-.013-.559-.013-.838-.013q-17.279-.234-34.56-.419-17.7-.168-35.398-.342-2.504-.025-5.006-.054c-3.009-.035-6.018-.069-9.028-.088-2-.019-2.289.283-2.379 2.287-.062 1.334-.111 2.668-.161 4.001q-.041 1.145-.087 2.288c-.022.553-.05 1.105-.078 1.648q-.026.477-.047.941" />
<path fill="#262626" d="M267.221 36.254c.112.087.224.175.326.268a5 5 0 0 1 .295-.396c.237-.296.473-.592.479-.9.073-1.449-.487-2.738-1.489-3.786-.353-.373-.743-.716-1.162-1.084q-.3-.26-.618-.55.106-.279.223-.567c.169-.42.343-.852.469-1.298a4.763 4.763 0 0 0-3.564-5.92c-2.222-.457-4.736 1.335-4.822 3.786-.032.923.263 1.859.594 2.905.158.502.325 1.03.467 1.594-1.172.77-2.004 2.115-2.371 3.731-.14.538-.158 1.1-.052 1.646.071.298.536.618.876.692.214.046.593-.277.767-.556.117-.186.152-.42.188-.656.018-.117.036-.234.064-.346.467-1.874 1.815-3.155 3.539-3.364 1.908-.233 3.578.643 4.476 2.408.132.262.222.547.312.831.1.318.199.635.358.918.145.254.395.45.645.644m-7.837-9.716c.018-1.398 1.035-2.5 2.293-2.46h-.002c1.262.03 2.256 1.138 2.256 2.517s-.988 2.42-2.306 2.44c-1.227.02-2.262-1.132-2.241-2.497M291.461 29.409c-.025 1.874.002 3.76.067 5.647.063 1.77.371 2.067 2.122 2.078h20.706v.367q10.147-.02 20.294 0c2.117.002 2.358-.18 2.457-2.388.067-1.53.079-3.067.067-4.602-.017-2.069-.528-2.637-2.562-2.698a279 279 0 0 0-6.235-.09q-1.275-.008-2.551-.021l-30.331-.333q-.315 0-.629-.004c-.42-.003-.839-.006-1.258.004-1.782.044-2.124.333-2.147 2.04m43.625 6.381-41.394-.602.002-5.769c5.499.094 10.974.126 16.429.157 8.363.048 16.68.095 24.963.37z" />
<path fill="#262626" d="M345.149 177.237c.838-.826.702-1.594.023-2.39-.629-.743-1.302-1.457-1.921-2.214-.419-.524-.662-1.155-.065-1.677.598-.522 1.177-.172 1.64.318.813.86 1.608 1.736 2.694 2.91.725-.65 1.344-1.172 1.924-1.734.652-.629 1.214-1.369 1.929-1.912.283-.209 1.023-.209 1.277.015.253.224.239.887.1 1.268-.157.432-.582.768-.899 1.139-.839.987-1.69 1.97-2.583 3.008.629.734 1.124 1.315 1.623 1.887.457.528.937 1.048 1.381 1.574.445.527.713 1.107.097 1.657-.617.549-1.185.123-1.65-.306-.512-.474-.939-1.036-1.445-1.514-.505-.478-1.102-.943-1.616-1.377-1.048 1.006-1.912 1.809-2.725 2.656-.539.555-1.084 1.369-1.887.721s-.185-1.359.344-1.958c.599-.682 1.13-1.432 1.759-2.071M359.417 23.849c3.338.019 6.675.098 10.011.184a3.1 3.1 0 0 1 1.388.313c.71.396.618 1.318-.139 1.633a2.45 2.45 0 0 1-1.017.155c-3.75-.153-7.503-.302-11.249-.522-.507-.03-.994-.442-1.489-.677l.145-.724c.784-.127 1.568-.366 2.35-.362M358.776 33.78c1.327-.013 2.654-.049 3.983 0 2.442.07 4.885.18 7.325.293.7.032 1.335.371 1.17 1.122-.084.373-.759.629-1.187.905-.098.065-.272.026-.419.02-3.698-.14-7.396-.257-11.09-.445-.55-.027-1.082-.38-1.621-.581.285-1.266 1.061-1.306 1.839-1.314M370.797 30.857c-.332.19-.801.21-1.206.189-3.602-.155-7.205-.312-10.805-.526-.616-.038-1.218-.355-1.822-.541.325-1.321 1.199-1.214 1.914-1.21 3.604.023 7.21.097 10.816.164.344 0 .74 0 1.014.155.317.184.715.547.728.838.013.292-.333.755-.639.931M374.482 202.027c.377.115.698.446 1.021.711q10.29 8.425 20.575 16.855c3.182 2.604 6.373 5.199 9.693 7.91.439-.466.692-.7.906-.965q6.512-8.064 13.019-16.142c.44-.543.822-1.172 1.367-1.575.365-.268 1.048-.419 1.451-.247.647.268.49.923.167 1.434q-.403.613-.874 1.174a1737 1737 0 0 1-5.126 6.361c-3.075 3.796-6.142 7.603-9.247 11.379-1.12 1.361-1.585 1.388-2.956.292-1.417-1.135-2.788-2.325-4.182-3.487a89720 89720 0 0 1-25.904-21.593c-.321-.266-.711-.514-.895-.864-.166-.312-.248-.859-.078-1.105.143-.201.734-.239 1.063-.138" />
<path fill="#262626" d="M425.952 141.597c4.3-4.568 8.601-9.137 12.216-14.293a16.9 16.9 0 0 0 2.207-4.709c1.954-6.384-1.987-11.56-8.836-11.514-2.13-.023-4.191.814-6.155 1.917a20 20 0 0 0-2.782 1.874c-.732.587-1.321.553-2.063.059a80 80 0 0 0-4.256-2.667 10.25 10.25 0 0 0-6.052-1.306c-5.877.455-9.619 5.413-8.751 11.474a13.4 13.4 0 0 0 2.484 6.142c1.87 2.52 3.776 5.025 5.839 7.388 2.337 2.675 4.753 5.278 7.169 7.881q1.077 1.16 2.152 2.322c1.035 1.122 1.465 1.218 2.392.199 1.459-1.605 2.948-3.186 4.436-4.767m-1.201-25.899c1.849-1.296 3.817-2.308 6.079-2.65l.004-.008c4.097-.621 9.464 2.264 7.891 8.574-.723 2.935-2.237 5.402-4.193 7.614-3.436 3.885-6.908 7.74-10.378 11.593l-3.022 3.357c-.136.156-.311.292-.564.487-.136.106-.296.229-.484.383q-.212-.26-.418-.517c-.351-.436-.693-.861-1.05-1.273a854 854 0 0 0-3.329-3.838c-2.047-2.35-4.095-4.701-6.094-7.091a61 61 0 0 1-4.214-5.713 10.28 10.28 0 0 1-1.654-6.778c.438-4.411 3.692-7.228 8.107-6.949a9.94 9.94 0 0 1 4.922 1.582c.698.46 1.372.942 2.051 1.427q.68.487 1.375.97c1.161.8 2.316.872 3.467-.038.491-.388.992-.769 1.504-1.132" />
</svg>
</div>
<div class="jf-main">
<p class="jf-text-sm">
Sponsored by
</p>
<a href="https://jolicode.com/" target="_blank" rel="noreferrer noopener">
<svg width="173" height="40" viewBox="0 0 173 40" focusable="false" role="img" aria-labelledby="jf-svg-logo" xmlns="http://www.w3.org/2000/svg">
<title id="jf-svg-logo">JoliCode</title>
<path fill="#fff" d="M34.029 9.329v-.034l-.004.001a1.606 1.606 0 0 0-3.202.26h-.001v22.623q0 1.76-1.263 3.02t-2.947 1.26q-1.943 0-3.207-1.26-1.242-1.22-1.282-3.08v-9.415h-.006l.001-.03a1.603 1.603 0 0 0-1.67-1.528 1.6 1.6 0 0 0-1.53 1.565h-.003v9.468q0 3.08 2.205 5.32 2.166 2.201 5.372 2.2 3.127.001 5.332-2.2t2.205-5.32V9.545a2 2 0 0 0 0-.211zM66.07 5.987q.82 0 1.397-.59.577-.591.577-1.41 0-.832-.577-1.407a1.9 1.9 0 0 0-1.396-.591q-.82 0-1.397.59a1.94 1.94 0 0 0-.576 1.409q-.001.833.576 1.417.577.582 1.397.582M32.385 1.989a1.88 1.88 0 0 0-1.397.59 1.94 1.94 0 0 0-.576 1.409q0 .833.576 1.417.577.582 1.397.582t1.397-.59.577-1.41a1.9 1.9 0 0 0-.577-1.407 1.9 1.9 0 0 0-1.397-.591" />
<path fill="#fff" d="M37.872 11.496q2.204-2.2 5.331-2.2 3.126 0 5.352 2.2 2.225 2.2 2.225 5.32v7.362q0 3.12-2.225 5.322-2.226 2.2-5.352 2.2-3.128 0-5.331-2.2-2.206-2.202-2.206-5.322v-7.361q0-3.12 2.206-5.32m8.417 15.702q1.244-1.22 1.284-3.08v-7.241q-.04-1.86-1.284-3.081-1.283-1.26-3.207-1.26-1.683 0-2.946 1.26-1.244 1.24-1.263 2.96v7.362q0 1.84 1.343 3.08 1.364 1.26 3.107 1.26 1.684 0 2.966-1.26M136.821 11.496q2.224 2.08 2.224 5.321v1.88L127.14 23.98q0 1.9 1.263 3.19t3.186 1.29q1.684 0 2.968-1.26 1.241-1.22 1.282-3.08v-.985a1.5 1.5 0 0 1 0-.385v-.052l.006.002a1.61 1.61 0 0 1 3.2.226v1.253q0 2.8-2.403 5.36-2.047 2.161-5.173 2.162t-5.332-2.2q-2.204-2.201-2.204-5.322v-7.36q0-3.122 2.204-5.322 2.206-2.2 5.332-2.201 3.007 0 5.352 2.201m-9.681 5.321v3.66l8.679-3.85q-.102-1.685-1.262-2.828-1.283-1.262-3.209-1.262-1.683 0-2.945 1.259-1.263 1.26-1.263 3.021M119.462 1.86a1.608 1.608 0 1 1 3.196.3v22.018q0 3.12-2.225 5.322-2.225 2.2-5.352 2.2t-5.332-2.2q-2.204-2.202-2.204-5.322v-7.361q0-3.12 2.204-5.32 2.206-2.202 5.332-2.202 2.465 0 4.37 1.361V1.861zm-1.294 25.338q1.24-1.22 1.283-3.08v-7.241q-.042-1.86-1.283-3.081-1.284-1.26-3.207-1.26-1.684 0-2.947 1.26-1.242 1.24-1.264 2.96v7.362q0 1.84 1.344 3.08 1.364 1.26 3.108 1.26 1.682 0 2.966-1.26M93.298 11.496q2.204-2.2 5.331-2.2 3.126 0 5.353 2.2 2.224 2.2 2.224 5.32v7.362q0 3.12-2.224 5.322-2.226 2.2-5.353 2.2t-5.331-2.2a8 8 0 0 1-.963-1.155q-.313.382-.676.744-2.646 2.61-6.394 2.61-3.768 0-6.394-2.6a10 10 0 0 1-.673-.74q-.41.598-.952 1.14-2.205 2.201-5.332 2.2-3.128 0-5.352-2.2a9 9 0 0 1-.621-.695 8 8 0 0 1-.615.696q-2.205 2.2-5.332 2.2t-5.352-2.2q-2.225-2.202-2.226-5.322V1.608h.002v-.005c0-.886.718-1.603 1.606-1.603a1.604 1.604 0 0 1 1.6 1.703v22.415q.04 1.86 1.283 3.08 1.283 1.26 3.207 1.26 1.683 0 2.947-1.36 1.263-1.36 1.263-3.12l.013-.006V9.429h.004l-.001-.018a1.6 1.6 0 0 1 1.53-1.662 1.6 1.6 0 0 1 1.665 1.547h.009v14.822q.04 1.86 1.283 3.08 1.283 1.26 3.207 1.26 1.685 0 2.946-1.36c.827-.89 1.247-1.793 1.262-3.92l-.008-.144q-.009-.116-.01-.236V10.375q0-3.68 2.647-6.29 2.645-2.61 6.394-2.61 3.787 0 6.394 2.62 1.224 1.221 1.878 2.66l-.003.001c.328.722.061 1.59-.64 1.996a1.57 1.57 0 0 1-2.143-.567c-.41-.726-.91-1.488-1.377-1.95q-1.724-1.7-4.11-1.7-2.424 0-4.129 1.69-1.703 1.69-1.703 4.091V22.58l.018-.002v.693c.092 1.41.65 2.634 1.685 3.667q1.704 1.7 4.13 1.7 2.385 0 4.11-1.7 1.683-1.644 1.719-3.978v-6.143q0-3.12 2.204-5.32m8.418 15.702q1.243-1.22 1.283-3.08v-7.241q-.04-1.86-1.283-3.081-1.283-1.26-3.207-1.26-1.684 0-2.947 1.26-1.243 1.24-1.263 2.96v4.384l.006-.003v1.66q0 .034-.003.067l-.004.046v1.208q0 1.84 1.344 3.08 1.364 1.26 3.108 1.26 1.683 0 2.966-1.26" />
<path fill="#f7d325" d="M160.223 32.34c-.377 0-.754-.138-1.042-.416a1.394 1.394 0 0 1 0-2.017l9.76-9.44-9.76-9.443a1.394 1.394 0 0 1 0-2.016 1.51 1.51 0 0 1 2.085 0l10.802 10.45a1.4 1.4 0 0 1 .432 1.008c0 .378-.155.741-.432 1.008l-10.802 10.45a1.5 1.5 0 0 1-1.043.416M12.276 32.34c-.377 0-.753-.139-1.042-.417L.432 21.473A1.4 1.4 0 0 1 0 20.467c0-.378.155-.74.432-1.008l10.802-10.45a1.51 1.51 0 0 1 2.084 0c.576.557.576 1.46 0 2.016l-9.76 9.442 9.76 9.44c.576.557.576 1.46 0 2.017a1.5 1.5 0 0 1-1.042.418M142.767 36.09q-.29.002-.577-.112a1.465 1.465 0 0 1-.825-1.93l11.964-28.292c.319-.755 1.206-1.115 1.982-.804a1.466 1.466 0 0 1 .824 1.93l-11.964 28.291a1.52 1.52 0 0 1-1.404.917" />
</svg>
</a>
<p>
JoliCode is a French software agency who loves open source
</p>
<p class="jf-text-sm">
Found a typo? Something is wrong in this documentation? Just <a href="https://www.github.com/jolicode/composer-cheatsheet/blob/gh-pages/index.html" class="jf-link">fork and edit it</a>! UI powered by <a href="https://www.npmjs.com/package/json-schema-explorer" class="jf-link">json-schema-explorer</a>.
</p>
</div>
<div class="jf-contact">
<p class="jf-ribbon">
<a href="https://github.com/jolicode/composer-cheatsheet" target="_blank" rel="noreferrer noopener" class="jf-ribbon__link">
Contribute
</a>
<span class="jf-ribbon__inner">
<svg width="48" height="48" viewBox="0 0 640 640" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M237.9 461.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M316.8 72C178.1 72 72 177.3 72 316c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C500.2 521.8 568 426.9 568 316c0-138.7-112.5-244-251.2-244M169.2 416.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2" />
</svg>
</span>
</p>
<ul class="jf-social-media-icons">
<li>
<a href="https://bsky.app/profile/jolicode.com" target="_blank" rel="noreferrer noopener" class="jf-social-media-icon">
<svg width="20" height="20" viewBox="0 0 640 640" focusable="false" role="img" aria-labelledby="jf-svg-bluesky" xmlns="http://www.w3.org/2000/svg">
<title id="jf-svg-bluesky">Bluesky</title>
<path fill="currentColor" d="M439.8 358.7c-3.3-.4-6.7-.8-10-1.3 3.4.4 6.7.9 10 1.3M320 291.1c-26.1-50.7-97.1-145.2-163.1-191.8-63.3-44.7-87.4-37-103.3-29.8C35.3 77.8 32 105.9 32 122.4S41.1 258 47 277.9c19.5 65.7 89.1 87.9 153.2 80.7 3.3-.5 6.6-.9 10-1.4-3.3.5-6.6 1-10 1.4-93.9 14-177.3 48.2-67.9 169.9C252.6 653.1 297.1 501.8 320 425.1c22.9 76.7 49.2 222.5 185.6 103.4 102.4-103.4 28.1-156-65.8-169.9-3.3-.4-6.7-.8-10-1.3 3.4.4 6.7.9 10 1.3 64.1 7.1 133.6-15.1 153.2-80.7 5.9-19.9 15-138.9 15-155.5s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8-66.1 46.6-137.1 141.1-163.2 191.8" />
</svg>
</a>
</li>
<li>
<a href="https://www.linkedin.com/company/jolicode" target="_blank" rel="noreferrer noopener" class="jf-social-media-icon">
<svg width="20" height="20" viewBox="0 0 640 640" focusable="false" role="img" aria-labelledby="jf-svg-linkedin" xmlns="http://www.w3.org/2000/svg">
<title id="jf-svg-linkedin">LinkedIn</title>
<path fill="currentColor" d="M196.3 512h-92.9V212.9h92.9zm-46.5-339.9c-29.7 0-53.8-24.6-53.8-54.3 0-14.3 5.7-27.9 15.8-38s23.8-15.8 38-15.8 27.9 5.7 38 15.8 15.8 23.8 15.8 38c0 29.7-24.1 54.3-53.8 54.3M543.9 512h-92.7V366.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V512h-92.8V212.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V512z" />
</svg>
</a>
</li>
<li>
<a href="https://twitter.com/JoliCode" target="_blank" rel="noreferrer noopener" class="jf-social-media-icon">
<svg width="20" height="20" viewBox="0 0 640 640" focusable="false" role="img" aria-labelledby="jf-svg-x" xmlns="http://www.w3.org/2000/svg">
<title id="jf-svg-x">X</title>
<path fill="currentColor" d="M453.2 112h70.6L369.6 288.2 551 528H409L297.7 382.6 170.5 528H99.8l164.9-188.5L90.8 112h145.6l100.5 132.9zm-24.8 373.8h39.1L215.1 152h-42z" />
</svg>
</a>
</li>
</ul>
<p>
<a href="https://jolicode.com/contact" target="_blank" rel="noreferrer noopener" class="jf-link jf-link--icon jf-text-sm">
<svg width="20" height="20" viewBox="0 0 640 640" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M125.4 128C91.5 128 64 155.5 64 189.4c0 .9 0 1.7.1 2.6H64v256c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V192h-.1c0-.9.1-1.7.1-2.6 0-33.9-27.5-61.4-61.4-61.4zM528 256.3V448c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V256.3l154.8 117.4c31.4 23.9 74.9 23.9 106.4 0zm-416-66.9c0-7.4 6-13.4 13.4-13.4h389.2c7.4 0 13.4 6 13.4 13.4 0 4.2-2 8.2-5.3 10.7L344.2 335.5c-14.3 10.8-34.1 10.8-48.4 0L117.3 200.1c-3.3-2.5-5.3-6.5-5.3-10.7" />
</svg>
coucou@jolicode.com
</a>
<a href="https://jolicode.com/goodies" target="_blank" rel="noreferrer noopener" class="jf-goodies">
<span class="jf-sr-only">Goodies</span>
</a>
</p>
</div>
</footer>
</div>
<script src="cli-hints.js?v2"></script>
<script src="schema-explorer.js?v1"></script>
<script>
(function () {
// ---------------------------------------------------------------
// CLI commands: hover / focus shows the curated documentation
// ---------------------------------------------------------------
var cliDocs = document.getElementById('cli-docs');
var cliPlaceholder = '<p class="docs-placeholder">Hover over a command to see its documentation.</p>';
var hints = window.cliHints || {};
function showCliDoc(pair) {
var keyEl = pair.querySelector('.key');
if (!keyEl) return;
var title = keyEl.getAttribute('data-title');
var key = keyEl.getAttribute('data-key');
var keyText = keyEl.textContent.replace(/"/g, '');
if (!title) title = keyText;
if (!key) key = (keyEl.getAttribute('data-prefix') || '') + keyText;
var html = hints[key] ? hints[key] : cliPlaceholder;
cliDocs.innerHTML = '<p class="docs-title">' + title + '</p><div class="docs-content">' + html + '</div>';
}
Array.prototype.forEach.call(document.querySelectorAll('.pair'), function (pair) {
pair.setAttribute('tabindex', '0');
pair.addEventListener('mouseenter', function () { showCliDoc(pair); });
pair.addEventListener('focus', function () { showCliDoc(pair); });
pair.addEventListener('click', function () { showCliDoc(pair); });
});
// ---------------------------------------------------------------
// composer.json example documented by the schema explorer
// ---------------------------------------------------------------
var example = {
"name": "vendor-name/project-name",
"description": "This is a very cool package!",
"version": "0.3.0",
"type": "library",
"keywords": [
"logging",
"cool",
"awesome"
],
"homepage": "https://jolicode.com",
"readme": "README.md",
"time": "2012-12-21",
"license": "MIT",
"authors": [
{
"name": "Xavier Lacot",
"email": "xlacot@jolicode.com",
"homepage": "http://www.lacot.org",
"role": "Developer"
},
{
"name": "Benjamin Clay",
"email": "bclay@jolicode.com",
"homepage": "https://github.com/ternel",
"role": "Developer"
}
],
"support": {
"email": "support@exemple.org",
"issues": "https://github.com/janephp/janephp/issues",
"forum": "http://www.my-forum.com/",
"wiki": "http://www.my-wiki.com/",
"irc": "irc://irc.freenode.org/composer",
"source": "https://github.com/jolicode/jane",
"docs": "https://github.com/jolicode/jane/wiki",
"chat": "https://symfony-devs.slack.com/",
"rss": "https://jolicode.com/blog/feed",
"security": "https://github.com/janephp/janephp/security/policy"
},
"funding": [
{
"type": "patreon",
"url": "https://www.patreon.com/phpdoctrine"
},
{
"type": "other",
"url": "https://www.doctrine-project.org/sponsorship.html"
}
],
"require": {
"monolog/monolog": "1.0.*",
"joli/ternel": "@dev",
"joli/ternel-bundle": "@stable",
"joli/semver": "^2.0",
"joli/package": ">=1.0 <1.1",
"acme/foo": "dev-master#2eb0c097"
},
"require-dev": {
"debug/dev-only": "1.0.*"
},
"conflict": {
"another-vendor/conflict": "1.0.*"
},
"replace": {
"debug/dev-only": "1.0.*"
},
"provide": {
"debug/dev-only": "1.0.*"
},
"suggest": {
"jolicode/gif-exception-bundle": "For fun!"
},
"autoload": {
"psr-4": {
"Monolog\\": "src/",
"Vendor\\Namespace\\": ""
},
"psr-0": {
"Monolog": "src/",
"Vendor\\Namespace": [
"src/",
"lib/"
],
"Pear_Style": "src/",
"": "src/"
},
"classmap": [
"src/",
"lib/",
"Something.php"
],
"files": [
"src/MyLibrary/functions.php"
],
"exclude-from-classmap": [
"/Tests/",
"/test/"
]
},
"autoload-dev": {
"psr-0": {
"MyPackage\\Tests": "test/"
}
},
"target-dir": "Symfony/Component/Yaml",
"minimum-stability": "stable",
"repositories": [
{
"type": "composer",
"url": "http://packages.example.com"
},
{
"type": "vcs",
"url": "https://github.com/Seldaek/monolog"
},
{
"type": "package",
"package": {
"name": "smarty/smarty",
"version": "3.1.7",
"dist": {
"url": "http://www.smarty.net/Smarty-3.1.7.zip",
"type": "zip"
},
"source": {
"url": "http://smarty-php.googlecode.com/svn/",
"type": "svn",
"reference": "tags/Smarty_3_1_7/distribution/"
}
}
},
{
"type": "artifact",
"url": "path/to/directory/with/zips/"
},
{
"type": "path",
"url": "../../packages/my-package"
},
{
"packagist.org": false
}
],
"config": {
"process-timeout": 300,
"allow-plugins": {
"my-organization/*": true,
"unnecessary/plugin": false
},
"use-include-path": false,
"preferred-install": "auto",
"store-auths": "prompt",
"github-protocols": [
"git",
"https",
"http"
],
"github-oauth": {
"github.com": "oauthtoken"
},
"gitlab-oauth": {
"gitlab.com": "oauthtoken"
},
"github-domains": [
"enterprise-github.me.com"
],
"gitlab-domains": [
"enterprise-gitlab.me.com"
],
"github-expose-hostname": true,
"disable-tls": false,
"cafile": "/var/certif.ca",
"capath": "/var/",
"http-basic": {
"me.io": {
"username": "foo",
"password": "bar"
}
},
"platform": {
"php": "5.4",
"ext-something": "4.0"
},
"vendor-dir": "vendor",
"bin-dir": "bin",
"data-dir": "/home/ternel/here",
"cache-dir": "$home/cache",
"cache-files-dir": "$cache-dir/files",
"cache-repo-dir": "$cache-dir/repo",
"cache-vcs-dir": "$cache-dir/vcs",
"cache-files-ttl": 15552000,
"cache-files-maxsize": "300MiB",
"bin-compat": "auto",
"prepend-autoloader": true,
"autoloader-suffix": "pony",
"optimize-autoloader": false,
"sort-packages": false,
"classmap-authoritative": false,
"notify-on-install": true,
"discard-changes": false,
"archive-format": "tar",
"archive-dir": "."
},
"archive": {
"name": "my-archive",
"exclude": [
"/foo/bar",
"baz",
"/*.test",
"!/foo/bar/baz"
]
},
"prefer-stable": true,
"scripts": {
"pre-install-cmd": "MyVendor\\MyClass::doSomething",
"post-install-cmd": [
"MyVendor\\MyClass::warmCache",
"phpunit -c app/"
],
"pre-update-cmd": "MyVendor\\MyClass::doSomething",
"post-update-cmd": "MyVendor\\MyClass::doSomething",
"pre-status-cmd": "MyVendor\\MyClass::doSomething",
"post-status-cmd": "MyVendor\\MyClass::doSomething",
"pre-package-install": "MyVendor\\MyClass::doSomething",
"post-package-install": [
"MyVendor\\MyClass::postPackageInstall"
],
"pre-package-update": "MyVendor\\MyClass::doSomething",
"post-package-update": "MyVendor\\MyClass::doSomething",
"pre-package-uninstall": "MyVendor\\MyClass::doSomething",
"post-package-uninstall": "MyVendor\\MyClass::doSomething",
"pre-autoload-dump": "MyVendor\\MyClass::doSomething",
"post-autoload-dump": "MyVendor\\MyClass::doSomething",
"post-root-package-install": "MyVendor\\MyClass::doStuff",
"post-create-project-cmd": "MyVendor\\MyClass::doThis",
"pre-archive-cmd": "MyVendor\\MyClass::doSomething",
"post-archive-cmd": "MyVendor\\MyClass::doSomething"
},
"scripts-descriptions": {
"test": "Run all tests!"
},
"scripts-aliases": {
"test": [
"tests"
]
},
"extra": {
"key": "value"
},
"_comment": [
"Remove foo/baz when removing foo/bar"
],
"bin": [
"./bin/toto"
]
};
function startExplorer(schema) {
var explorer = new SchemaExplorer(schema, {
schemaPanel: '#panel-schema',
documentationPanel: '#panel-documentation',
formats: ['json'],
example: example
});
// Deep-linking: open a property directly via the URL hash
// (e.g. index.html#repositories or index.html#config/process-timeout)
if (location.hash.length > 1) {
var path = decodeURIComponent(location.hash.slice(1)).split('/').map(function (segment) {
return /^\d+$/.test(segment) ? parseInt(segment, 10) : segment;
});
explorer.setPropertyPath(path);
}
// Keep the URL hash in sync when a property is clicked
explorer.on('propertyClick', function (instance) {
var path = instance.getPropertyPath();
if (path) {
history.replaceState(null, '', '#' + path.join('/'));
}
});
}
fetch('composer-schema.json')
.then(function (response) {
if (!response.ok) throw new Error('HTTP ' + response.status);
return response.json();
})
.then(startExplorer)
.catch(function (error) {
document.getElementById('panel-documentation').innerHTML =
'<p class="docs-placeholder">Could not load composer-schema.json: ' + error.message + '</p>';
});
})();
</script>
</body>
</html>